PowerShell a Azure CLI: Povolte transparentní šifrování dat klíčem spravovaným zákazníkem z Azure Key Vault
Platí pro:Azure SQL Database Azure SQL Managed InstanceAzure Synapse Analytics
Tento článek vás provede použitím klíče ze služby Azure Key Vault k transparentnímu šifrování dat (TDE) ve službě Azure SQL Database nebo Azure Synapse Analytics. Další informace o transparentním šifrování dat s integrací služby Azure Key Vault – podpora byok (Bring Your Own Key) najdete v transparentním šifrování dat s klíči spravovanými zákazníkem ve službě Azure Key Vault. Pokud hledáte pokyny k povolení transparentního šifrování dat pomocí klíče spravovaného zákazníkem ze služby Azure Key Vault, přečtěte si téma Vytvoření serveru nakonfigurovaného pomocí spravované identity přiřazené uživatelem a transparentního šifrování dat spravovaného zákazníkem.
Tento článek se týká služby Azure SQL Database, Azure SQL Managed Instance a vyhrazených fondů SQL služby Azure Synapse Analytics. Dokumentaci k transparentní šifrování dat vyhrazených fondů SQL v pracovních prostorech Synapse najdete v tématu Šifrování služby Azure Synapse Analytics.
Poznámka:
Azure SQL teď podporuje použití klíče RSA uloženého ve spravovaném hardwarovém bezpečnostním modulu (HSM) jako ochránce TDE. Spravovaný HSM služby Azure Key Vault je plně spravovaná, vysoce dostupná cloudová služba kompatibilní s jedním tenantem, která umožňuje chránit kryptografické klíče pro cloudové aplikace pomocí ověřených HSM úrovně 140–2 FIPS 3. Přečtěte si další informace o spravovaných HSM.
Poznámka:
ID Microsoft Entra se dříve označovalo jako Azure Active Directory (Azure AD).
Předpoklady pro PowerShell
- Musíte mít předplatné Azure a být správcem daného předplatného.
- [Doporučeno, ale volitelné] Máte modul hardwarového zabezpečení (HSM) nebo místní úložiště klíčů pro vytvoření místní kopie materiálu klíče pro ochranu transparentním šifrováním dat.
- Musíte mít nainstalovaný a spuštěný Azure PowerShell.
- Vytvořte službu Azure Key Vault a klíč, které se mají použít pro transparentní šifrování dat.
-
Pokyny pro použití modulu hardwarového zabezpečení (HSM) a služby Key Vault
- Trezor klíčů musí mít následující vlastnost, která se má použít pro transparentní šifrování dat:
- ochrana proti obnovitelnému odstranění a vyprázdnění
-
Pokyny pro použití modulu hardwarového zabezpečení (HSM) a služby Key Vault
- Klíč musí mít následující atributy, které se mají použít pro transparentní šifrování dat:
- Datum aktivace (pokud je nastavené) musí být datum a čas v minulosti.
- Datum vypršení platnosti (pokud je nastavené) musí být budoucí datum a čas.
- Klíč musí být ve stavu Povoleno.
- Schopnost provádět operace get, wrap key, unwrap key
- Pokud chcete použít spravovaný klíč HSM, postupujte podle pokynů k vytvoření a aktivaci spravovaného HSM pomocí Azure CLI.
Pokyny k instalaci modulu Az PowerShell najdete v tématu InstalaceAzure PowerShellu .
Konkrétní informace o službě Key Vault najdete v pokynech k PowerShellu ze služby Key Vault a použití obnovitelného odstranění služby Key Vault v PowerShellu.
Přiřazení identity Microsoft Entra k vašemu serveru
Pokud máte existující server, přidejte do serveru identitu Microsoft Entra pomocí následujícího příkazu:
$server = Set-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -AssignIdentity
Pokud vytváříte server, pomocí rutiny New-AzSqlServer se značkou -Identity přidejte identitu Microsoft Entra během vytváření serveru:
$server = New-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -Location <RegionName> `
-ServerName <LogicalServerName> -ServerVersion "12.0" -SqlAdministratorCredentials <PSCredential> -AssignIdentity
Udělení oprávnění služby Key Vault serveru
Pomocí rutiny Set-AzKeyVaultAccessPolicy udělte serveru přístup k trezoru klíčů před použitím klíče pro transparentní šifrování dat.
Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> `
-ObjectId $server.Identity.PrincipalId -PermissionsToKeys get, wrapKey, unwrapKey
Pokud chcete přidat oprávnění k vašemu serveru na spravovaném HSM, přidejte na server místní roli RBAC spravovaného uživatele šifrování kryptografických služeb HSM. To umožňuje serveru provádět operace get, wrap key, unwrap key na klíčích ve spravovaném HSM. Další informace najdete v tématu správa rolí spravovaného HSM
Přidání klíče služby Key Vault na server a nastavení ochrany transparentním šifrováním dat
- Použití rutiny Get-AzKeyVaultKey k načtení ID klíče z trezoru klíčů
- Pomocí rutiny Add-AzSqlServerKeyVaultKey přidejte klíč ze služby Key Vault na server.
- Pomocí rutiny Set-AzSqlServerTransparentDataEncryptionProtector nastavte klíč jako ochranu transparentním šifrováním dat pro všechny prostředky serveru.
- Pomocí rutiny Get-AzSqlServerTransparentDataEncryptionProtector ověřte, že byla ochrana transparentním šifrováním dat nakonfigurovaná tak, jak má.
Poznámka:
Pro spravované klíče HSM použijte Az.Sql 2.11.1 verzi PowerShellu.
Poznámka:
Celková délka názvu trezoru klíčů a názvu klíče nesmí překročit 94 znaků.
Tip
Příklad KeyId ze služby Key Vault: https://contosokeyvault.vault.azure.net/keys/Key1/<key-id>
Příklad Id klíče ze spravovaného HSM:
https://contosoMHSM.managedhsm.azure.net/keys/myrsakey
# add the key from Key Vault to the server
Add-AzSqlServerKeyVaultKey -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -KeyId <KeyVaultKeyId>
# set the key as the TDE protector for all resources under the server
Set-AzSqlServerTransparentDataEncryptionProtector -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> `
-Type AzureKeyVault -KeyId <KeyVaultKeyId>
# confirm the TDE protector was configured as intended
Get-AzSqlServerTransparentDataEncryptionProtector -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName>
Zapnutí transparentního šifrování dat
K zapnutí transparentního šifrování dat použijte rutinu Set-AzSqlDatabaseTransparentDataEncryption .
Set-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> -State "Enabled"
Teď má databáze nebo datový sklad povolené transparentní šifrování dat s šifrovacím klíčem ve službě Key Vault.
Kontrola stavu šifrování a aktivity šifrování
# get the encryption state of the database
Get-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> `
Užitečné rutiny PowerShellu
K vypnutí transparentního šifrování dat použijte rutinu Set-AzSqlDatabaseTransparentDataEncryption .
Set-AzSqlDatabaseTransparentDataEncryption -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> ` -DatabaseName <DatabaseName> -State "Disabled"
Pomocí rutiny Get-AzSqlServerKeyVaultKey vrátíte seznam klíčů služby Key Vault přidaných na server.
# KeyId is an optional parameter, to return a specific key version Get-AzSqlServerKeyVaultKey -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
K odebrání klíče služby Key Vault ze serveru použijte Remove-AzSqlServerKeyVaultKey.
# the key set as the TDE Protector cannot be removed Remove-AzSqlServerKeyVaultKey -KeyId <KeyVaultKeyId> -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
Řešení problému
Pokud trezor klíčů nenajdete, ujistěte se, že jste ve správném předplatném.
Get-AzSubscription -SubscriptionId <SubscriptionId>
Pokud nový klíč nelze přidat na server nebo nový klíč nelze aktualizovat jako ochranu transparentním šifrováním dat, zkontrolujte následující:
- Klíč by neměl mít datum vypršení platnosti.
- Klíč musí mít povolené operace get, wrap key a unwrap key .
Související obsah
- Zjistěte, jak otočit ochranu transparentním šifrováním dat serveru tak, aby vyhovoval požadavkům na zabezpečení: Otočte ochranu transparentní šifrování dat pomocí PowerShellu.
- Zjistěte, jak odstranit potenciálně ohroženou ochranu TDE: Odebrání potenciálně ohroženého klíče.