Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla TDE için kimlik ve anahtar yönetimi

Şunlar için geçerlidir:Azure SQL Veritabanı

Not

  • Veritabanı Düzeyi TDE CMK, Azure SQL Veritabanı (tüm SQL Veritabanı sürümleri) için kullanılabilir. Azure SQL Yönetilen Örneği, şirket içi SQL Server, Azure VM'leri ve Azure Synapse Analytics (ayrılmış SQL havuzları (eski adı SQL DW) için kullanılamaz.
  • Aynı kılavuz, federasyon istemci kimliği parametresi hariç tutularak aynı kiracıda veritabanı düzeyinde müşteri tarafından yönetilen anahtarları yapılandırmak için de uygulanabilir. Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlar hakkında daha fazla bilgi için bkz . Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla saydam veri şifrelemesi (TDE).

Bu kılavuzda, Azure Key Vault'a erişmek için kullanıcı tarafından atanan yönetilen kimliği kullanarak veritabanı düzeyinde saydam veri şifrelemesi (TDE) ve müşteri tarafından yönetilen anahtarlar (CMK) içeren bir Azure SQL Veritabanı oluşturma, güncelleştirme ve alma adımlarını inceleyeceğiz. Azure Key Vault, Azure SQL Veritabanı farklı bir Microsoft Entra kiracısındadır. Daha fazla bilgi için bkz . Saydam veri şifrelemesi ile kiracılar arası müşteri tarafından yönetilen anahtarlar.

Not

Microsoft Entra Id daha önce Azure Active Directory (Azure AD) olarak biliniyordu.

Önkoşullar

İlk kiracıda gerekli kaynaklar

Bu öğreticinin amacı doğrultusunda, ilk kiracının bağımsız bir yazılım satıcısına (ISV) ait olduğunu ve ikinci kiracının da istemcisinden olduğunu varsayacağız. Bu senaryo hakkında daha fazla bilgi için bkz . Saydam veri şifrelemesi ile kiracılar arası müşteri tarafından yönetilen anahtarlar.

Kiracılar arası CMK ile Azure SQL Veritabanı için TDE'yi yapılandırabilmek için önce, uygulama için federasyon kimliği kimlik bilgisi olarak atanmış kullanıcı tarafından atanan yönetilen kimlikle yapılandırılmış çok kiracılı bir Microsoft Entra uygulamasına sahip olmamız gerekir. Önkoşullar'daki kılavuzlardan birini izleyin.

  1. Azure SQL Veritabanı oluşturmak istediğiniz ilk kiracıda çok kiracılı bir Microsoft Entra uygulaması oluşturun ve yapılandırın.

  2. Kullanıcı tarafından atanan bir yönetilen kimlik oluşturun.

  3. Kullanıcı tarafından atanan yönetilen kimliği, çok kiracılı uygulama için federasyon kimlik bilgisi olarak yapılandırın.

  4. Uygulama adını ve uygulama kimliğini kaydedin. Bu, Azure portalında >Microsoft Entra ID>Enterprise uygulamalarında bulunabilir ve oluşturulan uygulamayı arayabilir.

İkinci kiracıda gerekli kaynaklar

Not

Azure AD ve MSOnline PowerShell modülleri 30 Mart 2024 itibarıyla kullanım dışı bırakılmıştır. Daha fazla bilgi edinmek için kullanımdan kaldırma güncelleştirmesini okuyun. Bu tarihten sonra bu modüllere yönelik destek, Microsoft Graph PowerShell SDK'sına geçiş yardımı ve güvenlik düzeltmeleriyle sınırlıdır. Kullanım dışı bırakılan modüller Mart 30 2025'e kadar çalışmaya devam edecektir.

Microsoft Entra ID (eski adıyla Azure AD) ile etkileşime geçmek için Microsoft Graph PowerShell'e geçiş yapmanızı öneririz. Sık sorulan geçiş soruları için Bkz. Geçiş hakkında SSS. Not: MSOnline'ın 1.0.x sürümleri 30 Haziran 2024'den sonra kesintiye neden olabilir.

  1. Azure Key Vault'un bulunduğu ikinci kiracıda, ilk kiracıdaki kayıtlı uygulamanın uygulama kimliğini kullanarak bir hizmet sorumlusu (uygulama) oluşturun. Burada, çok kiracılı uygulamayı kaydetmeye ilişkin bazı örnekler verilmiştir. ve <ApplicationID> değerini, sırasıyla çok kiracılı uygulamadaki Microsoft Entra Id ve Application Id istemci Kiracı Kimliği ile değiştirin<TenantID>:

    • PowerShell:

      Connect-AzureAD -TenantID <TenantID>
      New-AzADServicePrincipal  -ApplicationId <ApplicationID>
      
    • Azure CLI:

      az login --tenant <TenantID>
      az ad sp create --id <ApplicationID>
      
  2. Azure portalı>Microsoft Entra Id>Enterprise uygulamalarına gidin ve oluşturulan uygulamayı arayın.

  3. Anahtarınız yoksa bir Azure Key Vault oluşturun ve bir anahtar oluşturun.

  4. Erişim ilkesini oluşturun veya ayarlayın.

    1. Erişim ilkesini oluştururken Anahtar izinleri'nin altında Al, Anahtarı Sarmala, Anahtarı Kaldır izinlerini seçin.
    2. Erişim ilkesini oluştururken Sorumlu seçeneğinin ilk adımında oluşturulan çok kiracılı uygulamayı seçin.

    Azure portalında bir anahtar kasasının erişim ilkesi menüsünün ekran görüntüsü.

  5. Erişim ilkesi ve anahtar oluşturulduktan sonra Anahtarı Key Vault'tan alın ve Anahtar Tanımlayıcısı'nı kaydedin.

Veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla yeni bir Azure SQL Veritabanı oluşturma

Aşağıda, kullanıcı tarafından atanan yönetilen kimlikle Azure SQL Veritabanı veritabanı oluşturma ve veritabanı düzeyinde kiracılar arası müşteri tarafından yönetilen anahtar ayarlama örnekleri verilmiştir. Kullanıcı tarafından atanan yönetilen kimlik, veritabanı oluşturma aşamasında saydam veri şifrelemesi için müşteri tarafından yönetilen bir anahtar ayarlamak için gereklidir.

  1. Azure portalında SQL dağıtımını seç seçeneği sayfasına gidin.

  2. Azure portalında henüz oturum açmadıysanız istendiğinde oturum açın.

  3. SQL veritabanları'nın altında Kaynak türü'nü Tek veritabanı olarak bırakın ve Oluştur'u seçin.

  4. SQL Veritabanı oluştur formunun Temel Bilgiler sekmesinde, Proje ayrıntıları'nın altında veritabanınız için istediğiniz Azure Aboneliğini, Kaynak grubunu ve Sunucuyu seçin. Ardından Veritabanı adınız için benzersiz bir ad kullanın. Azure SQL Veritabanı için mantıksal sunucu oluşturmadıysanız, başvuru için bkz. Kiracılar arası müşteri tarafından yönetilen anahtarla (CMK) TDE ile yapılandırılmış sunucu oluşturma.

  5. Güvenlik sekmesine gittiğiniz zaman Saydam veri şifrelemesini yapılandır'ı seçin.

    Azure SQL Veritabanı oluştururken Azure portalının ve Güvenlik menüsünün ekran görüntüsü.

  6. Saydam veri şifreleme menüsünde Veritabanı düzeyinde müşteri tarafından yönetilen anahtar (CMK) öğesini seçin.

    Azure portalı saydam veri şifreleme menüsünün ekran görüntüsü.

  7. Kullanıcı Tarafından Atanan Yönetilen Kimlik için, Veritabanı kimliğini etkinleştirmek için Yapılandır'ı seçin ve kimlik menüsünde istenen kimlik listelenmemişse kaynağa kullanıcı tarafından atanan yönetilen kimlik ekle'yi seçin. Ardından Uygula'yı seçin.

    Azure portalı Kimlik menüsünün ekran görüntüsü.

    Not

    TDE için kiracılar arası CMK yapılandırıyorsanız Burada Federasyon istemci kimliğini yapılandırabilirsiniz.

  8. Saydam veri şifreleme menüsünde Anahtarı değiştir'i seçin. TDE için kullanılacak müşteri tarafından yönetilen anahtar için istenen Abonelik, Anahtar kasası, Anahtar ve Sürüm'e tıklayın. Seçim düğmesini seçin. Bir anahtar seçtikten sonra, Saydam veri şifreleme menüsündeki Azure Key Vault URI'sini (nesne tanımlayıcısı)kullanarak gerektiğinde başka veritabanı anahtarları da ekleyebilirsiniz.

    Otomatik anahtar döndürme, Saydam veri şifreleme menüsündeki Anahtarı otomatik döndür onay kutusu kullanılarak veritabanı düzeyinde de etkinleştirilebilir.

    Azure portalında ek anahtar eklemeye başvuran saydam veri şifreleme menüsünün ekran görüntüsü.

  9. Veritabanını oluşturmaya devam etmek için Uygula'yı seçin.

  10. Sayfanın alt kısmındaki Gözden geçir ve oluştur'u seçin

  11. Gözden Geçir + oluştur sayfasında, gözden geçirdikten sonra Oluştur'u seçin.

Not

Kullanıcı tarafından atanan yönetilen kimlik anahtar kasasında doğru izinlere sahip değilse veritabanı oluşturma işlemi başarısız olur. Kullanıcı tarafından atanan yönetilen kimliğin anahtar kasasında Get, wrapKey ve unwrapKey izinlerine sahip olması gerekir. Daha fazla bilgi için bkz . Müşteri tarafından yönetilen anahtarla saydam veri şifrelemesi için yönetilen kimlikler.

Mevcut Azure SQL Veritabanı veritabanı düzeyinde müşteri tarafından yönetilen anahtarlarla güncelleştirme

Aşağıda, Azure SQL Veritabanı'daki mevcut veritabanını kullanıcı tarafından atanan yönetilen kimlikle güncelleştirme ve veritabanı düzeyinde kiracılar arası müşteri tarafından yönetilen anahtar ayarlama örnekleri verilmiştir. Kullanıcı tarafından atanan yönetilen kimlik, veritabanı oluşturma aşamasında saydam veri şifrelemesi için müşteri tarafından yönetilen bir anahtar ayarlamak için gereklidir.

  1. Azure portalında, veritabanı düzeyinde müşteri tarafından yönetilen anahtarla güncelleştirmek istediğiniz SQL veritabanı kaynağına gidin.

  2. Güvenlik'in altında Kimlik'i seçin. Bu veritabanı için Kullanıcı tarafından atanan yönetilen kimliği ekleyin ve kaydet'i seçin

  3. Şimdi veritabanınız için Güvenlik'in altındaki Veri Şifreleme menüsüne gidin. Veritabanı düzeyinde müşteri tarafından yönetilen anahtar (CMK) seçeneğini belirleyin. Son adımda kimliği yapılandırdığınız için veritabanının Veritabanı Kimliği zaten Etkin olmalıdır.

  4. Anahtarı değiştir'i seçin. TDE için kullanılacak müşteri tarafından yönetilen anahtar için istenen Abonelik, Anahtar kasası, Anahtar ve Sürüm'e tıklayın. Seçim düğmesini seçin. Bir anahtar seçtikten sonra, Veri Şifrelemesi menüsündeki Azure Key Vault URI'sini (nesne tanımlayıcısı)kullanarak gerektiğinde başka veritabanı anahtarları da ekleyebilirsiniz.

    Veritabanı düzeyinde otomatik anahtar döndürmeyi etkinleştirmek istiyorsanız, Anahtarı otomatik olarak döndür onay kutusunu seçin.

    Mevcut veritabanını güncelleştirirken Azure portalı saydam veri şifreleme menüsünün ekran görüntüsü.

  5. Kaydet'i seçin.

Azure SQL Veritabanı veritabanı düzeyinde müşteri tarafından yönetilen anahtar ayarlarını görüntüleme

Aşağıda, bir veritabanı için veritabanı düzeyinde müşteri tarafından yönetilen anahtarları alma örnekleri verilmiştir. ARM kaynağı Microsoft.Sql/servers/databases varsayılan olarak yalnızca veritabanında yapılandırılan TDE koruyucusu ve yönetilen kimliği gösterir. Anahtarların tam listesini genişletmek için parametresini -ExpandKeyListkullanın. Ayrıca, ve zaman değeri içindeki bir nokta (örneğin, 2023-01-01) gibi -KeysFilter "current" filtreler, kullanılan geçerli anahtarları ve geçmişte kullanılan anahtarları belirli bir zamanda almak için kullanılabilir. Bu filtreler yalnızca tek tek veritabanı sorguları için desteklenir, sunucu düzeyinde sorgular için desteklenmez.

Azure portalında veritabanı düzeyinde müşteri tarafından yönetilen anahtarları görüntülemek için SQL veritabanı kaynağının Veri Şifreleme menüsüne gidin.

Mantıksal sunucudaki tüm anahtarları listeleme

Sunucu altındaki her veritabanı tarafından kullanılan tüm anahtarların (yalnızca birincil koruyucunun değil) listesini getirmek için anahtar filtreleri ile ayrı ayrı sorgulanmalıdır. Aşağıda, mantıksal sunucunun altındaki her anahtarı listelemek için bir PowerShell sorgusu örneği verilmiştir.

Get-AzSqlDatabase cmdlet'ini kullanın.

$dbs = Get-AzSqlDatabase -resourceGroupName <ResourceGroupName> -ServerName <ServerName>
foreach ($db in $dbs)
{
Get-AzSqlDatabase -DatabaseName $db.DatabaseName -ServerName $db.ServerName -ResourceGroupName $db.ResourceGroupName -ExpandKeyList
}

Bir Azure SQL Veritabanı veritabanı düzeyinde müşteri tarafından yönetilen anahtarı yeniden doğrulama

CMK ile Saydam Veri Şifrelemesi (TDE) içinde açıklandığı gibi erişilemez bir TDE koruyucusu söz konusu olduğunda, anahtar erişimi düzeltildikten sonra veritabanını erişilebilir hale getirmek için yeniden doğrulama anahtarı işlemi kullanılabilir. Örnekler için aşağıdaki yönergelere veya komutlara bakın.

Azure portalını kullanarak SQL veritabanı kaynağınızı bulun. SQL veritabanı kaynağınızı seçtikten sonra Güvenlik ayarları altındaki Veri Şifrelemesi menüsünün Saydam Veri Şifrelemesi sekmesine gidin. Veritabanı Azure Key Vault'a erişimi kaybettiyse, bir Yeniden Doğrulama tuşu düğmesi görüntülenir ve Var olan anahtarı yeniden dene'yi veya Yedek anahtarı seç'i seçerek başka bir anahtarı seçerek mevcut anahtarı yeniden doğrulama seçeneğiniz olur.

bir Azure SQL Veritabanı veritabanı düzeyinde müşteri tarafından yönetilen anahtarı geri döndürme

Veritabanı düzeyinde CMK ile yapılandırılmış bir veritabanı, sunucu aşağıdaki komutlar kullanılarak hizmet tarafından yönetilen bir anahtarla yapılandırılırsa sunucu düzeyinde şifrelemeye geri döndürülebilir.

Veritabanı düzeyinde müşteri tarafından yönetilen anahtar ayarını Azure portalında sunucu düzeyinde şifreleme anahtarına döndürmek için SQL veritabanı kaynağının Veri Şifreleme menüsünün Saydam Veri Şifrelemesi sekmesine gidin. Ayarları kaydetmek için Sunucu düzeyinde şifreleme anahtarı'nı ve ardından Kaydet'i seçin.

Not

Tek tek veritabanları için Sunucu düzeyinde şifreleme anahtarı ayarını kullanmak için, Azure SQL Veritabanı mantıksal sunucusunun TDE için Hizmet tarafından yönetilen anahtarı kullanacak şekilde yapılandırılması gerekir.

Sonraki adımlar

Çeşitli veritabanı düzeyinde CMK işlemleriyle ilgili aşağıdaki belgeleri gözden geçirin: