Řešení potíží s přihlášením k registru
Tento článek vám pomůže vyřešit problémy, se kterými se můžete setkat při přihlašování k registru kontejneru Azure.
Příznaky
Může obsahovat jednu nebo více z následujících možností:
- Nejde se přihlásit k registru pomocí
docker login
,az acr login
nebo obojího - Nejde se přihlásit k registru a zobrazí se chyba
unauthorized: authentication required
nebounauthorized: Application not registered with AAD
- Nejde se přihlásit k registru a zobrazí se chyba Azure CLI
Could not connect to the registry login server
- Nejde nasdílit nebo vyžádat image a zobrazí se chyba Dockeru
unauthorized: authentication required
- Nejde získat přístup k registru pomocí
az acr login
a zobrazí se chybaCONNECTIVITY_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.
- Nejde získat přístup k registru ze služby Azure Kubernetes Service, Azure DevOps nebo jiné služby Azure
- Nejde získat přístup k registru a zobrazí se chyba
Error response from daemon: login attempt failed with status: 403 Forbidden
– Viz Řešení potíží se sítí s registrem - Nejde získat přístup k nastavením registru nebo zobrazit na webu Azure Portal nebo spravovat registr pomocí Azure CLI
Příčiny
- Docker není ve vašem prostředí správně nakonfigurovaný – řešení
- Registr neexistuje nebo je název nesprávný – řešení
- Přihlašovací údaje registru nejsou platné – řešení
- Veřejný přístup registru je zakázaný. Pravidla přístupu k veřejné síti v registru brání přístupu – řešení
- Přihlašovací údaje nejsou autorizované pro operace push, pull nebo Azure Resource Manager – řešení.
- Platnost přihlašovacích údajů vypršela – řešení
Další diagnostika
Spuštěním příkazu az acr check-health získejte další informace o stavu prostředí registru a volitelně přístup k cílovému registru. Můžete například diagnostikovat chyby konfigurace Dockeru nebo problémy s přihlášením k Microsoft Entra.
Příklady příkazů najdete v tématu Kontrola stavu registru kontejnerů Azure. Pokud jsou nahlášeny chyby, projděte si referenční informace o chybách a v následujících částech se podívejte na doporučená řešení.
Pokud se vám nepodaří načíst image z ACR do clusteru AKS, postupujte podle pokynů z dokumentace podpory AKS.
Poznámka:
K některým chybám ověřování nebo autorizace může dojít také v případě, že existují konfigurace brány firewall nebo sítě, které brání přístupu k registru. Viz Řešení potíží se sítí s registrem.
Potenciální řešení
Kontrola konfigurace Dockeru
Většina toků ověřování ve službě Azure Container Registry vyžaduje místní instalaci Dockeru, abyste se mohli ověřit v registru pro operace, jako je odesílání a načítání imagí. Ověřte, že ve vašem prostředí běží klient Rozhraní příkazového řádku Dockeru a proces démon (Docker Engine). Potřebujete klienta Dockeru verze 18.03 nebo novější.
Související odkazy:
Zadejte správný název registru.
Při použití docker login
zadejte úplný název přihlašovacího serveru registru, například myregistry.azurecr.io. Ujistěte se, že používáte jenom malá písmena. Příklad:
docker login myregistry.azurecr.io
Při použití příkazu az acr login s identitou Microsoft Entra se nejprve přihlaste k Azure CLI a pak zadejte název prostředku Azure registru. Název prostředku je název zadaný při vytvoření registru, například myregistry (bez přípony domény). Příklad:
az acr login --name myregistry
Související odkazy:
Potvrzení přihlašovacích údajů pro přístup k registru
Zkontrolujte platnost přihlašovacích údajů, které používáte pro svůj scénář, nebo vám je poskytl vlastník registru. Některé možné problémy:
- Pokud používáte instanční objekt služby Active Directory, ujistěte se, že používáte správné přihlašovací údaje v tenantovi Active Directory:
- Uživatelské jméno – ID aplikace instančního objektu (označované také jako ID klienta)
- Heslo – heslo instančního objektu (označované také jako tajný klíč klienta)
- Pokud pro přístup k registru používáte službu Azure, jako je Azure Kubernetes Service nebo Azure DevOps, potvrďte konfiguraci registru pro vaši službu.
- Pokud jste spustili
az acr login
možnost--expose-token
, která umožňuje přihlášení registru bez použití démona Dockeru, ujistěte se, že jste se ověřili pomocí uživatelského jména00000000-0000-0000-0000-000000000000
. - Pokud je váš registr nakonfigurovaný pro anonymní přístup k vyžádání změn, stávající přihlašovací údaje Dockeru uložené z předchozího přihlášení Dockeru můžou zabránit anonymnímu přístupu. Před pokusem o anonymní operaci vyžádání změn v registru spusťte
docker logout
.
Související odkazy:
- Přehled ověřování
- Individuální přihlášení pomocí Microsoft Entra ID
- Přihlášení pomocí instančního objektu
- Přihlášení pomocí spravované identity
- Přihlášení pomocí tokenu s vymezeným úložištěm
- Přihlášení pomocí účtu správce
- Kódy chyb autorizace a ověřování Microsoft Entra
- az acr login reference
Potvrzení oprávnění k přístupu k registru
Ověřte oprávnění registru, která jsou přidružená k přihlašovacím údajům, jako AcrPull
je role Azure pro vyžádání imagí z registru nebo AcrPush
role pro nabízení imagí.
Přístup k registru na portálu nebo správě registru pomocí Azure CLI vyžaduje alespoň Reader
roli nebo ekvivalentní oprávnění k provádění operací Azure Resource Manageru.
Pokud se vaše oprávnění nedávno změnila tak, aby umožňovala přístup k registru přes portál, možná budete muset v prohlížeči vyzkoušet anonymní nebo soukromou relaci, abyste se vyhnuli zastaralé mezipaměti prohlížeče nebo souborům cookie.
Abyste mohli přidávat nebo odebírat přiřazení rolí, musíte mít v předplatném dostatečná oprávnění vy nebo vlastník registru.
Související odkazy:
- Role a oprávnění Azure – Azure Container Registry
- Přihlášení pomocí tokenu s vymezeným úložištěm
- Přidání nebo odebrání přiřazení rolí Azure pomocí portálu Azure Portal
- Použití portálu k vytvoření aplikace Microsoft Entra a instančního objektu, který má přístup k prostředkům
- Vytvoření nového tajného klíče aplikace
- Ověřovací a autorizační kódy Microsoft Entra
Zkontrolujte, jestli nevypršela platnost přihlašovacích údajů.
Platnost tokenů a přihlašovacích údajů služby Active Directory může vypršet po definovaných obdobích, což brání přístupu k registru. Pokud chcete povolit přístup, je možné, že přihlašovací údaje bude potřeba resetovat nebo znovu vygenerovat.
- Pokud pro přihlášení k registru používáte individuální identitu AD, spravovanou identitu nebo instanční objekt, platnost tokenu AD vyprší po 3 hodinách. Znovu se přihlaste k registru.
- Pokud používáte instanční objekt AD s tajným kódem klienta s prošlou platností, musí vlastník předplatného nebo správce účtu resetovat přihlašovací údaje nebo vygenerovat nový instanční objekt.
- Pokud používáte token s oborem úložiště, může vlastník registru potřebovat resetovat heslo nebo vygenerovat nový token.
Související odkazy:
- Resetování přihlašovacích údajů instančního objektu
- Opětovné generování hesel tokenů
- Individuální přihlášení pomocí Microsoft Entra ID
Řešení potíží na pokročilé úrovni
Pokud je v registru povolená kolekce protokolů prostředků, zkontrolujte protokol ContainerRegistryLoginEvents. Tento protokol ukládá události a stav ověřování, včetně příchozí identity a IP adresy. Dotazování protokolu na selhání ověřování registru
Související odkazy:
- Protokoly pro diagnostické vyhodnocení a auditování
- Nejčastější dotazy ke službě Container Registry
- Osvědčené postupy pro Azure Container Registry
Další kroky
Pokud tady problém nevyřešíte, podívejte se na následující možnosti.
- Mezi další témata pro řešení potíží s registrem patří:
- Možnosti podpory komunity
- Microsoft – otázky&odpovědi
- Otevřete lístek podpory – na základě informací, které zadáte, může být rychlá diagnostika spuštěná kvůli selháním ověřování ve vašem registru.