Azure rol tabanlı erişim denetimiyle Key Vault anahtarlarına, sertifikalarına ve gizli dizilerine 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 hizmet sertifikası yapılandırması Azure Uygulaması Key Vault RBAC izin modelini desteklemez. Azure PowerShell, Azure CLI, ARM şablonu dağıtımlarını App Service genel kimliği için Key Vault Sertifikası Kullanıcı rolü ataması ile kullanabilirsiniz; örneğin, genel buluttaki Microsoft Azure Uygulaması Service' gibi.
Azure rol tabanlı erişim denetimi (Azure RBAC), Azure kaynakları için merkezi erişim yönetimi sağlayan, Azure Resource Manager üzerinde oluşturulmuş bir yetkilendirme sistemidir.
Azure RBAC, kullanıcıların anahtarları, gizli dizileri ve sertifika izinlerini yönetmesine olanak tanır ve tüm anahtar kasalarında tüm izinleri yönetmek için tek bir yer sağlar.
Azure RBAC modeli, kullanıcıların farklı kapsam düzeylerinde izinler ayarlamasına olanak tanır: yönetim grubu, abonelik, kaynak grubu veya tek tek kaynaklar. Anahtar kasası için Azure RBAC, kullanıcıların tek tek anahtarlar, gizli diziler ve sertifikalar üzerinde ayrı izinlere sahip olmasını da sağlar.
Daha fazla bilgi için bkz . Azure rol tabanlı erişim denetimi (Azure RBAC).
Tek tek anahtarlar, gizli diziler ve sertifika rol atamaları için en iyi yöntemler
Önerimiz, anahtar kasası kapsamında atanmış rollerle ortam başına uygulama başına bir kasa (Geliştirme, Üretim Öncesi ve Üretim) kullanmaktır.
Tek tek anahtarlar, gizli diziler ve sertifikalar üzerinde rol atamaktan kaçınılmalıdır. Özel durum, tek tek gizli dizilerin birden çok uygulama arasında paylaşılması gereken bir senaryodur; örneğin, bir uygulamanın başka bir uygulamadan verilere erişmesi gerektiğinde.
Azure Key Vault yönetim yönergeleri hakkında daha fazla bilgi için bkz:
Key Vault veri düzlemi işlemleri için Azure yerleşik rolleri
Not
Bu Key Vault Contributor
rol yalnızca anahtar kasalarını yönetmek için yönetim düzlemi işlemlerine yöneliktir. Anahtarlara, gizli dizilere ve sertifikalara erişime izin vermez.
Yerleşik rol | Açıklama | Kimlik |
---|---|---|
Key Vault Yöneticisi | Bir anahtar kasasında ve sertifikalar, anahtarlar ve gizli diziler de dahil olmak üzere içindeki tüm nesnelerde tüm veri düzlemi işlemlerini gerçekleştirin. Anahtar kasası kaynakları yönetilemez veya rol atamaları yönetilemez. Yalnızca 'Azure rol tabanlı erişim denetimi' izin modelini kullanan anahtar kasalarında çalışır. | 00482a5a-887f-4fb3-b363-3b7fe8e74483 |
Key Vault Okuyucusu | 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 Temizleme İşleci | Geçici olarak silinen kasaların kalıcı olarak silinmesine izin verir. | a68e7c17-0ab2-4c09-9a58-125dae29748c |
Key Vault Sertifika Yetkilisi | Anahtar kasasının sertifikalarında gizli dizi ve anahtar bölümlerini okuma ve izinleri yönetme dışı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 Sertifika Kullanıcısı | Gizli dizi ve anahtar bölümü de dahil olmak üzere tüm sertifika içeriğini okuyun. Yalnızca 'Azure rol tabanlı erişim denetimi' izin modelini kullanan anahtar kasalarında çalışır. | db79e9a7-68ee-4b58-9aeb-b90e7c24fcba |
Key Vault Şifreleme Yetkilisi | İ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 |
Key Vault Şifreleme Hizmeti Şifreleme Kullanıcısı | 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 |
Key Vault Şifreleme Kullanıcısı | 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 Şifreleme Hizmeti Yayın Kullanıcısı | Azure Gizli Bilgi İşlem ve eşdeğer ortamlar için sürüm anahtarları. Yalnızca 'Azure rol tabanlı erişim denetimi' izin modelini kullanan anahtar kasalarında çalışır. | |
Key Vault Gizli DiziLeri Yetkilisi | İzinleri yönetme dışında 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 |
Key Vault Gizli Dizi Kullanıcısı | Özel anahtara sahip bir sertifikanın gizli dizi kısmı da 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 |
Azure yerleşik rol tanımları hakkında daha fazla bilgi için bkz . Azure yerleşik rolleri.
Yerleşik Key Vault veri düzlemi rol atamalarını yönetme
Yerleşik rol | Açıklama | Kimlik |
---|---|---|
Key Vault Veri Erişim Yöneticisi | Key Vault Yöneticisi, Key Vault Sertifika Yetkilisi, Anahtar Kasası Şifreleme Yetkilisi, Key Vault Şifreleme Hizmeti Şifreleme Kullanıcısı, Key Vault Şifreleme Kullanıcısı, Key Vault Okuyucusu, Key Vault Gizli DiziLeri Yetkilisi veya Key Vault Gizli Dizileri Kullanıcı rolleri için rol atamaları ekleyerek veya kaldırarak Azure Key Vault erişimini yönetin. Rol atamalarını kısıtlamak için bir ABAC koşulu içerir. | 8b54135c-b56d-4d72-a534-26097cfdc8d8 |
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ını yönetmek için, Key Vault Veri Erişim Yöneticisi (yalnızca belirli Key Vault rollerini atamak/kaldırmak için kısıtlı izinlere sahip), Kullanıcı Erişim Yöneticisi veya Sahip gibi ve izinleriniz olmalıdır Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
.
Key Vault'ta Azure RBAC izinlerini etkinleştirme
Not
İzin modelini değiştirmek için Sahip ve Kullanıcı Erişimi Yöneticisi rollerinin parçası olan sınırsız 'Microsoft.Authorization/roleAssignments/write' izni gerekir. İzin modelini değiştirmek için 'Hizmet Yöneticisi' ve 'Ortak Yönetici' gibi klasik abonelik yöneticisi rolleri veya kısıtlanmış 'Key Vault Veri Erişim Yöneticisi' kullanılamaz.
Yeni anahtar kasasında Azure RBAC izinlerini etkinleştirin:
Mevcut anahtar kasasında Azure RBAC izinlerini etkinleştirin:
Önemli
Azure RBAC izin modelinin ayarlanması tüm erişim ilkeleri izinlerini geçersiz kılar. Eşdeğer Azure rolleri atanmadığında kesintilere neden olabilir.
Rol atama
Not
Betiklerde rol adı yerine benzersiz rol kimliğini kullanmanız önerilir. Bu nedenle, bir rol yeniden adlandırılırsa betikleriniz çalışmaya devam eder. Bu belgedeki rol adı okunabilirlik için kullanılır.
Azure CLI kullanarak rol ataması oluşturmak için az role assignment komutunu kullanın:
az role assignment create --role {role-name-or-id} --assignee {assignee-upn}> --scope {scope}
Tüm ayrıntılar için bkz . Azure CLI kullanarak Azure rolleri atama.
Kaynak grubu kapsamı rol ataması
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.
Key Vault kapsamı rol ataması
az role assignment create --role "Key Vault Secrets Officer" --assignee {assignee-upn} --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ı senaryolarda en iyi güvenlik uygulamalarıyla uyumlu olacak şekilde kullanılmalıdır.
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 edin ve doğrulayın
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
Anahtar kasası düzeyinde "Key Vault Gizli DiziLeri Yetkilisi" 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 Dizileri Yetkilisi" rol atamasını kaldırın.
Önceden oluşturulmuş gizli diziye gidin. Tüm gizli dizi özelliklerini görebilirsiniz.
Yeni gizli dizi oluştur (Gizli Diziler > +Oluştur/İçeri Aktar) şu hatayı göstermelidir:
Gizli dizi düzeyinde "Key Vault Gizli Dizi Yetkilisi" rolü olmadan gizli dizi düzenlemeyi doğrulayın.
Daha önce oluşturulmuş gizli dizi Erişim Denetimi (IAM) sekmesine gidin ve bu kaynak için "Key Vault Gizli Dizileri Yetkilisi" rol atamasını kaldırın.
Önceden oluşturulmuş gizli diziye gidin. Gizli dizi özelliklerini görebilirsiniz.
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 Okuyucusu" rol atamasını kaldırın.
Anahtar kasasının Gizli Diziler sekmesine gitmek şu hatayı göstermelidir:
Ö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:
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, Key Vault'taki tek tek nesnelere kullanıcıya veya uygulamaya 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 gösterir.