Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Dedykowane pule SQL dla Azure Synapse Analytics (poprzednio SQL DW)
Wskazówka
Microsoft Fabric Data Warehouse to magazyn relacyjny w skali przedsiębiorstwa na podstawie bazy danych data lake z architekturą gotową do użycia w przyszłości, wbudowaną sztuczną inteligencją i nowymi funkcjami. Jeśli dopiero zaczynasz korzystać z magazynowania danych, zacznij od Fabric Data Warehouse. Istniejące obciążenia dedykowanej puli SQL mogą zostać zaktualizowane do Fabric, aby uzyskać dostęp do nowych możliwości w zakresie nauki o danych, analizy w czasie rzeczywistym i raportowania.
Ten artykuł wyjaśnia, jak używać klucza z Azure Key Vault do przezroczystego szyfrowania danych (TDE) w Azure Synapse Analytics. Aby zdobyć więcej informacji o funkcji TDE z integracją z Azure Key Vault — obsługą BYOK, odwiedź stronę TDE z kluczami zarządzanymi przez klienta w usłudze Azure Key Vault.
Note
Ten artykuł dotyczy samodzielnych dedykowanych pul SQL (dawniej SQL DW).
- Dla dedykowanych pul SQL w Azure Synapse Analytics (dawniej SQL DW) ustaw protektor TDE na poziomie serwera. Wszystkie zaszyfrowane bazy danych powiązane z tym serwerem dziedziczą ochronę TDE.
- Szyfruj dane w dedykowanych pulach SQL oraz bezserwerowych pulach SQL w przestrzeni roboczej Synapse, używając klucza zarządzanego przez klienta skonfigurowanego na poziomie przestrzeni roboczej. Aby uzyskać więcej informacji na temat przezroczystego szyfrowania danych dla dedykowanych pul SQL w obszarach roboczych usługi Synapse, zobacz Szyfrowanie usługi Azure Synapse Analytics.
Wymagania wstępne dotyczące programu PowerShell
- Musisz mieć subskrypcję platformy Azure i być administratorem tej subskrypcji.
- [Zalecane, ale opcjonalne] Posiadanie modułu zabezpieczeń sprzętowych (HSM) lub lokalnego magazynu kluczy, aby utworzyć lokalną kopię materiału klucza chroniącego TDE.
- Musisz mieć zainstalowany i uruchomiony program Azure PowerShell.
- Utwórz usługę Azure Key Vault i klucz do użycia na potrzeby funkcji TDE.
-
Instrukcje dotyczące korzystania ze sprzętowego modułu zabezpieczeń (HSM) i usługi Azure Key Vault
- Magazyn kluczy musi mieć następującą właściwość do użycia w przypadku funkcji TDE:
- usuwanie miękkie i ochrona przed trwałym usunięciem
-
Instrukcje dotyczące korzystania ze sprzętowego modułu zabezpieczeń (HSM) i usługi Azure Key Vault
- Klucz musi mieć następujące atrybuty, które mają być używane dla funkcji TDE:
- Data aktywacji (jeśli jest ustawiona) musi być datą i godziną w przeszłości
- Data wygaśnięcia (jeśli jest ustawiona) musi być datą i godziną w przyszłości.
- Klucz musi być w stanie Włączone
- Możliwość wykonywania operacji pobierania, zawijania klucza, rozpakowania klucza
- Aby użyć klucza zarządzanego modułu HSM Azure Key Vault, postępuj zgodnie z instrukcjami, aby utworzyć i aktywować zarządzany moduł HSM przy użyciu Azure CLI
Aby uzyskać instrukcje instalacji modułu Az programu PowerShell, zobacz Instalowanie programu Azure PowerShell.
Aby uzyskać szczegółowe informacje dotyczące usługi Azure Key Vault, zobacz Instrukcje programu PowerShell z usługi Azure Key Vault i Jak używać usuwania nietrwałego usługi Azure Key Vault za pomocą programu PowerShell.
Przypisz tożsamość Microsoft Entra do serwera
Jeśli masz istniejący serwer, skorzystaj z poniższych instrukcji, aby dodać tożsamość Microsoft Entra do swojego serwera:
$server = Set-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -AssignIdentity
Jeśli tworzysz serwer, użyj cmdletu New-AzSqlServer z tagiem-Identity, aby dodać tożsamość Microsoft Entra podczas tworzenia serwera:
$server = New-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -Location <RegionName> `
-ServerName <LogicalServerName> -ServerVersion "12.0" -SqlAdministratorCredentials <PSCredential> -AssignIdentity
Udzielanie uprawnień usługi Azure Key Vault do serwera
Użyj polecenia cmdlet Set-AzKeyVaultAccessPolicy, aby udzielić serwerowi dostępu do magazynu kluczy przed użyciem klucza dla funkcji TDE.
Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> `
-ObjectId $server.Identity.PrincipalId -PermissionsToKeys get, wrapKey, unwrapKey
Aby dodać uprawnienia do serwera w usłudze Managed HSM, dodaj do serwera lokalną rolę RBAC Managed HSM Crypto Service Encryption User. Ta rola umożliwia serwerowi wykonywanie get, wrap key, oraz operacji unwrap key na kluczach w zarządzanym HSM. Aby uzyskać więcej informacji, zobacz Zarządzanie rolami zarządzanego modułu HSM.
Dodawanie klucza usługi Azure Key Vault do serwera i ustawianie funkcji ochrony TDE
- Użyj polecenia cmdlet Get-AzKeyVaultKey , aby pobrać identyfikator klucza z magazynu kluczy.
- Użyj polecenia cmdlet Add-AzSqlServerKeyVaultKey , aby dodać klucz z usługi Azure Key Vault do serwera.
- Użyj polecenia cmdlet Set-AzSqlServerTransparentDataEncryptionProtector, aby ustawić klucz jako funkcję ochrony TDE dla wszystkich zasobów serwera.
- Użyj polecenia cmdlet Get-AzSqlServerTransparentDataEncryptionProtector, aby potwierdzić, że funkcja ochrony TDE została skonfigurowana zgodnie z oczekiwaniami.
Note
W przypadku zarządzanych kluczy HSM użyj polecenia Az.Sql 2.11.1 w wersji programu PowerShell lub nowszej.
Note
Łączna długość nazwy magazynu kluczy i nazwy klucza nie może przekroczyć 94 znaków.
Wskazówka
Używanie wersjonowanych kluczy usługi Azure Key Vault dla TDE
Przy ustawianiu ochrony TDE odwołuj się do klucza Azure Key Vault, używając konkretnej wersji klucza.
Example:
Identyfikator klucza zawierający określoną wersję
https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>
# add the key from Azure 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>
Włącz TDE
Użyj polecenia cmdlet Set-AzSqlDatabaseTransparentDataEncryption, aby włączyć funkcję TDE.
Set-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> -State "Enabled"
Teraz baza danych lub magazyn danych ma włączoną funkcję TDE z kluczem szyfrowania w usłudze Azure Key Vault.
Sprawdzanie stanu szyfrowania i działania szyfrowania
Użyj polecenia Get-AzSqlDatabaseTransparentDataEncryption , aby uzyskać stan szyfrowania bazy danych lub magazynu danych.
# get the encryption state of the database
Get-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> `
Przydatne polecenia cmdlet programu PowerShell
Użyj polecenia cmdlet Set-AzSqlDatabaseTransparentDataEncryption, aby wyłączyć funkcję TDE.
Set-AzSqlDatabaseTransparentDataEncryption -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> ` -DatabaseName <DatabaseName> -State "Disabled"Użyj polecenia cmdlet Get-AzSqlServerKeyVaultKey , aby zwrócić listę kluczy usługi Azure Key Vault dodanych do serwera.
# KeyId is an optional parameter, to return a specific key version Get-AzSqlServerKeyVaultKey -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>Użyj polecenia Remove-AzSqlServerKeyVaultKey , aby usunąć klucz usługi Azure Key Vault z serwera.
# the key set as the TDE Protector cannot be removed Remove-AzSqlServerKeyVaultKey -KeyId <KeyVaultKeyId> -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
Troubleshooting
Jeśli nie można znaleźć skrytki kluczy, upewnij się, że jesteś w odpowiedniej subskrypcji.
Get-AzSubscription -SubscriptionId <SubscriptionId>
Jeśli nie możesz dodać nowego klucza do serwera lub nie możesz zaktualizować nowego klucza jako modułu TDE Protector, sprawdź następujące warunki:
- Klucz nie powinien mieć daty ważności.
- Klucz musi mieć włączone operacje get, zawijanie klucza i odwijanie klucza.
Treści powiązane
- Aby dowiedzieć się, jak przeprowadzić rotację protektora TDE serwera, aby spełnić wymagania dotyczące zabezpieczeń, zobacz Rotacja protektora Transparent Data Encryption przy użyciu programu PowerShell.
- Aby dowiedzieć się, jak usunąć potencjalnie skompromitowanego TDE Protectora, zobacz Usuń potencjalnie skompromitowany klucz.