Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, Azure Container Registry'de oturum açarken, kimlik doğrulaması yaparken veya yetkilendirme yaparken karşılaşabileceğiniz sorunları gidermenize yardımcı olur.
Belirti -leri
Aşağıdakilerden birini veya daha fazlasını içerebilir:
-
docker login
veyaaz acr login
ya da her ikisini kullanarak kayıtta oturum açılamıyor - Kayıt defterinde oturum açılamıyor ve hata
unauthorized: authentication required
alıyorsunuz veyaunauthorized: Application not registered with AAD
- Kayıt defterinde oturum açılamıyor ve Azure CLI hatası alıyorsunuz
Could not connect to the registry login server
- Görüntü gönderilemiyor veya çekilemiyor ve Docker hatası alıyorsunuz
unauthorized: authentication required
- kullanarak
az acr login
kayıt defterine erişilemiyor ve hata alıyorsunuzCONNECTIVITY_REFRESH_TOKEN_ERROR. Access to registry was denied. Response code: 403. Unable to get admin user credentials with message: Admin user is disabled. Unable to authenticate using AAD or admin login credentials.
- Azure Kubernetes Service, Azure DevOps veya başka bir Azure hizmetinden kayıt defterine erişilemiyor
- Kayıt defterine erişilemiyor ve hata
Error response from daemon: login attempt failed with status: 403 Forbidden
alıyorsunuz - Bkz. Kayıt defteriyle ilgili ağ sorunlarını giderme - Azure portalında kayıt defteri ayarlarına erişilemiyor veya görüntülenemiyor ya da Azure CLI kullanılarak kayıt defteri yönetilemiyor
Nedenler
- Docker ortamınızda düzgün yapılandırılmadı - çözüm
- Kayıt defteri yok veya ad yanlış - çözüm
- Kayıt defteri kimlik bilgileri geçerli değil - çözüm
- Kayıt defteri genel erişimi devre dışı bırakıldı. Kayıt defterindeki genel ağ erişim kuralları erişimi engelliyor - çözüm
- Kimlik bilgileri gönderme, çekme veya Azure Resource Manager işlemleri için yetkilendirilmemiş - çözüm
- Kimlik bilgilerinin süresi doldu - çözüm
- Microsoft Entra kimliği (kullanıcı, yönetilen kimlik veya hizmet sorumlusu) için kayıt defteri izinlerini yönetmek için Microsoft Entra rol tabanlı erişim denetimi (RBAC) kullanıyorsanız, kimlik kayıt defteri izinlerine sahip olabilir ancak depo izinlerine sahip olmayabilir - çözüm
Daha fazla tanılama
Kayıt defteri ortamının durumu ve isteğe bağlı olarak hedef kayıt defterine erişim hakkında daha fazla bilgi edinmek için az acr check-health komutunu çalıştırın. Örneğin, Docker yapılandırma hatalarını veya Microsoft Entra oturum açma sorunlarını tanılayın.
Komut örnekleri için Azure kapsayıcı kayıt defterinin durumunu denetleme bölümüne bakın. Hatalar bildirilirse, önerilen çözümler için hata başvurularını ve aşağıdaki bölümleri gözden geçirin.
ACR'den AKS kümesine görüntü çekemezseniz AKS destek belgesinden yönergeleri izleyin.
Uyarı
Kayıt defteri erişimini engelleyen güvenlik duvarı veya ağ yapılandırmaları varsa bazı kimlik doğrulama veya yetkilendirme hataları da oluşabilir. Kayıt defteriyle ağ sorunlarını giderme konusunu görün.
Olası çözümler
Docker yapılandırmasını denetleme
Çoğu Azure Container Registry kimlik doğrulama akışı yerel bir Docker yüklemesi gerektirir, böylece görüntüleri gönderme ve çekme gibi işlemler için kayıt defterinizde kimlik doğrulaması yapabilirsiniz. Docker CLI istemcisinin ve daemon'un (Docker Altyapısı) ortamınızda çalıştığını onaylayın. Docker istemci sürümü 18.03 veya üzeri gerekir.
İlgili bağlantılar:
Doğru kayıt defteri adını belirtin
kullanırkendocker login
, myregistry.azurecr.io gibi kayıt defterinin tam oturum açma sunucusu adını sağlayın. Yalnızca küçük harf kullandığınızdan emin olun. Örnek:
docker login myregistry.azurecr.io
Microsoft Entra kimliğiyle az acr login kullanırken, önce Azure CLI'da oturum açın ve ardından kayıt defterinin Azure kaynak adını belirtin. Kaynak adı, kayıt defteri oluşturulduğunda sağlanan addır (örneğin , myregistry (etki alanı soneki olmadan). Örnek:
az acr login --name myregistry
İlgili bağlantılar:
Kayıt defterine erişmek için kimlik bilgilerini onaylama
Senaryonuz için kullandığınız veya bir kayıt defteri sahibi tarafından size sağlanan kimlik bilgilerinin geçerliliğini denetleyin. Bazı olası sorunlar:
- Active Directory hizmet sorumlusu kullanıyorsanız, Active Directory kiracısında doğru kimlik bilgilerini kullandığınızdan emin olun:
- Kullanıcı adı - hizmet sorumlusu uygulama kimliği (istemci kimliği olarak da adlandırılır)
- Parola - hizmet sorumlusu parolası (istemci gizli anahtarı olarak da adlandırılır)
- Kayıt defterine erişmek için Azure Kubernetes Service veya Azure DevOps gibi bir Azure hizmeti kullanıyorsanız hizmetinizin kayıt defteri yapılandırmasını onaylayın.
- Docker daemon'unu
az acr login
kullanmadan kayıt defteri oturum açma işlemini etkinleştiren seçeneğiyle çalıştıysanız--expose-token
, kullanıcı adıyla00000000-0000-0000-0000-000000000000
kimlik doğrulaması yaptığınızdan emin olun. - Kayıt defteriniz anonim çekme erişimi için yapılandırılmışsa, önceki bir Docker oturumundan depolanan mevcut Docker kimlik bilgileri anonim erişimi engelleyebilir. Kayıt defterinde anonim çekme işlemi denemeden önce komutunu çalıştırın
docker logout
.
İlgili bağlantılar:
- Kimlik doğrulamasına genel bakış
- Kayıt defteri izinleri için Microsoft Entra rol tabanlı erişim denetimini (RBAC) yönetin.
- Microsoft Entra tabanlı depo izinleri için Microsoft Entra öznitelik tabanlı erişim denetimini (ABAC) yönetin.
- Microsoft Entra Id ile bireysel oturum açma
- Hizmet sorumlusuyla oturum açma
- Yönetilen kimlikle oturum açma
- Microsoft Entra belirteci tabanlı olmayan depo izinleriyle oturum açma
- Yönetici hesabıyla oturum açma
- Microsoft Entra kimlik doğrulaması ve yetkilendirme hata kodları
- az acr login referansı
Kimlik bilgilerinin kayıt defterine erişim yetkisi olduğunu onaylayın
- İzinleriniz kısa süre önce portalda kayıt defteri erişimine izin verecek şekilde değiştirildiyse, eski tarayıcı önbelleğini veya tanımlama bilgilerini önlemek için tarayıcınızda gizli veya özel bir oturum denemeniz gerekebilir.
- Microsoft Entra rol atamalarını eklemek, değiştirmek veya kaldırmak için abonelikte sizin veya kayıt defteri sahibinin yeterli ayrıcalıklara sahip olması gerekir.
Role Based Access Control Administrator
rolü tarafından Microsoft Entra rol atamalarını yönetme izinleri verilir. - Azure CLI kullanarak portaldaki bir kayıt defterine veya kayıt defteri yönetimine erişim, Azure Resource Manager işlemlerini gerçekleştirmek için en azından
Container Registry Contributor and Data Access Configuration Administrator
rol veya eşdeğer izinler gerektirir.
Kimlik izinlerini ve rol atamalarını doğrulama
- Kayıt defteri izinlerini yönetmek için Microsoft Entra rol tabanlı erişim denetimi (RBAC) kullanıyorsanız, kimliğin (kullanıcı, yönetilen kimlik veya hizmet sorumlusu) doğru rol ataması ve izinlerine sahip olduğunu onaylayın.
- "Kayıt defteri rol atama izinleri modu" (Azure portalı "Özellikler" dikey penceresinde) yeni "RBAC Kayıt Defteri + ABAC Deposu İzinleri" seçeneğine ayarlanmışsa ve kimlik görüntüleri gönderemiyorsa, çekemiyorsa veya silemiyorsa, kimliğin görüntünün içinde olduğu depoya erişme izinleri olmayabilir.
- Kimliğin depoya erişmek için doğru izinlere sahip olduğundan emin olmak için mevcut rol atamalarını ve rol ataması ABAC koşullarını denetleyin.
-
"RBAC Kayıt Defteri + ABAC Depo İzinleri" moduna sahip kayıt defterleri mevcut
AcrPull
,AcrPush
veyaAcrDelete
rollerine uymaz. - Aksine, bu tür kayıt defterleri yalnızca kayıt defterindeki depolar içinde görüntüleri okumak, yazmak veya silmek için
Container Registry Repository Reader
,Container Registry Repository Writer
veContainer Registry Repository Contributor
rollerini tanır. Bu roller, belirli depolara verilen izinleri kısıtlayan opsiyonel ABAC koşullarına sahip olabilir. - Bu rollerin kayıt üzerindeki depoları listelemeye yönelik katalog izinleri sağlamadığını unutmayın. Depoları listelemek (ancak depolardaki içeriği okumamak için), kimliğe ayrı olarak
Container Registry Repository Catalog Lister
rolünü atamanız gerekir. Bu rol ABAC koşullarını desteklemediğinden, kayıt defterindeki tüm depoları listeleme izinleri verir. - Daha fazla bilgi için bkz . Microsoft Entra tabanlı depo izinleri için Microsoft Entra öznitelik tabanlı erişim denetimi (ABAC).
- "Kayıt defteri rol atama izinleri modu" eski "RBAC Kayıt Defteri İzinleri" seçeneğine ayarlanmışsa, kimliğin kayıt defterine ve depolarına erişim izinleri olmayabilir.
- Kimliğin kayıt defterine ve depolarına erişmek için doğru izinlere sahip olduğundan emin olmak için mevcut rol atamalarını denetleyin.
-
"RBAC Kayıt İzinleri" moduna sahip kayıtlar, bir kayıttaki depolardaki görüntüleri okumak, yazmak veya silmek için yalnızca
AcrPull
,AcrPush
veyaAcrDelete
rollerini dikkate alır. - Daha fazla bilgi için bkz. Azure Container Registry Microsoft Entra izinlerine ve rollerine genel bakış.
- "Kayıt defteri rol atama izinleri modu" (Azure portalı "Özellikler" dikey penceresinde) yeni "RBAC Kayıt Defteri + ABAC Deposu İzinleri" seçeneğine ayarlanmışsa ve kimlik görüntüleri gönderemiyorsa, çekemiyorsa veya silemiyorsa, kimliğin görüntünün içinde olduğu depoya erişme izinleri olmayabilir.
İlgili bağlantılar:
- Azure Container Registry Microsoft Entra izinlerine ve rollerine genel bakış
- Kayıt defteri izinleri için Microsoft Entra rol tabanlı erişim denetimini (RBAC) yönetin.
- Microsoft Entra tabanlı depo izinleri için Microsoft Entra öznitelik tabanlı erişim denetimini (ABAC) yönetin.
- Azure portalını kullanarak Azure rol ataması ekleme veya kaldırma
- Kaynaklara erişebilen bir Microsoft Entra uygulaması ve hizmet sorumlusu oluşturmak için portalı kullanın
- Yeni bir uygulama gizli anahtarı oluşturun
- Microsoft Entra kimlik doğrulaması ve yetkilendirme kodları
- Microsoft Entra belirteci tabanlı olmayan depo izinleriyle oturum açma
Kimlik bilgilerinin süresinin dolmadığını denetleyin
Belirteçlerin ve Active Directory kimlik bilgilerinin süresi tanımlı dönemlerden sonra dolabilir ve bu da kayıt defteri erişimini engelleyebilir. Erişimi etkinleştirmek için kimlik bilgilerinin sıfırlanması veya yeniden üretilmesi gerekebilir.
- Kayıt defterine giriş için bireysel bir AD kimliği, yönetilen kimlik veya hizmet ilkesi kullanılıyorsa, AD jetonunun süresi 3 saat sonra dolar. Kayıt defterinde yeniden oturum açın.
- Süresi dolmuş bir istemci sırrı olan bir AD hizmet sorumlusu kullanıyorsanız, bir abonelik sahibi veya hesap yöneticisinin kimlik bilgilerini sıfırlaması veya yeni bir hizmet sorumlusu oluşturması gerekir.
- Microsoft Entra belirteci tabanlı olmayan bir depo izinleri kullanıyorsanız, kayıt defteri sahibinin parolayı sıfırlaması veya yeni bir belirteç oluşturması gerekebilir.
İlgili bağlantılar:
- Hizmet sorumlusu kimlik bilgilerini sıfırlama
- Microsoft dışı Entra jeton parolalarını yeniden oluşturmak
- Microsoft Entra Id ile bireysel oturum açma
Gelişmiş sorun giderme
Kayıt defterinde kaynak günlükleri koleksiyonu etkinleştirildiyse ContainerRegistryLoginEvents günlüğünü gözden geçirin. Bu günlük, kimlik doğrulama olaylarını ve durumunu; kimlik ve IP adresi gibi gelen bilgileri de dahil ederek depolar. Kayıt defteri kimlik doğrulaması hataları için günlüğü sorgula.
İlgili bağlantılar:
- Teşhis değerlendirmesi ve denetleme günlükleri
- Kapsayıcı kayıt defteri Sıkça Sorulan Sorular
- Azure Container Registry için en iyi yöntemler
Sonraki Adımlar
Sorununuzu burada çözmezseniz aşağıdaki seçeneklere bakın.
- Diğer kayıt defteri sorun giderme konuları şunlardır:
- Topluluk desteği seçenekleri
- Microsoft Soru&Cevap
- Destek bileti açma - sağladığınız bilgilere bağlı olarak, kayıt defterinizdeki kimlik doğrulama hataları için hızlı bir tanılama çalıştırılabilir