Para obtener instrucciones sobre la instalación del módulo Azure PowerShell, consulte Instalación de Azure PowerShell.
Para obtener información específica sobre Key Vault, consulte las instrucciones de PowerShell de Key Vault y Uso de la eliminación temporal de Key Vault con PowerShell.
Asignación de una identidad de Microsoft Entra al servidor
Si ya tiene un servidor, use lo siguiente para agregar una identidad de Microsoft Entra al servidor:
$server = Set-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -AssignIdentity
Si va a crear un servidor, utilice el cmdlet New-AzSqlServer con la etiqueta -Identity para agregar una identidad de Microsoft Entra durante la creación del servidor:
$server = New-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -Location <RegionName> `
-ServerName <LogicalServerName> -ServerVersion "12.0" -SqlAdministratorCredentials <PSCredential> -AssignIdentity
Conceder permisos de Key Vault al servidor
Utilice el cmdlet Set-AzKeyVaultAccessPolicy para conceder al servidor acceso al almacén de claves antes de usar una clave para TDE.
Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> `
-ObjectId $server.Identity.PrincipalId -PermissionsToKeys get, wrapKey, unwrapKey
Para agregar permisos al servidor en un HSM administrado, agregue el rol de RBAC local "Usuario de cifrado del servicio de criptografía de HSM administrado" al servidor. Esto permitirá que el servidor realice operaciones para obtener la clave, ajustarla y desajustarla en las claves del HSM administrado. Para obtener más información, consulte Administración de roles HSM administrados
Agregar la clave de Key Vault al servidor y establecer el protector de TDE
Nota
Para las claves de HSM administrado, use la versión de PowerShell de Az.Sql 2.11.1.
Nota
La longitud combinada para el nombre del almacén de claves y el nombre de la clave no puede superar los 94 caracteres.
Sugerencia
KeyId de ejemplo desde Key Vault: https://contosokeyvault.vault.azure.net/keys/Key1/<key-id>
KeyId de ejemplo desde HSM administrado:
https://contosoMHSM.managedhsm.azure.net/keys/myrsakey
Add-AzSqlServerKeyVaultKey -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -KeyId <KeyVaultKeyId>
Set-AzSqlServerTransparentDataEncryptionProtector -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> `
-Type AzureKeyVault -KeyId <KeyVaultKeyId>
Get-AzSqlServerTransparentDataEncryptionProtector -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName>
Utilice el cmdlet Set-AzSqlDatabaseTransparentDataEncryption para activar el TDE.
Set-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> -State "Enabled"
Ahora, la base de datos o el almacén de datos tienen TDE habilitado con una clave de cifrado en Key Vault.
Comprobar el estado de cifrado y la actividad de cifrado
Use Get-AzSqlDatabaseTransparentDataEncryption para obtener el estado de cifrado de una base de datos o almacenamiento de datos.
Get-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> `
Para instalar la versión necesaria de la CLI de Azure (versión 2.0 o posterior) y conectarse a su suscripción de Azure, consulte Instalación y configuración de la interfaz de la línea de comandos de Azure 2.0 multiplataforma.
Para obtener información específica sobre el almacén de claves, consulte Administrar almacén de claves con la CLI de Azure 2.0 y Cómo usar la eliminación temporal del almacén de claves con la CLI.
Asignación de una identidad de Microsoft Entra al servidor
az sql server create --name <servername> --resource-group <rgname> --location <location> --admin-user <user> --admin-password <password> --assign-identity
az sql db create --name <dbname> --server <servername> --resource-group <rgname>
Sugerencia
Mantenga el valor de "principalID" de la creación del servidor; es el identificador de objeto usado para asignar permisos de almacén de claves en el siguiente paso
Conceder permisos de Key Vault al servidor
az keyvault create --name <kvname> --resource-group <rgname> --location <location> --enable-soft-delete true
az keyvault key create --name <keyname> --vault-name <kvname> --protection software
az keyvault set-policy --name <kvname> --object-id <objectid> --resource-group <rgname> --key-permissions wrapKey unwrapKey get
Sugerencia
Mantenga el URI de clave o el valor de keyID de la nueva clave para el próximo paso; por ejemplo: https://contosokeyvault.vault.azure.net/keys/Key1/<key-id>
.
Agregar la clave de Key Vault al servidor y establecer el protector de TDE
az sql server key create --server <servername> --resource-group <rgname> --kid <keyID>
az sql server tde-key set --server <servername> --server-key-type AzureKeyVault --resource-group <rgname> --kid <keyID>
Nota
La longitud combinada para el nombre del almacén de claves y el nombre de la clave no puede superar los 94 caracteres.
az sql db tde set --database <dbname> --server <servername> --resource-group <rgname> --status Enabled
Ahora, la base de datos o el almacén de datos tienen TDE habilitado con una clave de cifrado administrada por el cliente en Azure Key Vault.
Comprobación del estado de cifrado
az sql db tde show --database <dbname> --server <servername> --resource-group <rgname>