Ověřování pomocí služby Azure Container Registry

Registr kontejneru Azure můžete ověřit několika způsoby. Projděte si tyto možnosti a zjistěte, co je pro váš scénář použití registru kontejneru nejvhodnější.

Ve většině scénářů se ověřte pomocí jedné z následujících metod založených na ID microsoftu Entra:

Možnosti ověřování

Následující tabulka uvádí dostupné metody ověřování a typické scénáře s odkazy na další podrobnosti.

Návod

Informace o ověřování ze služby Azure Kubernetes Service (AKS) nebo jiného clusteru Kubernetes najdete v tématu Scénáře ověřování ve službě Azure Container Registry z Kubernetes.

Metoda Jak ověřovat přihlašovací údaje Scénáře Řízení přístupu na základě role (RBAC) Microsoft Entra Omezení
Individuální identita Microsoft Entra  az acr login v Azure CLI

Connect-AzContainerRegistry v Azure PowerShell
Interaktivní posílání a přijímání změn vývojáři a testery Ano Token Microsoft Entra se musí obnovit každých 3 hodiny.
Aplikační objekt služby Microsoft Entra  docker login

az acr login v Azure CLI

Connect-AzContainerRegistry v PowerShellu pro Azure

Nastavení přihlášení registru v rozhraních API nebo nástrojích
Bezobslužné nabízení z kanálu CI/CD

Automatizované stažení do Azure nebo k externím službám
Ano Výchozí platnost hesla SP je 1 rok
Spravovaná identita Microsoft Entra pro prostředky Azure  docker login

az acr login v Azure CLI

Connect-AzContainerRegistry v PowerShellu pro Azure
Bezobslužné poslání z prostředí Azure CI/CD.

Bezobslužný přístup ke službám Azure

Seznam scénářů přiřazení rolí spravované identity najdete v tématu Oprávnění ACR Entra a přiřazení rolí.
Ano Dá se použít jenom z vybraných služeb Azure, které podporují spravované identity pro prostředky Azure.
Uživatel s rolí správce  docker login  Interaktivní push/pull jednotlivými vývojáři nebo testery

Nasazení image z registru do služby Azure App Service nebo Azure Container Instances na portálu
Ne, vždy vyžádat a odeslat přístup Vysoká úroveň přístupu. Jeden účet na registr; nedoporučuje se pro více uživatelů.
Oprávnění úložiště založená na tokenech jiných společností než Microsoft Entra  docker login

az acr login v Azure CLI

Connect-AzContainerRegistry v Azure PowerShell
Interaktivní push/pull operace do úložiště jednotlivým vývojářem nebo testerem

Bezobslužné vyžádání z úložiště jednotlivým systémem nebo externím zařízením
Oprávnění úložiště založená na tokenech nepodporují přiřazení rolí Microsoft Entra RBAC.

Další informace o oprávněních úložiště založených na Microsoft Entra najdete v oprávněních úložiště na základě atributů Azure (ABAC) ve službě Azure Container Registry.
Není aktuálně integrováno s Microsoft Entra ID

Ověřte se pomocí Microsoft Entra ID

Při přímé práci s registrem, jako je například stahování image a nahrávání image z vývojové pracovní stanice do registru, který jste vytvořili, se ověřte svou individuální identitou Azure.

Přihlaste se k Azure CLI pomocí příkazu az login a spusťte příkaz az acr login :

az login
az acr login --name <acrName>

Když se přihlásíte pomocí az acr login, rozhraní příkazového řádku použije token vytvořený při spuštění az login k bezproblémovému ověření relace s registrem. K dokončení toku ověřování musí být rozhraní příkazového řádku Dockeru a démon Dockeru nainstalované a spuštěné ve vašem prostředí. az acr login používá klienta Dockeru k nastavení tokenu Microsoft Entra v docker.config souboru. Poté, co se přihlásíte, jsou vaše přihlašovací údaje uloženy do mezipaměti, takže následné docker příkazy v relaci nevyžadují uživatelské jméno ani heslo.

Návod

Používá se az acr login také k ověření individuální identity, pokud chcete do registru odeslat nebo vyžádat artefakty jiné než image Dockeru, jako jsou artefakty OCI.

Pro přístup k registru je token, který az acr login používá, platný po dobu 3 hodin, takže se před spuštěním docker příkazu vždy přihlaste k registru. Pokud platnost tokenu vyprší, obnovte ho pomocí příkazu az acr login pro opětovnou autentizaci.

Použití az acr login s identitami Azure umožňuje řízení přístupu na základě role (RBAC) v Azure. V některých scénářích se můžete chtít přihlásit k registru s vlastní individuální identitou v Microsoft Entra ID nebo nakonfigurovat jiné uživatele Azure s konkrétními rolemi. Pro scénáře napříč službami nebo pracovní skupinu nebo vývojový pracovní postup, ve kterém nechcete spravovat individuální přístup, se můžete také přihlásit pomocí spravované identity pro prostředky Azure.

Použití příkazu az acr login bez služby Dockeru

V některých případech je potřeba se ověřit pomocí az acr login, když démon Dockeru není spuštěný ve vašem prostředí. Například možná budete muset spustit az acr login ve skriptu v Azure Cloud Shellu, který poskytuje Rozhraní příkazového řádku Dockeru, ale nespustí proces démona Dockeru.

Pro tento scénář spusťte az acr login s parametrem --expose-token . Tato možnost vrátí přístupový token místo přihlášení přes Rozhraní příkazového řádku Dockeru.

az acr login --name <acrName> --expose-token

Ve výstupu se zobrazí přístupový token zkrácený zde:

{
  "accessToken": "eyJhbGciOiJSUzI1NiIs[...]24V7wA",
  "loginServer": "myregistry.azurecr.io"
}

Pro ověřování registru uložte přihlašovací údaje tokenu do bezpečného umístění a postupujte podle doporučených postupů pro správu přihlašovacích údajů Dockeru . Například uložte hodnotu tokenu do proměnné prostředí:

TOKEN=$(az acr login --name <acrName> --expose-token --output tsv --query accessToken)

Pak spusťte příkaz , který předá docker login00000000-0000-0000-0000-000000000000 jako uživatelské jméno a jako heslo použije přístupový token:

docker login myregistry.azurecr.io --username 00000000-0000-0000-0000-000000000000 --password-stdin <<< $TOKEN

Podobně můžete token vrácený příkazem az acr loginhelm registry login použít k ověření v registru:

echo $TOKEN | helm registry login myregistry.azurecr.io \
            --username 00000000-0000-0000-0000-000000000000 \
            --password-stdin

Hlavní služba

Pokud do registru přiřadíte služba principal, vaše aplikace nebo služba ho může použít k bezobslužnému ověřování. Služební principály umožňují v registru řízení přístupu založeného na rolích (RBAC) Azure. K registru můžete přiřadit více identit služeb, a tím používat různé podporované role pro konkrétní aplikace.

Další informace najdete v tématu Ověřování ve službě Azure Container Registry pomocí instančních objektů.

Účet správce

Každý registr kontejneru obsahuje uživatelský účet správce, který je ve výchozím nastavení zakázaný. Uživatele s rolí správce a jeho přihlašovací údaje můžete povolit na webu Azure Portal nebo pomocí Azure CLI, Azure PowerShellu nebo jiných nástrojů Azure. Účet správce má úplná oprávnění k registru, takže byste ho měli povolit jenom v případě potřeby.

Účet správce se v současné době vyžaduje pro některé scénáře nasazení image z registru kontejneru do určitých služeb Azure. Například účet správce je potřeba, když pomocí webu Azure Portal nasadíte image kontejneru z registru přímo do služby Azure Container Instances nebo Azure Container Apps.

Důležité

Účet správce je určený pro jednoho uživatele pro přístup k registru, zejména pro účely testování. Nesdílejte přihlašovací údaje účtu správce mezi více uživateli. Všichni uživatelé, kteří se ověřují pomocí účtu správce, se jeví jako jeden uživatel s přístupem pro zápis a čtení do registru. Změna nebo zakázání tohoto účtu zakáže přístup registru pro všechny uživatele, kteří používají jeho přihlašovací údaje. Použijte individuální identitu pro uživatele a service principals pro bezobslužné scénáře.

Účet správce má dvě hesla, z nichž obě můžete znovu vygenerovat. Opětovné vygenerování hesel pro účty správců trvá přibližně 60 sekund, než se replikují a zpřístupní. Vzhledem k tomu, že účet má dvě hesla, můžete připojení k registru udržovat pomocí jednoho hesla, zatímco znovu vygenerujete druhé. Pokud povolíte účet správce, můžete předat uživatelské jméno a jedno z hesel příkazu docker login po zobrazení výzvy k základnímu ověření pro registraci. Doporučené postupy pro správu přihlašovacích údajů pro ověřování najdete v referenčních informacích k příkazům docker login .

Pokud chcete povolit uživatele správce pro existující registr, použijte --admin-enabled parametr příkazu az acr update v Azure CLI:

az acr update -n <acrName> --admin-enabled true

Na webu Azure Portal můžete také povolit uživatele správce pro váš registr. V nabídce služby v části Nastavení vyberte Přístupové klíče. Potom zaškrtněte políčko Administrátor a povolte účet. Zobrazí se uživatelské jméno správce spolu se dvěma hesly, která můžete podle potřeby zobrazit nebo znovu vygenerovat.

Přihlášení pomocí alternativního nástroje kontejneru místo Dockeru

V některých scénářích musíte použít jiné nástroje kontejnerů, jako je podman, místo Dockeru.

Výchozí nástroj kontejneru je nastavený na docker pro az acr login příkazy. Pokud výchozí nástroj kontejneru nenastavíte a docker příkaz ve vašem prostředí chybí, zobrazí se chyba. Chcete-li změnit nástroj kontejneru, který příkaz az acr login používá jako výchozí, nastavte proměnnou prostředí DOCKER_COMMAND. Například:

DOCKER_COMMAND=podman \
az acr login --name <acrName>

Další kroky