Azure rol tabanlı erişim denetimiyle Key Vault anahtarlara, sertifikalara ve gizli dizilere erişim sağlama

Not

Key Vault kaynak sağlayıcısı iki kaynak türünü destekler: kasalar ve yönetilen HSM'ler. Bu makalede açıklanan erişim denetimi yalnızca kasalar için geçerlidir. Yönetilen HSM erişim denetimi hakkında daha fazla bilgi edinmek için bkz. Yönetilen HSM erişim denetimi.

Not

Azure App Service sertifika yapılandırması Key Vault RBAC izin modelini desteklemez.

Azure rol tabanlı erişim denetimi (Azure RBAC), Azure kaynaklarının ayrıntılı erişim yönetimini sağlayan, Azure Resource Manager üzerinde oluşturulmuş bir yetkilendirme sistemidir.

Azure RBAC kullanıcıların Anahtar, Gizli Dizi ve Sertifika izinlerini yönetmesine olanak tanır. Tüm anahtar kasalarında tüm izinleri yönetmek için tek bir yer sağlar.

Azure RBAC modeli farklı kapsam düzeylerinde izinler ayarlama olanağı sağlar: yönetim grubu, abonelik, kaynak grubu veya tek tek kaynaklar. Anahtar kasası için Azure RBAC ayrıca tek tek anahtarlar, gizli diziler ve sertifikalar üzerinde ayrı izinlere sahip olma olanağı sağlar

Daha fazla bilgi için bkz. Azure rol tabanlı erişim denetimi (Azure RBAC).

Tek tek anahtarlar, gizli diziler ve sertifikalar rol atamaları için en iyi yöntemler

Uygulama başına ortam başına bir kasa (Geliştirme, Üretim Öncesi ve Üretim) kullanmanızı tavsiye ediyoruz.

Tek tek anahtarlar, gizli diziler ve sertifika izinleri yalnızca belirli senaryolar için kullanılmalıdır:

  • Birden çok uygulama arasında tek tek gizli dizileri paylaşma, örneğin bir uygulamanın diğer uygulamadan verilere erişmesi gerekir
  • Müşteri anahtarıyla kiracılar arası şifreleme; örneğin, müşteri anahtar kasasından alınan bir anahtarı kullanarak ISV'nin verilerini şifrelemesi

Azure Key Vault yönetimi yönergeleri hakkında daha fazla bilgi için bkz:

Key Vault veri düzlemi işlemleri için Azure yerleşik rolleri

Not

Rol Key Vault Contributor , yönetim düzlemi işlemlerinin anahtar kasalarını yönetmesine yöneliktir. Anahtarlara, gizli dizilere ve sertifikalara erişime izin vermez.

Yerleşik rol Description ID
Key Vault Yöneticisi Bir anahtar kasasında ve sertifikalar, anahtarlar ve gizli diziler de dahil olmak üzere içindeki tüm nesneler üzerinde tüm veri düzlemi işlemlerini gerçekleştirin. Anahtar kasası kaynakları yönetilemiyor veya rol atamaları yönetilemiyor. Yalnızca 'Azure rol tabanlı erişim denetimi' izin modelini kullanan anahtar kasalarında çalışır. 00482a5a-887f-4fb3-b363-3b7fe8e74483
Key Vault Sertifika Yetkilisi İzinleri yönetme dışında bir anahtar kasasının sertifikalarında herhangi bir eylem gerçekleştirin. Yalnızca 'Azure rol tabanlı erişim denetimi' izin modelini kullanan anahtar kasalarında çalışır. a4417e6f-fecd-4de8-b567-7b0420556985
Key Vault Crypto Officer İzinleri yönetme dışında anahtar kasasının anahtarları üzerinde herhangi bir eylem gerçekleştirin. Yalnızca 'Azure rol tabanlı erişim denetimi' izin modelini kullanan anahtar kasalarında çalışır. 14b46e9e-c2b7-41b4-b07b-48a6ebf60603
Şifreleme Hizmeti Şifreleme Kullanıcı Key Vault Anahtarların meta verilerini okuyun ve sarmalama/kaldırma işlemleri gerçekleştirin. Yalnızca 'Azure rol tabanlı erişim denetimi' izin modelini kullanan anahtar kasalarında çalışır. e147488a-f6f5-4113-8e2d-b22465e65bf6
şifreleme kullanıcı Key Vault Anahtarları kullanarak şifreleme işlemleri gerçekleştirin. Yalnızca 'Azure rol tabanlı erişim denetimi' izin modelini kullanan anahtar kasalarında çalışır. 12338af0-0e69-4776-bea7-57ae8d297424
Key Vault Okuyucu Anahtar kasalarının ve sertifikalarının, anahtarlarının ve gizli dizilerinin meta verilerini okuyun. Gizli dizi içeriği veya anahtar malzeme gibi hassas değerler okunamıyor. Yalnızca 'Azure rol tabanlı erişim denetimi' izin modelini kullanan anahtar kasalarında çalışır. 21090545-7ca7-4776-b22c-e363652d74d2
Key Vault Gizli DiziLer Sorumlusu İzinleri yönetme dışında bir anahtar kasasının gizli dizileri üzerinde herhangi bir eylem gerçekleştirin. Yalnızca 'Azure rol tabanlı erişim denetimi' izin modelini kullanan anahtar kasalarında çalışır. b86a8fe4-44ce-4948-aee5-eccb2c155cd7
gizli dizi kullanıcı Key Vault Gizli dizi içeriğini okuyun. Yalnızca 'Azure rol tabanlı erişim denetimi' izin modelini kullanan anahtar kasalarında çalışır. 4633458b-17de-408a-b874-0445c86b69e6

Azure yerleşik rol tanımları hakkında daha fazla bilgi için bkz. Azure yerleşik rolleri.

Key Vault ile Azure RBAC gizli dizisi, anahtarı ve sertifika izinlerini kullanma

Anahtar kasası için yeni Azure RBAC izin modeli, kasa erişim ilkesi izin modeline alternatif sağlar.

Önkoşullar

Bir Azure aboneliğiniz olmalıdır. Aksi takdirde başlamadan önce ücretsiz bir hesap oluşturabilirsiniz.

Rol atamaları eklemek için, Kullanıcı Erişim Yöneticisi veya Sahip gibi ve Microsoft.Authorization/roleAssignments/delete izinleriniz olmalıdırMicrosoft.Authorization/roleAssignments/write.

Key Vault üzerinde Azure RBAC izinlerini etkinleştirme

Not

İzin modelini değiştirmek için Sahip ve Kullanıcı Erişimi Yöneticisi rollerinin bir parçası olan 'Microsoft.Authorization/roleAssignments/write' izni gerekir. 'Hizmet Yöneticisi' ve 'Ortak Yönetici' gibi klasik abonelik yöneticisi rolleri desteklenmez.

  1. Yeni anahtar kasasında Azure RBAC izinlerini etkinleştirin:

    Enable Azure RBAC permissions - new vault

  2. Mevcut anahtar kasasında Azure RBAC izinlerini etkinleştirin:

    Enable Azure RBAC permissions - existing vault

Önemli

Azure RBAC izin modelinin ayarlanması tüm erişim ilkeleri izinlerini geçersiz kılmaktadır. Eşdeğer Azure rolleri atanmadığında kesintilere neden olabilir.

Rol atama

Not

Betiklerde rol adı yerine benzersiz rol kimliğinin kullanılması önerilir. Bu nedenle, bir rol yeniden adlandırılırsa betikleriniz çalışmaya devam eder. Bu belgede rol adı yalnızca okunabilirlik için kullanılır.

Rol ataması oluşturmak için aşağıdaki komutu çalıştırın:

az role assignment create --role <role_name_or_id> --assignee <assignee> --scope <scope>

Tüm ayrıntılar için bkz. Azure CLI kullanarak Azure rolleri atama.

Azure portal kullanarak rol atamak için bkz. Azure portal kullanarak Azure rolleri atama. Azure portal Azure rol atamaları ekranı Erişim denetimi (IAM) sekmesindeki tüm kaynaklar için kullanılabilir.

Kaynak grubu kapsamı rol ataması

  1. Anahtar kasanızı içeren Kaynak Grubuna gidin.

    Role assignment - resource group

  2. Erişim denetimi (IAM) öğesini seçin.

  3. Rol ataması ekle sayfasını açmak için Ekle>Rol ataması ekle'yi seçin.

  4. Aşağıdaki rolü atayın. Ayrıntılı adımlar için bkz. Azure portal kullanarak Azure rolleri atama.

    Ayar Değer
    Rol "Key Vault Okuyucu"
    Şunlara erişim ata: Geçerli kullanıcı
    Üyeler E-posta adresine göre arama

    Add role assignment page in Azure portal.

az role assignment create --role "Key Vault Reader" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}

Tüm ayrıntılar için bkz. Azure CLI kullanarak Azure rolleri atama.

Yukarıdaki rol ataması, anahtar kasasındaki anahtar kasası nesnelerini listeleme olanağı sağlar.

kapsam rolü atamayı Key Vault

  1. Key Vault > Erişim denetimi (IAM) sekmesine gidin

  2. Ekle>Rol ataması ekle'yi seçerek Rol ataması ekle sayfasını açın.

  3. Aşağıdaki rolü atayın. Ayrıntılı adımlar için bkz. Azure portal kullanarak Azure rolleri atama.

    Ayar Değer
    Rol "Key Vault Gizli Dizi Sorumlusu"
    Şunlara erişim ata: Geçerli kullanıcı
    Üyeler E-posta adresine göre arama

    Add role assignment page in Azure portal.

az role assignment create --role "Key Vault Secrets Officer" --assignee {i.e jalichwa@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}

Tüm ayrıntılar için bkz. Azure CLI kullanarak Azure rolleri atama.

Gizli dizi kapsamı rol ataması

  1. Önceden oluşturulmuş bir gizli diziyi açın.

  2. Erişim denetimi (IAM) sekmesine tıklayın

    Role assignment - secret

  3. Ekle>Rol ataması ekle'yi seçerek Rol ataması ekle sayfasını açın.

  4. Aşağıdaki rolü atayın. Ayrıntılı adımlar için bkz. Azure portal kullanarak Azure rolleri atama.

    Ayar Değer
    Rol "Key Vault Gizli Dizi Sorumlusu"
    Şunlara erişim ata: Geçerli kullanıcı
    Üyeler E-posta adresine göre arama

    Add role assignment page in Azure portal.

az role assignment create --role "Key Vault Secrets Officer" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret

Tüm ayrıntılar için bkz. Azure CLI kullanarak Azure rolleri atama.

Test etme ve doğrulama

Not

Tarayıcılar önbelleğe alma kullanır ve rol atamaları kaldırıldıktan sonra sayfa yenilemesi gerekir.
Rol atamalarının yenilenmesi için birkaç dakika izin ver

  1. Anahtar kasası düzeyinde "Key Vault Gizli Dizi Sorumlusu" rolü olmadan yeni gizli dizi eklemeyi doğrulayın.

Anahtar kasası Erişim denetimi (IAM) sekmesine gidin ve bu kaynak için "Key Vault Gizli Dizi Sorumlusu" rol atamasını kaldırın.

Remove assignment - key vault

Önceden oluşturulmuş gizli diziye gidin. Tüm gizli dizi özelliklerini görebilirsiniz.

Secret view with access

Yeni gizli dizi oluştur (Gizli Diziler > +Oluştur/İçeri Aktar) aşağıdaki hatayı göstermelidir:

Create new secret

  1. Gizli dizi düzeyinde "gizli Key Vault Sorumlusu" rolü olmadan gizli dizi düzenlemeyi doğrulayın.
  • Daha önce oluşturulmuş gizli dizi Access Control (IAM) sekmesine gidin ve bu kaynak için "Key Vault Gizli Dizi Sorumlusu" rol atamasını kaldırın.

  • Önceden oluşturulmuş gizli diziye gidin. Gizli dizi özelliklerini görebilirsiniz.

Secret view without access

  1. Anahtar kasası düzeyinde okuyucu rolü olmadan okunan gizli dizileri doğrulayın.
  • Anahtar kasası kaynak grubu Erişim denetimi (IAM) sekmesine gidin ve "Key Vault Okuyucu" rol atamasını kaldırın.

  • Anahtar kasasının Gizli Diziler sekmesine gitmek aşağıdaki hatayı göstermelidir:

Secret tab - error

Özel roller oluşturma

az role definition create command

az role definition create --role-definition '{ \
   "Name": "Backup Keys Operator", \
   "Description": "Perform key backup/restore operations", \
    "Actions": [ 
    ], \
    "DataActions": [ \
        "Microsoft.KeyVault/vaults/keys/read ", \
        "Microsoft.KeyVault/vaults/keys/backup/action", \
         "Microsoft.KeyVault/vaults/keys/restore/action" \
    ], \
    "NotDataActions": [ 
   ], \
    "AssignableScopes": ["/subscriptions/{subscriptionId}"] \
}'

Özel roller oluşturma hakkında daha fazla bilgi için bkz:

Özel Azure rolleri

Bilinen sınırlar ve performans

  • Key Vault veri düzlemi RBAC, Azure Lighthouse gibi çok kiracılı senaryolarda desteklenmez
  • Abonelik başına 2000 Azure rol ataması
  • Rol atamaları gecikme süresi: Geçerli beklenen performansta, rolün uygulanması için rol atamaları değiştirildikten sonra 10 dakika (600 saniye) kadar sürer

Daha fazla bilgi edinin