Hantera åtkomst till Azure Container Registry (ACR)
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.