Aprovisionamiento de claves de Always Encrypted mediante SQL Server Management Studio

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

En este artículo se indican los pasos para aprovisionar claves maestras de columna y claves de cifrado de columna para Always Encrypted mediante SQL Server Management Studio (SSMS). Asegúrese de instalar la versión de disponibilidad general (GA) más reciente de SSMS al aprovisionar claves de cifrado.

Para obtener información general sobre la administración de claves de Always Encrypted, incluidos algunos procedimientos recomendados y consideraciones de seguridad importantes, vea Información general de administración de claves de Always Encrypted.

Aprovisionamiento de claves maestras de columna con el cuadro de diálogo Nueva clave maestra de columna

El cuadro de diálogo Nueva clave maestra de columna permite generar una clave maestra de columna o elegir una clave existente en un almacén de claves y crear metadatos de clave maestra de columna para la clave creada o seleccionada en la base de datos.

  1. En el Explorador de objetos, vaya al nodo Seguridad -> claves de Always Encrypted de la base de datos.

  2. Haga clic con el botón derecho en el nodo Claves maestras de columna y seleccione Nueva clave maestra de columna....

  3. En el cuadro de diálogo Nueva clave maestra de columna , escriba el nombre del objeto de metadatos de la clave maestra de columna.

  4. Seleccione un almacén de claves:

    • Almacén de certificados: usuario actual: indica la ubicación del almacén de certificados del usuario actual en el Almacén de certificados de Windows, que es el almacén personal.

    • Almacén de certificados: equipo local: indica la ubicación del almacén de certificados del equipo local en el Almacén de certificados de Windows.

    • Azure Key Vault: debe iniciar sesión en Azure (haga clic en Iniciar sesión). Una vez que inicie sesión, podrá seleccionar una de las suscripciones de Azure y un almacén de claves o un HSM administrado (requiere SSMS 18.9 o versiones posteriores).

      Nota:

      El uso de claves maestras de columna almacenadas en un HSM administrado en Azure Key Vault requiere SSMS 18.9 o versiones posteriores.

    • Proveedor de almacén de claves (KSP): indica un almacén de claves accesible a través de un proveedor de almacén de claves (KSP) que implementa la API Cryptography Next Generation (CNG). Normalmente, este tipo de almacén es un módulo de seguridad de hardware (HSM). Después de seleccionar esta opción, debe elegir un KSP. De forma predeterminada está seleccionado elproveedor de almacén de claves de software de Microsoft . Si quiere usar una clave maestra de columna almacenada en un HSM, seleccione un KSP para el dispositivo (debe estar instalado y configurado en el equipo antes de que abra el cuadro de diálogo).

    • Proveedor de servicios de cifrado (CAPI): almacén de claves accesible mediante un proveedor de servicios de cifrado (CSP) que implementa Cryptography API (CAPI). Normalmente, este almacén es un módulo de seguridad de hardware (HSM). Después de seleccionar esta opción, debe elegir un CSP. Si quiere usar una clave maestra de columna almacenada en un HSM, seleccione un CSP para el dispositivo (debe estar instalado y configurado en el equipo antes de que abra el cuadro de diálogo).

    Nota:

    Dado que CAPI es una API en desuso, la opción Proveedor de servicios criptográficos (CAPI) está deshabilitada de forma predeterminada. Puede habilitarla creando el valor DWORD CAPI Provider Enabled en la clave [HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\sql13\Tools\Client\Always Encrypted] del Registro de Windows y estableciéndolo en 1. Debe usar CNG en lugar de CAPI, a menos que el almacén de claves no admita CNG.

    Para obtener más información sobre los anteriores almacenes de claves, vea Creación y almacenamiento de claves maestras de columna (Always Encrypted).

  5. Si usa SQL Server 2019 (15.x) y su instancia de SQL Server está configurada con un enclave seguro, puede activar la casilla Permitir cálculos de enclave para que la clave maestra esté habilitada para el enclave. Para obtener más información, vea Always Encrypted con enclaves seguros.

    Nota:

    La casilla Permitir cálculos de enclave no aparece si la instancia de SQL Server no se ha configurado correctamente con un enclave seguro.

  6. Elija una clave existente en el almacén de claves, o bien haga clic en el botón Generar clave o Generar certificado para crear una clave en el almacén de claves.

  7. Haga clic en Aceptar y la nueva clave aparecerá en la lista.

Una vez que haya completado el cuadro de diálogo, SQL Server Management Studio creará los metadatos para la clave maestra de columna en la base de datos. El cuadro de diálogo genera y emite una instrucción CREATE COLUMN MASTER KEY (Transact-SQL).

Si está configurando una clave maestra de columna habilitada para el enclave, SSMS también firma los metadatos mediante la clave maestra de columna.

Permisos para el aprovisionamiento de una clave maestra de columna

Necesita tener el permiso ALTER ANY COLUMN MASTER KEY en la base de datos para que el cuadro de diálogo cree la clave maestra de columna. Además, necesitará permisos de almacén de claves para poder acceder a la clave maestra de columna de clave y usarla. Para obtener información detallada sobre los permisos de almacén de claves necesarios para las operaciones de administración de claves, consulte Creación y almacenamiento de claves maestras de columna para Always Encrypted y revise la sección correspondiente a su almacén de claves.

Aprovisionamiento de claves de cifrado de columna con el cuadro de diálogo Nueva clave de cifrado de columnas

El cuadro de diálogo Nueva clave de cifrado de columnas permite generar una clave de cifrado de columnas, cifrarla con una clave maestra de columna y crear los metadatos de clave de cifrado de columnas en la base de datos.

  1. En el Explorador de objetos, vaya a la carpeta Security > Always Encrypted Keys de la base de datos.
  2. Haga clic con el botón derecho en la carpeta Claves de cifrado de columna y seleccione Nueva clave de cifrado de columnas....
  3. En el cuadro de diálogo Nueva clave de cifrado de columnas , escriba el nombre del objeto de metadatos de la clave de cifrado de columnas.
  4. Seleccione un objeto de metadatos que represente la clave maestra de columna de la base de datos.
  5. Haga clic en OK.

Una vez completado el cuadro de diálogo, SQL Server Management Studio (SSMS) genera una nueva clave de cifrado de columna. A continuación, SSMS recupera los metadatos de la clave maestra de columna seleccionada en la base de datos. Después, SSMS usará los metadatos de la clave maestra de columna para ponerse en contacto con el almacén de claves que contiene la clave maestra de columna y cifrar la clave de cifrado de columna. Por último, SSMS crea los datos de metadatos para el nuevo cifrado de columnas en la base de datos. Para ello, genera y emite una instrucción CREATE COLUMN ENCRYPTION KEY (Transact-SQL).

Nota:

El uso de claves maestras de columna almacenadas en un HSM administrado en Azure Key Vault requiere SSMS 18.9 o versiones posteriores.

Permisos para el aprovisionamiento de una clave de cifrado de columna

Necesita tener los permisos de base de datos ALTER ANY COLUMN ENCRYPTION KEY y VIEW ANY COLUMN MASTER KEY DEFINITION en la base de datos para que el cuadro de diálogo cree los metadatos de la clave de cifrado de columnas y tenga acceso a los metadatos de la clave maestra de columna. Además, necesitará permisos de almacén de claves para poder acceder a la clave maestra de columna y usarla. Para obtener información detallada sobre los permisos de almacén de claves necesarios para las operaciones de administración de claves, vaya a Creación y almacenamiento de claves maestras de columna para Always Encrypted y busque la sección correspondiente a su almacén de claves.

Aprovisionamiento de claves de Always Encrypted con el Asistente para Always Encrypted

El Asistente para Always Encrypted es una herramienta para cifrar, descifrar y volver a cifrar las columnas seleccionadas de una base de datos. Aunque puede usar claves ya configuradas, también permite generar una nueva clave maestra de columna y un nuevo cifrado de columna.

Pasos siguientes

Consulte también