Aracılığıyla paylaş


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. Bu, Azure SQL Yönetilen Örnek, şirket içi SQL Server, Azure VM, ve Azure Synapse Analytics (ayrılmış SQL havuzları (eski adıyla 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.

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

  1. Azure SQL Veritabanı'nı 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ıya atanmış yönetilen kimliği, çok kiracılı uygulama için federe kimlik kimlik bilgisi olarak yapılandırın.

  4. Uygulama adını ve uygulama kimliğini kaydedin. Bu, Azure portalında >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 <TenantID> değerini, sırasıyla çok kiracılı uygulamadaki Microsoft Entra Kimliği ve <ApplicationID> istemci Kiracı Kimliği ile değiştirin:

    • PowerShell:

      Connect-Entra -TenantID <TenantID>
      New-EntraServicePrincipal  -AppId <ApplicationID>
      
    • Azure CLI:

      az login --tenant <TenantID>
      az ad sp create --id <ApplicationID>
      
  2. Azure portalı> 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 Azure Key Vault'un erişim ilkesi menüsünün ekran görüntüsü.

  5. Erişim ilkesi ve anahtar oluşturulduktan sonra Anahtarı Azure 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. aka.ms/azuresqlhub'da Azure SQL hub'ına gidin.

  2. Azure SQL Veritabanı bölmesinde Seçenekleri göster'i seçin.

  3. Azure SQL Veritabanı seçenekleri penceresinde SQL Veritabanı Oluştur'u seçin.

    Azure SQL hub'ını, Seçenekleri göster düğmesini ve SQL Veritabanı Oluştur düğmesini gösteren Azure portalı ekran görüntüsü.

  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 ulaştığınızda Veritabanı düzeyi anahtarı için 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

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

  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. İleri: Ek ayarlar'ı seçin.

  11. İleri: Etiketler'i seçin.

  12. Azure etiketlerini kullanmayı göz önünde bulundurun. Örneğin, kaynağı kimin oluşturduğunu belirlemek için "Sahip" veya "CreatedBy" etiketi ve bu kaynağın Üretim, Geliştirme vb. içinde olup olmadığını belirlemek için Ortam etiketi. Daha fazla bilgi için bkz . Azure kaynakları için adlandırma ve etiketleme stratejinizi geliştirme.

  13. Seçin, gözden geçir ve oluştur.

  14. 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, -KeysFilter "current") gibi 2023-01-01 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

Müşteri tarafından yönetilen anahtarla Azure SQL saydam veri şifrelemesinde 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.