Azure Container Registry rolleri ve izinleri
Azure Container Registry hizmeti, bir Azure kapsayıcı kayıt defterine farklı izin düzeyleri sağlayan bir dizi yerleşik Azure rolünü destekler. Kapsayıcı görüntülerini çekmek veya göndermek gibi bir kayıt defteriyle etkileşim kurması gereken kullanıcılara, hizmet sorumlularına veya diğer kimliklere belirli izinler atamak için Azure rol tabanlı erişim denetimini (Azure RBAC) kullanın. Ayrıca, farklı işlemler için kayıt defterinde ayrıntılı izinlere sahip özel roller tanımlayabilirsiniz.
Rol/İzin | Access Resource Manager | Kayıt defteri oluşturma/silme | Anında iletme görüntüsü | Çekme resmi | Görüntü verilerini silme | İlkeleri değiştirme | Resimleri imzalama |
---|---|---|---|---|---|---|---|
Sahip | X | X | X | X | X | X | |
Katılımcı | X | X | X | X | X | X | |
Okuyucu | X | X | |||||
AcrPush | X | X | |||||
AcrPull | X | ||||||
AcrDelete | X | ||||||
AcrImageSigner | X |
Rol atama
Bkz . Mevcut bir kullanıcıya, gruba, hizmet sorumlusuna veya yönetilen kimliğe rol ataması eklemeye yönelik üst düzey adımlar için rol ataması ekleme adımları. Azure portalını, Azure CLI'yı, Azure PowerShell'i veya diğer Azure araçlarını kullanabilirsiniz.
Hizmet sorumlusu oluştururken, kapsayıcı kayıt defteri gibi Azure kaynaklarına erişimini ve izinlerini de yapılandırırsınız. Azure CLI kullanan örnek bir betik için bkz . Hizmet sorumlularıyla Azure Container Registry kimlik doğrulaması.
Kullanıcıları ve hizmetleri ayırt etmek
İzinler her uygulandığında, en iyi yöntem bir görevi gerçekleştirmek üzere bir kişi veya hizmet için en sınırlı izin kümesini sağlamaktır. Aşağıdaki izin kümeleri, insanlar ve başsız hizmetler tarafından kullanılabilecek bir dizi özelliği temsil eder.
CI/CD çözümleri
CI/CD çözümlerinden komutları otomatikleştirdiğinizde docker build
, özelliklere ihtiyacınız vardır docker push
. Bu başsız hizmet senaryoları için AcrPush rolünü atamanızı öneririz. Bu rol, daha geniş Katkıda Bulunan rolünün aksine hesabın diğer kayıt defteri işlemlerini gerçekleştirmesini veya Azure Resource Manager'a erişmesini engeller.
Kapsayıcı konak düğümleri
Benzer şekilde, kapsayıcılarınızı çalıştıran düğümler AcrPull rolüne ihtiyaç duyar, ancak Okuyucu özellikleri gerektirmemelidir.
Visual Studio Code Docker uzantısı
Visual Studio Code Docker uzantısı gibi araçlar için, kullanılabilir Azure kapsayıcı kayıt defterlerini listelemek için ek kaynak sağlayıcısı erişimi gerekir. Bu durumda, kullanıcılarınıza Okuyucu veya Katkıda Bulunan rolüne erişim sağlayın. Bu roller , , docker push
az acr list
, , az acr build
ve diğer özelliklere izin verirdocker pull
.
Access Resource Manager
Azure portalı ve Azure CLI ile kayıt defteri yönetimi için Azure Resource Manager erişimi gereklidir. Örneğin, komutunu kullanarak az acr list
kayıt defterlerinin listesini almak için bu izin kümesini kullanmanız gerekir.
Kayıt defteri oluşturma ve silme
Azure kapsayıcı kayıt defterleri oluşturma ve silme özelliği.
Anında iletme görüntüsü
Görüntü oluşturma docker push
veya Helm grafiği gibi desteklenen başka bir yapıtı kayıt defterine gönderme özelliği. Yetkili kimliği kullanarak kayıt defteriyle kimlik doğrulaması gerektirir.
Çekme resmi
Kayıt defterinden karantinaya alınamayan bir görüntü veya Helm grafiği gibi desteklenen başka bir yapıt çekme özelliğidocker pull
. Yetkili kimliği kullanarak kayıt defteriyle kimlik doğrulaması gerektirir.
Görüntü verilerini silme
Kayıt defterinden kapsayıcı görüntülerini silme veya Helm grafikleri gibi diğer desteklenen yapıtları silme olanağı.
İlkeleri değiştirme
Bir kayıt defterinde ilkeleri yapılandırma özelliği. İlkeler görüntü temizleme, karantinayı etkinleştirme ve görüntü imzalamayı içerir.
Resimleri imzalama
Genellikle otomatik bir işleme atanan ve hizmet sorumlusu kullanan görüntüleri imzalama özelliği. Bu izin genellikle güvenilir bir görüntüyü kayıt defterine göndermeye izin vermek için anında iletme görüntüsüyle birleştirilir. Ayrıntılar için bkz . Azure Container Registry'de içerik güveni.
Özel roller
Diğer Azure kaynaklarında olduğu gibi, Azure Container Registry için ayrıntılı izinlere sahip özel roller oluşturabilirsiniz. Ardından özel rolleri kullanıcılara, hizmet sorumlularına veya kayıt defteriyle etkileşim kurması gereken diğer kimliklere atayın.
Özel bir role hangi izinlerin uygulanacağını belirlemek için Microsoft.ContainerRegistry eylemleri listesine bakın, yerleşik ACR rollerinin izin verilen eylemlerini gözden geçirin veya aşağıdaki komutu çalıştırın:
az provider operation show --namespace Microsoft.ContainerRegistry
Özel rol tanımlamak için bkz . Özel rol oluşturma adımları.
Not
Azure Resource Manager özel bağlantısıyla yapılandırılan kiracılarda Azure Container Registry, özel rollerde veya Microsoft.ContainerRegistry/registries/*/write
gibi Microsoft.ContainerRegistry/*/read
joker karakter eylemlerini destekleyerek tüm eşleşen eylemlere erişim verir. ARM özel bağlantısı olmayan bir kiracıda, tüm gerekli kayıt defteri eylemlerini özel bir rolde ayrı ayrı belirtin.
Örnek: Görüntüleri içeri aktarmak için özel rol
Örneğin aşağıdaki JSON, görüntülerin kayıt defterine aktarılmasına izin veren özel bir rol için en düşük eylemleri tanımlar.
{
"assignableScopes": [
"/subscriptions/<optional, but you can limit the visibility to one or more subscriptions>"
],
"description": "Can import images to registry",
"Name": "AcrImport",
"permissions": [
{
"actions": [
"Microsoft.ContainerRegistry/registries/push/write",
"Microsoft.ContainerRegistry/registries/pull/read",
"Microsoft.ContainerRegistry/registries/read",
"Microsoft.ContainerRegistry/registries/importImage/action"
],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"roleType": "CustomRole"
}
JSON açıklamasını kullanarak özel rol oluşturmak veya güncelleştirmek için Azure CLI, Azure Resource Manager şablonu, Azure PowerShell veya diğer Azure araçlarını kullanın. Yerleşik Azure rolleri için rol atamalarını yönettiğiniz şekilde özel bir rol için rol atamaları ekleyin veya kaldırın.
Sonraki adımlar
Azure portalını, Azure CLI'yı, Azure PowerShell'i veya diğer Azure araçlarını kullanarak Azure kimliklerine Azure rolleri atama hakkında daha fazla bilgi edinin.
Azure Container Registry için kimlik doğrulama seçenekleri hakkında bilgi edinin.
Kapsayıcı kayıt defterinde depo kapsamlı izinleri etkinleştirme hakkında bilgi edinin.