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.
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ı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ı
Anahtar kasanızı içeren Kaynak Grubuna gidin.
Erişim denetimi (IAM) öğesini seçin.
Rol ataması ekle sayfasını açmak için Ekle>Rol ataması ekle'yi seçin.
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
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
Key Vault > Erişim denetimi (IAM) sekmesine gidin
Ekle>Rol ataması ekle'yi seçerek Rol ataması ekle sayfasını açın.
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
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ı
Önceden oluşturulmuş bir gizli diziyi açın.
Erişim denetimi (IAM) sekmesine tıklayın
Ekle>Rol ataması ekle'yi seçerek Rol ataması ekle sayfasını açın.
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
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
- 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.
Önceden oluşturulmuş gizli diziye gidin. Tüm gizli dizi özelliklerini görebilirsiniz.
Yeni gizli dizi oluştur (Gizli Diziler > +Oluştur/İçeri Aktar) aşağıdaki hatayı göstermelidir:
- 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.
- 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:
Ö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:
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