Kayıt defteri oturum açma sorunlarını giderme
Bu makale, Azure kapsayıcı kayıt defterinde oturum açarken karşılaşabileceğiniz sorunları gidermenize yardımcı olur.
Belirtiler
Aşağıdakilerden birini veya daha fazlasını içerebilir:
- ,
az acr login
veya her ikisini kullanarakdocker login
kayıt defterinde 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
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 bkz . Azure kapsayıcı kayıt defterinin durumunu denetleme. 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.
Not
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. Bkz . Kayıt defteriyle ilgili ağ sorunlarını giderme.
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
--expose-token
kullanmadan kayıt defteri oturum açma işlemini etkinleştiren seçeneğiyle çalıştıysanızaz acr login
, 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ış
- Microsoft Entra Id ile bireysel oturum açma
- Hizmet sorumlusuyla oturum açma
- Yönetilen kimlikle oturum açma
- Depo kapsamlı belirteçle oturum açma
- Yönetici hesabıyla oturum açma
- Microsoft Entra kimlik doğrulaması ve yetkilendirme hata kodları
- az acr login reference
Kimlik bilgilerinin kayıt defterine erişim yetkisi olduğunu onaylayın
Kayıt defterinden görüntü çekmek için Azure rolü veya AcrPush
görüntüleri gönderme rolü gibi AcrPull
kimlik bilgileriyle ilişkili kayıt defteri izinlerini onaylayın.
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 Reader
rol veya eşdeğer izinler gerektirir.
İ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.
Rol atamaları eklemek veya kaldırmak için abonelikte sizin veya kayıt defteri sahibinin yeterli ayrıcalıklara sahip olması gerekir.
İlgili bağlantılar:
- Azure rolleri ve izinleri - Azure Container Registry
- Depo kapsamlı belirteçle oturum açma
- 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 uygulama gizli dizisi oluşturma
- Microsoft Entra kimlik doğrulaması ve yetkilendirme kodları
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 defteri oturum açma işlemi için tek bir AD kimliği, yönetilen kimlik veya hizmet sorumlusu kullanılıyorsa, AD belirtecinin süresi 3 saat sonra dolar. Kayıt defterinde yeniden oturum açın.
- Süresi dolmuş bir istemci gizli dizisi olan bir AD hizmet sorumlusu kullanıyorsanız, abonelik sahibinin veya hesap yöneticisinin kimlik bilgilerini sıfırlaması veya yeni bir hizmet sorumlusu oluşturması gerekir.
- Depo kapsamlı bir belirteç 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
- Belirteç parolalarını yeniden oluşturma
- 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, gelen kimlik ve IP adresi de dahil olmak üzere kimlik doğrulama olaylarını ve durumunu depolar. Kayıt defteri kimlik doğrulaması hataları için günlüğü sorgula.
İlgili bağlantılar:
- Tanılama değerlendirmesi ve denetim günlükleri
- Kapsayıcı kayıt defteri hakkında SSS
- 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