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 Portal aracılığıyla sertifika yapılandırmasını Azure App Service Key Vault RBAC izin modelini desteklemez. 'Microsoft Azure App Service' genel girintisi için Key Vault Gizli Dizi Kullanıcısı ve Key Vault Okuyucusu rolü atamaları ile Azure PowerShell, Azure CLI, ARM şablonu dağıtımlarını kullanabilirsiniz.

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 ayarlamak için kullanımlara izin verir: yönetim grubu, abonelik, kaynak grubu veya tek tek kaynaklar. Anahtar kasası için Azure RBAC ayrıca kullanıcıların tek tek anahtarlar, gizli diziler ve sertifikalar üzerinde ayrı izinlere sahip olmasını 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 dizilerin paylaşılması, örneğin bir uygulamanın diğer uygulamadaki verilere erişmesi gerekir

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 Özel anahtara sahip bir sertifikanın gizli bölümü de dahil olmak üzere 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

Not

Bunun nedeni, uygulamaların özel anahtarla sertifikanın gizli diziler bölümünü gerektirmesidir Key Vault Certificate User . Rolün Key Vault Secrets User , uygulamaların sertifikayı alması için kullanılması gerekir.

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:

    Azure RBAC izinlerini etkinleştirme - yeni kasa

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

    Azure RBAC izinlerini etkinleştirme - mevcut kasa

Ö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.

    Rol ataması - kaynak grubu

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

  3. Rol ataması ekle sayfasını açmak için 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

    Azure portal rol ataması sayfası ekleyin.

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. Rol ataması ekle sayfasını açmak için Rol ataması ekle'yi> seçin.

  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

    Azure portal rol ataması sayfası ekleyin.

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ı

Not

Anahtar kasası gizli dizisi, sertifika, anahtar kapsamı rol atamaları yalnızca burada açıklanan sınırlı senaryolar için güvenlik en iyi yöntemleriyle uyumlu olacak şekilde kullanılmalıdır.

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

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

    Rol ataması - gizli dizi

  3. Rol ataması ekle sayfasını açmak için 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 Gizli Dizi Sorumlusu"
    Şunlara erişim ata: Geçerli kullanıcı
    Üyeler E-posta adresine göre arama

    Azure portal rol ataması sayfası ekleyin.

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.

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

      Atamayı kaldırma - anahtar kasası

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

      Erişimli gizli dizi görünümü

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

      Yeni gizli dizi oluşturma

  2. Gizli dizi düzeyinde "gizli Key Vault Sorumlusu" rolü olmadan gizli dizi düzenlemeyi doğrulayın.

    1. 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.

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

      Erişim olmadan gizli dizi görünümü

  3. Anahtar kasası düzeyinde okuyucu rolü olmadan okunan gizli dizileri doğrulayın.

    1. Anahtar kasası kaynak grubu Erişim denetimi (IAM) sekmesine gidin ve "Key Vault Okuyucu" rol atamasını kaldırın.

    2. Anahtar kasasının Gizli Diziler sekmesine gitmek şu hatayı göstermelidir:

      Gizli dizi sekmesi - hata

Ö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

Sık Sorulan Sorular:

Key Vault içindeki uygulama ekiplerine yalıtım sağlamak için Key Vault rol tabanlı erişim denetimi (RBAC) izin modeli nesne kapsamı atamalarını kullanabilir miyim?

Hayır. RBAC izin modeli, kullanıcı veya uygulamaya Key Vault içindeki tek tek nesnelere erişim atamanıza olanak tanır, ancak ağ erişim denetimi, izleme ve nesne yönetimi gibi tüm yönetim işlemleri kasa düzeyinde izinler gerektirir ve bu da güvenli bilgileri uygulama ekipleri genelindeki işleçlere sunar.

Daha fazla bilgi edinin