Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Bu makalede, Azure SQL Veritabanı veya Azure Synapse Analytics'te saydam veri şifrelemesi (TDE) için Azure Key Vault'tan bir anahtarın nasıl kullanılacağı açıklanmaktadır. Azure Key Vault tümleştirmesi - Kendi Anahtarını Getir (BYOK) Desteği ile TDE hakkında daha fazla bilgi edinmek için Azure Key Vault'ta müşteri tarafından yönetilen anahtarlarla TDE'yi ziyaret edin. Azure Key Vault'tan müşteri tarafından yönetilen anahtarla TDE'yi etkinleştirme hakkında Azure portalı yönergelerini arıyorsanız bkz . Kullanıcı tarafından atanan yönetilen kimlik ve müşteri tarafından yönetilen TDE ile yapılandırılmış sunucu oluşturma.
Bu makale Azure SQL Veritabanı, Azure SQL Yönetilen Örneği ve Azure Synapse Analytics ayrılmış SQL havuzları için geçerlidir. Synapse çalışma alanlarındaki ayrılmış SQL havuzları için Saydam Veri Şifrelemesi belgeleri için bkz. Azure Synapse Analytics şifrelemesi.
Not
Azure SQL, Yönetilen HSM'de TDE Koruyucusu olarak depolanan RSA anahtarının kullanılmasını da destekler. Azure Yönetilen HSM, FIPS 140-2 Düzey 3 doğrulanmış HSM'leri kullanarak bulut uygulamalarınız için şifreleme anahtarlarını korumanızı sağlayan, tam olarak yönetilen, yüksek oranda kullanılabilir, tek kiracılı, standartlara uyumlu bir bulut hizmetidir. Yönetilen HSM'ler hakkında daha fazla bilgi edinin.
Not
Microsoft Entra Id daha önce Azure Active Directory (Azure AD) olarak biliniyordu.
PowerShell için ön koşullar
- Bir Azure aboneliğinizin olması ve bu abonelikte yönetici olmanız gerekir.
- [Önerilen ama İsteğe Bağlı] TDE Koruyucusu anahtar malzemesinin yerel kopyasını oluşturmak için bir donanım güvenlik modülüne (HSM) veya yerel anahtar deposuna sahip olun.
- Azure PowerShell'in yüklü ve çalışır durumda olması gerekir.
- TDE için kullanılacak bir Azure Key Vault ve Anahtar oluşturun.
-
Donanım güvenlik modülü (HSM) ve Azure Key Vault kullanma yönergeleri
- Anahtar kasasının TDE için kullanılabilmesi için aşağıdaki özelliğe sahip olması gerekir:
- geçici silme ve temizleme koruması
-
Donanım güvenlik modülü (HSM) ve Azure Key Vault kullanma yönergeleri
- Anahtar, TDE için kullanılacak aşağıdaki özniteliklere sahip olmalıdır:
- Etkinleştirme tarihi (ayarlandıysa) geçmişteki bir tarih ve saat olmalıdır
- Son kullanma tarihi (ayarlandıysa) gelecekteki bir tarih ve saat olmalıdır
- Anahtar Etkin durumda olmalıdır
- Alma, sarmalama anahtarı, anahtar kaldırma işlemleri gerçekleştirebilir
- Yönetilen HSM anahtarı kullanmak için , Azure CLI kullanarak Yönetilen HSM oluşturma ve etkinleştirme yönergelerini izleyin
Az PowerShell modülü yükleme yönergeleri için bkz . Azure PowerShell'i yükleme.
Azure Key Vault ile ilgili ayrıntılar için bkz. Azure Key Vault'tan PowerShell yönergeleri ve PowerShell ile Azure Key Vault geçici silmeyi kullanma.
Sunucunuza Microsoft Entra kimliği atama
Mevcut bir sunucunuz varsa, sunucunuza bir Microsoft Entra kimliği eklemek için aşağıdakileri kullanın:
$server = Set-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -AssignIdentity
Sunucu oluşturuyorsanız, sunucu oluşturma sırasında bir Microsoft Entra kimliği eklemek için -Identity etiketiyle New-AzSqlServer cmdlet'ini kullanın:
$server = New-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -Location <RegionName> `
-ServerName <LogicalServerName> -ServerVersion "12.0" -SqlAdministratorCredentials <PSCredential> -AssignIdentity
Sunucunuza Azure Key Vault izinleri verme
Set-AzKeyVaultAccessPolicy cmdlet'ini kullanarak sunucunuza TDE için anahtar kullanmadan önce anahtar kasasına erişim izni verin.
Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> `
-ObjectId $server.Identity.PrincipalId -PermissionsToKeys get, wrapKey, unwrapKey
Yönetilen HSM'de sunucunuza izin eklemek için sunucuya 'Yönetilen HSM Şifreleme Hizmeti Şifreleme Kullanıcısı' yerel RBAC rolünü ekleyin. Bu, sunucunun Yönetilen HSM'deki anahtarlar üzerinde getirme, anahtarı sarma ve anahtarı çözme işlemlerini gerçekleştirmesini sağlar. Daha fazla bilgi için Yönetilen HSM rol yönetimine bakın
Azure Key Vault anahtarını sunucuya ekleyin ve TDE Koruyucusu'nu ayarlayın
- Anahtar kasasından anahtar kimliğini almak için Get-AzKeyVaultKey cmdlet'ini kullanın.
- Anahtarı Azure Key Vault'tan sunucuya eklemek için Add-AzSqlServerKeyVaultKey cmdlet'ini kullanın.
- Anahtarı tüm sunucu kaynakları için TDE koruyucusu olarak ayarlamak için Set-AzSqlServerTransparentDataEncryptionProtector cmdlet'ini kullanın.
- TDE koruyucusunun amaçlandığı gibi yapılandırıldığını onaylamak için Get-AzSqlServerTransparentDataEncryptionProtector cmdlet'ini kullanın.
Not
Yönetilen HSM anahtarları için PowerShell'in Az.Sql 2.11.1 veya sonraki bir sürümünü kullanın.
Not
Anahtar kasası adı ve anahtar adı için birleşik uzunluk 94 karakteri aşamaz.
İpucu
Azure Key Vault'tan örnek bir KeyId: https://contosokeyvault.vault.azure.net/keys/Key1/<key-id>
Yönetilen HSM'den örnek bir KeyId:
https://contosoMHSM.managedhsm.azure.net/keys/myrsakey
# 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>
TDE'i açma
TDE'yi açmak için Set-AzSqlDatabaseTransparentDataEncryption cmdlet'ini kullanın.
Set-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> -State "Enabled"
Artık veritabanı veya veri ambarı, Azure Key Vault'ta bir şifreleme anahtarı ile TDE'yi etkinleştirmiştir.
Şifreleme durumunu ve şifreleme etkinliğini denetleme
Veritabanı veya veri ambarı için şifreleme durumunu almak için Get-AzSqlDatabaseTransparentDataEncryption komutunu kullanın.
# get the encryption state of the database
Get-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> `
Yararlı PowerShell cmdlet'leri
TDE'yi kapatmak için Set-AzSqlDatabaseTransparentDataEncryption cmdlet'ini kullanın.
Set-AzSqlDatabaseTransparentDataEncryption -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> ` -DatabaseName <DatabaseName> -State "Disabled"Sunucuya eklenen Azure Key Vault anahtarlarının listesini döndürmek için Get-AzSqlServerKeyVaultKey cmdlet'ini kullanın.
# KeyId is an optional parameter, to return a specific key version Get-AzSqlServerKeyVaultKey -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>Sunucudan bir Azure Key Vault anahtarını kaldırmak için Remove-AzSqlServerKeyVaultKey kullanın.
# the key set as the TDE Protector cannot be removed Remove-AzSqlServerKeyVaultKey -KeyId <KeyVaultKeyId> -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
Sorun giderme
Anahtar kasası bulunamazsa doğru abonelikte olduğunuzdan emin olun.
Get-AzSubscription -SubscriptionId <SubscriptionId>
Yeni anahtar sunucuya eklenemiyorsa veya yeni anahtar TDE Koruyucusu olarak güncelleştirilemiyorsa aşağıdakileri denetleyin:
- Anahtarın son kullanma tarihi olmamalıdır.
- Anahtarın alma, sarmalama anahtarı ve anahtar açma işlemlerinin etkinleştirilmesi gerekir.
İlgili içerik
- Güvenlik gereksinimlerine uymak için sunucunun TDE Koruyucusu'nu döndürmeyi öğrenin: PowerShell kullanarak Saydam Veri Şifrelemesi koruyucuyu döndürme.
- Tehlikeye girmiş olabilecek bir TDE Koruyucusunu nasıl kaldıracağınızı öğrenin: Tehlikeye girmiş olabilecek bir anahtarıkaldırmayı öğrenin.