PowerShell és Azure CLI: Transzparens adattitkosítás engedélyezése az ügyfél által kezelt, Azure Key Vaultból származó kulccsal
A következőre vonatkozik: Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics
Ez a cikk bemutatja, hogyan használhatja az Azure Key Vault kulcsait transzparens adattitkosításhoz (TDE) az Azure SQL Database-ben vagy az Azure Synapse Analyticsben. Ha többet szeretne megtudni a TDE-ről az Azure Key Vault-integrációval – Saját kulcs (BYOK) támogatással, látogasson el a TDE-hez ügyfél által felügyelt kulcsokkal az Azure Key Vaultban. Ha az Azure Portal útmutatást keres a TDE azure Key Vaultból történő ügyfél által felügyelt kulccsal való engedélyezéséhez, olvassa el a felhasználó által hozzárendelt felügyelt identitással és ügyfél által felügyelt TDE-vel konfigurált kiszolgáló létrehozása című témakört.
Ez a cikk az Azure SQL Database-re, a felügyelt Azure SQL-példányra és az Azure Synapse Analyticsre (dedikált SQL-készletekre (korábban SQL DW)) vonatkozik. A Synapse-munkaterületeken belüli dedikált SQL-készletek transzparens adattitkosítás dokumentációját az Azure Synapse Analytics titkosításában találja.
Megjegyzés:
Az Azure SQL mostantól támogatja a felügyelt HSM-ben tárolt RSA-kulcs használatát TDE Protectorként. Az Azure Key Vault felügyelt HSM egy teljes körűen felügyelt, magas rendelkezésre állású, egybérlős, szabványoknak megfelelő felhőszolgáltatás, amely lehetővé teszi a titkosítási kulcsok védelmét a felhőalkalmazások számára a FIPS 140-2 3. szintű hitelesített HSM-ek használatával. További információ a felügyelt HSM-ekről.
Megjegyzés:
A Microsoft Entra ID az Azure Active Directory (Azure AD) új neve. Jelenleg frissítjük a dokumentációt.
A PowerShell előfeltételei
- Azure-előfizetéssel kell rendelkeznie, és rendszergazdai jogosultságokkal kell rendelkeznie az adott előfizetésben.
- [Ajánlott, de nem kötelező] Rendelkezik egy hardveres biztonsági modullal (HSM) vagy helyi kulcstárolóval a TDE Protector kulcsanyagának helyi másolatának létrehozásához.
- Telepítenie és futtatnia kell az Azure PowerShellt.
- Hozzon létre egy Azure Key Vaultot és kulcsot a TDE-hez.
- Útmutatás hardveres biztonsági modul (HSM) és Key Vault használatához
- A kulcstartónak a következő tulajdonságot kell használnia a TDE-hez:
- helyreállítható törlés és törlés elleni védelem
- Útmutatás hardveres biztonsági modul (HSM) és Key Vault használatához
- A kulcsnak a következő attribútumokkal kell rendelkeznie a TDE-hez:
- Az aktiválási dátumnak (ha be van állítva) a múltban dátumnak és időnek kell lennie
- A lejárati dátumnak (ha be van állítva) jövőbeli dátumnak és időnek kell lennie
- A kulcsnak engedélyezve kell lennie
- Képes lekéréses, körbefuttatási és kulcstörési műveletek végrehajtására
- Felügyelt HSM-kulcs használatához kövesse a felügyelt HSM Azure CLI-vel történő létrehozásához és aktiválásához szükséges utasításokat
Az Az modul telepítési útmutatását az Azure PowerShell telepítését ismertető cikkben találja. Adott parancsmagokért lásd: AzureRM.Sql.
A Key Vaultra vonatkozó részletekért tekintse meg a Key Vault PowerShell-utasításait, valamint a Key Vault helyreállítható törlésének használatát a PowerShell-lel.
Fontos
A PowerShell Azure Resource Manager (RM) modul továbbra is támogatott, de minden jövőbeli fejlesztés az Az.Sql modulhoz tartozik. Az AzureRM-modul legalább 2020 decemberéig továbbra is megkapja a hibajavításokat. Az Az modulban és az AzureRm-modulokban található parancsok argumentumai lényegében azonosak. A kompatibilitásukról további információt az új Azure PowerShell Az modul bemutatása című témakörben talál.
Microsoft Entra-identitás hozzárendelése a kiszolgálóhoz
Ha már rendelkezik kiszolgálóval, az alábbiak segítségével adhat hozzá Microsoft Entra-identitást a kiszolgálóhoz:
$server = Set-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -AssignIdentity
Kiszolgáló létrehozásakor használja a New-AzSqlServer parancsmagot az -Identity címkével a Microsoft Entra-identitás hozzáadásához a kiszolgáló létrehozása során:
$server = New-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -Location <RegionName> `
-ServerName <LogicalServerName> -ServerVersion "12.0" -SqlAdministratorCredentials <PSCredential> -AssignIdentity
Key Vault-engedélyek megadása a kiszolgálónak
A Set-AzKeyVaultAccessPolicy parancsmaggal hozzáférést biztosíthat a kiszolgálónak a kulcstartóhoz, mielőtt a TDE-hez használná a kulcsát.
Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> `
-ObjectId $server.Identity.PrincipalId -PermissionsToKeys get, wrapKey, unwrapKey
Ha engedélyeket szeretne hozzáadni a kiszolgálóhoz egy felügyelt HSM-en, adja hozzá a "Managed HSM Crypto Service Encryption User" helyi RBAC-szerepkört a kiszolgálóhoz. Ez lehetővé teszi a kiszolgáló számára a felügyelt HSM kulcsainak lekérési, tördelési és kulcstörési műveleteit. Utasítások a kiszolgálóhozzáférés felügyelt HSM-en való kiépítéséhez
Adja hozzá a Key Vault-kulcsot a kiszolgálóhoz, és állítsa be a TDE-védőt
- A Kulcsazonosító lekérése a Kulcstartóból a Get-AzKeyVaultKey parancsmaggal
- Az Add-AzSqlServerKeyVaultKey parancsmaggal adja hozzá a kulcsot a Key Vaultból a kiszolgálóhoz.
- A Set-AzSqlServerTransparentDataEncryptionProtector parancsmaggal állítsa be a kulcsot TDE-védőként az összes kiszolgálói erőforráshoz.
- A Get-AzSqlServerTransparentDataEncryptionProtector parancsmaggal ellenőrizze, hogy a TDE-védő a kívánt módon lett-e konfigurálva.
Megjegyzés:
Felügyelt HSM-kulcsok esetén használja a PowerShell Az.Sql 2.11.1-es verzióját.
Megjegyzés:
A kulcstartó nevének és kulcsnevének együttes hossza nem haladhatja meg a 94 karaktert.
Tipp.
Példa KeyId a Key Vaultból: https://contosokeyvault.vault.azure.net/keys/Key1/1a1a2b2b3c3c4d4d5e5e6f6f7g7g8h8h
Példa KeyId a felügyelt HSM-ből:
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>
A TDE bekapcsolása
A TDE bekapcsolásához használja a Set-AzSqlDatabaseTransparentDataEncryption parancsmagot.
Set-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> -State "Enabled"
Most az adatbázis vagy az adattárház TDE-t engedélyezve van egy titkosítási kulccsal a Key Vaultban.
A titkosítási állapot és a titkosítási tevékenység ellenőrzése
A Get-AzSqlDatabaseTransparentDataEncryption használatával kérje le egy adatbázis vagy adattárház titkosítási állapotát.
# get the encryption state of the database
Get-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> `
Hasznos PowerShell-parancsmagok
A TDE kikapcsolásához használja a Set-AzSqlDatabaseTransparentDataEncryption parancsmagot.
Set-AzSqlDatabaseTransparentDataEncryption -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> ` -DatabaseName <DatabaseName> -State "Disabled"
A Get-AzSqlServerKeyVaultKey parancsmaggal adja vissza a kiszolgálóhoz hozzáadott Key Vault-kulcsok listáját.
# KeyId is an optional parameter, to return a specific key version Get-AzSqlServerKeyVaultKey -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
A Remove-AzSqlServerKeyVaultKey billentyűvel távolítsa el a Key Vault-kulcsot a kiszolgálóról.
# the key set as the TDE Protector cannot be removed Remove-AzSqlServerKeyVaultKey -KeyId <KeyVaultKeyId> -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
Hibaelhárítás
Ellenőrizze az alábbiakat, ha probléma merül fel:
Ha a kulcstartó nem található, győződjön meg arról, hogy a megfelelő előfizetésben van.
Get-AzSubscription -SubscriptionId <SubscriptionId>
- Ha az új kulcs nem adható hozzá a kiszolgálóhoz, vagy az új kulcs nem frissíthető TDE-védőként, ellenőrizze az alábbiakat:
- A kulcs nem rendelkezhet lejárati dátummal
- A kulcsnak engedélyezve kell lennie a lekérési, a burkolókulcs- és a feloldási kulcsműveletnek.
További lépések
- Megtudhatja, hogyan forgathatja el a kiszolgáló TDE-védőjének forgatását a biztonsági követelményeknek való megfelelés érdekében: A transzparens adattitkosítás védő elforgatása a PowerShell használatával.
- Biztonsági kockázat esetén ismerje meg, hogyan távolíthat el egy potenciálisan feltört TDE-védőt: Távolítsa el a potenciálisan feltört kulcsot.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: