Aracılığıyla paylaş


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 pushaz acr list, , az acr buildve 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.