rolleri ve izinleri Azure Container Registry
Azure Container Registry hizmeti, Bir Azure kapsayıcı kayıt defterine farklı düzeylerde izinler sağlayan bir dizi yerleşik Azure rolünü destekler. Kayıt defteriyle etkileşim kurması gereken kullanıcılara, hizmet sorumlularına veya diğer kimliklere (örneğin kapsayıcı görüntülerini çekmek veya göndermek için) 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 | Erişim 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 |
Rolleri 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, Azure CLI, Azure PowerShell 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 kimlik doğrulaması Azure Container Registry.
Kullanıcıları ve hizmetleri ayırt etmek
İzinler her uygulandığında, en iyi yöntem bir görevi gerçekleştirmek için 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ünden farklı olarak hesabın diğer kayıt defteri işlemlerini gerçekleştirmesini veya Azure Resource Manager 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 gerektirmez.
Docker uzantısını Visual Studio Code
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ızın Okuyucu veya Katkıda Bulunan rolüne erişmesini sağlayın. Bu roller , docker push
, , az acr list
az acr build
ve diğer özelliklere izin verirdocker pull
.
Erişim Resource Manager
Azure CLI ile Azure portal ve kayıt defteri yönetimi için Azure Resource Manager erişimi gerekir. Örneğin, komutunu kullanarak az acr list
kayıt defterlerinin listesini almak için bu izin kümesine ihtiyacınız vardır.
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ü
Bir görüntüye veya docker push
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 docker pull
karantinaya alınamayan bir görüntü veya Helm grafiği gibi desteklenen başka bir yapıt çekme özelliği. 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 desteklenen diğer yapıtları silme olanağı.
İlkeleri değiştirme
Kayıt defterinde ilke yapılandırma özelliği. İlkeler görüntü temizlemeyi, karantinayı etkinleştirmeyi 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'da 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 bir kayıt defteriyle etkileşim kurması gereken kullanıcılara, hizmet sorumlularına veya 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 roller gibi Microsoft.ContainerRegistry/*/read
joker Microsoft.ContainerRegistry/registries/*/write
karakter eylemlerini destekler ve eşleşen tüm eylemlere erişim verir. ARM özel bağlantısı olmayan bir kiracıda, gerekli tüm kayıt defteri eylemlerini özel bir rolde tek tek 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, Azure CLI, Azure PowerShell 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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin