Hantera åtkomst till Azure Container Registry (ACR)

Slutförd

Azure Container Registry-tjänsten stöder en uppsättning inbyggda Azure-roller som ger olika behörighetsnivåer till ett Azure-containerregister. Använd rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att tilldela specifika behörigheter till användare, tjänstens huvudnamn eller andra identiteter som behöver interagera med ett register, till exempel för att hämta eller push-överföra containeravbildningar. Du kan också definiera anpassade roller med detaljerad behörighet till ett register för olika åtgärder.

roll/behörighet Access Resource Manager Skapa/ta bort register Push-bild Pull-avbildning Ta bort bilddata Ändra principer Signera bilder
Ägare X X X X X X
Bidragsgivare X X X X X X
Läsare X X
AcrPush X X
AcrPull X
AcrDelete X
AcrImageSigner X

Tilldela roller

Du kan använda Azure-portalen, Azure CLI, Azure PowerShell eller andra Azure-verktyg. När du skapar ett huvudnamn för tjänsten konfigurerar du även dess åtkomst och behörigheter till Azure-resurser, till exempel ett containerregister.

Differentiera användare och tjänster

När behörigheter tillämpas är bästa praxis att tillhandahålla den mest begränsade uppsättningen behörigheter för en person eller tjänst för att utföra en uppgift. Följande behörighetsuppsättningar representerar en uppsättning funktioner som kan användas av människor och huvudlösa tjänster.

CI/CD-lösningar

När du automatiserar Docker Build-kommandon från CI/CD-lösningar behöver du docker push-funktioner. För dessa tjänstscenarier utan användargränssnitt rekommenderar vi att du tilldelar rollen AcrPush. Den här rollen förhindrar, till skillnad från den bredare deltagarrollen, kontot från att utföra andra registeråtgärder eller komma åt Azure Resource Manager.

Containervärdnoder

På samma sätt behöver noder som kör dina containrar rollen AcrPull, men bör inte kräva läsarfunktioner.

Visual Studio Code Docker-tillägg

För verktyg som Visual Studio Code Docker-tillägget krävs ytterligare åtkomst till resursprovidern för att visa en lista över tillgängliga Azure-containerregister. I det här fallet ger du användarna åtkomst till rollen Läsare eller Deltagare. Dessa roller tillåter docker pull, docker push, az acr list, az acr build och andra funktioner.

Åtkomst till Resource Manager

Azure Resource Manager-åtkomst krävs för Azure-portalen och registerhantering med Azure-kommandoradsgränssnittet. Om du till exempel vill hämta en lista över register med kommandot az acr list behöver du den här behörighetsuppsättningen.

Skapa och ta bort register

Möjligheten att skapa och ta bort Azure-containerregister.

Push-bild

Möjligheten att docker hämtar en avbildning som inte är i karantän eller hämtar en annan artefakt som stöds, till exempel ett Helm-diagram, från ett register. Kräver autentisering med registret med hjälp av den auktoriserade identiteten.

Ta bort bilddata

Möjligheten att ta bort containeravbildningar eller ta bort andra artefakter som stöds, till exempel Helm-diagram, från ett register.

Ändra principer

Möjligheten att konfigurera principer i ett register. Principer inkluderar bildrensning, aktivering av karantän och avbildningssignering.

Signera bilder

Möjligheten att signera bilder, vanligtvis tilldelad till en automatiserad process, som skulle använda en tjänsthuvudman. Den här behörigheten kombineras vanligtvis med "push"-kommando för att tillåta att en betrodd bild överförs till ett register.

Anpassade roller

Precis som med andra Azure-resurser kan du skapa anpassade roller med detaljerad behörighet till Azure Container Registry. Tilldela sedan anpassade roller till användare, tjänstens huvudnamn eller andra identiteter som behöver interagera med ett register.