rollen en machtigingen Azure Container Registry
De Azure Container Registry-service ondersteunt een set ingebouwde Azure-rollen die verschillende machtigingsniveaus bieden voor een Azure-containerregister. Gebruik op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) om specifieke machtigingen toe te wijzen aan gebruikers, service-principals of andere identiteiten die moeten communiceren met een register, bijvoorbeeld voor het ophalen of pushen van containerinstallatiekopieën. U kunt ook aangepaste rollen definiëren met gedetailleerde machtigingen voor een register voor verschillende bewerkingen.
Rol/Machtiging | Access-Resource Manager | Register maken/verwijderen | Installatiekopieën pushen | Pull-installatiekopie | Afbeeldingsgegevens verwijderen | Beleid wijzigen | Afbeeldingen ondertekenen |
---|---|---|---|---|---|---|---|
Eigenaar | X | X | X | X | X | X | |
Inzender | X | X | X | X | X | X | |
Lezer | X | X | |||||
AcrPush | X | X | |||||
AcrPull | X | ||||||
AcrDelete | X | ||||||
AcrImageSigner | X |
Rollen toewijzen
Zie Stappen voor het toevoegen van een roltoewijzing voor stappen op hoog niveau om een roltoewijzing toe te voegen aan een bestaande gebruiker, groep, service-principal of beheerde identiteit. U kunt de Azure Portal, Azure CLI, Azure PowerShell of andere Azure-hulpprogramma's gebruiken.
Wanneer u een service-principal maakt, configureert u ook de toegang en machtigingen voor Azure-resources, zoals een containerregister. Zie verificatie met service-principals Azure Container Registry voor een voorbeeldscript met behulp van de Azure CLI.
Onderscheid maken tussen gebruikers en services
Telkens wanneer machtigingen worden toegepast, wordt aanbevolen om de meest beperkte set machtigingen voor een persoon of service te bieden om een taak uit te voeren. De volgende machtigingensets vertegenwoordigen een set mogelijkheden die kunnen worden gebruikt door mensen en headless-services.
CI/CD-oplossingen
Wanneer u opdrachten van CI/CD-oplossingen automatiseert docker build
, hebt u mogelijkheden nodig docker push
. Voor deze headless servicescenario's raden we u aan de rol AcrPush toe te wijzen. Deze rol voorkomt, in tegenstelling tot de bredere rol Inzender, dat het account andere registerbewerkingen uitvoert of toegang heeft tot Azure Resource Manager.
Containerhostknooppunten
Op dezelfde manier hebben knooppunten waarop uw containers worden uitgevoerd de rol AcrPull nodig, maar geen lezermogelijkheden .
Docker-extensie voor Visual Studio Code
Voor hulpprogramma's zoals de Docker-extensie van Visual Studio Code is aanvullende toegang tot de resourceprovider vereist om de beschikbare Azure-containerregisters weer te geven. Geef in dit geval uw gebruikers toegang tot de rol Lezer of Inzender . Met deze rollen zijn , , , az acr build
en andere mogelijkheden toegestaandocker pull
. az acr list
docker push
Access-Resource Manager
Azure Resource Manager-toegang is vereist voor het Azure Portal en registerbeheer met de Azure CLI. Als u bijvoorbeeld een lijst met registers wilt ophalen met behulp van de az acr list
opdracht, hebt u deze machtigingenset nodig.
Register maken en verwijderen
De mogelijkheid om Azure-containerregisters te maken en te verwijderen.
Installatiekopieën pushen
De mogelijkheid om docker push
een installatiekopieën of een ander ondersteund artefact, zoals een Helm-grafiek, naar een register te pushen . Vereist verificatie met het register met behulp van de geautoriseerde identiteit.
Pull-installatiekopie
De mogelijkheid om een niet-in quarantaine geplaatste installatiekopie op te halen of een ander ondersteund artefact, zoals een Helm-grafiek, uit een register op te docker pull
halen. Vereist verificatie met het register met behulp van de geautoriseerde identiteit.
Afbeeldingsgegevens verwijderen
De mogelijkheid om containerinstallatiekopieën of andere ondersteunde artefacten , zoals Helm-grafieken, te verwijderen uit een register.
Beleid wijzigen
De mogelijkheid om beleidsregels voor een register te configureren. Beleidsregels omvatten het opschonen van afbeeldingen, het inschakelen van quarantaine en het ondertekenen van afbeeldingen.
Afbeeldingen ondertekenen
De mogelijkheid om afbeeldingen te ondertekenen, meestal toegewezen aan een geautomatiseerd proces, dat een service-principal zou gebruiken. Deze machtiging wordt doorgaans gecombineerd met push-installatiekopieën , zodat een vertrouwde installatiekopieën naar een register kunnen worden gepusht. Zie Inhoud vertrouwen in Azure Container Registry voor meer informatie.
Aangepaste rollen
Net als bij andere Azure-resources kunt u aangepaste rollen maken met gedetailleerde machtigingen voor Azure Container Registry. Wijs vervolgens de aangepaste rollen toe aan gebruikers, service-principals of andere identiteiten die moeten communiceren met een register.
Als u wilt bepalen welke machtigingen moeten worden toegepast op een aangepaste rol, raadpleegt u de lijst met Microsoft.ContainerRegistry-acties, controleert u de toegestane acties van de ingebouwde ACR-rollen of voert u de volgende opdracht uit:
az provider operation show --namespace Microsoft.ContainerRegistry
Zie Stappen voor het maken van een aangepaste rol om een aangepaste rol te definiëren.
Notitie
In tenants die zijn geconfigureerd met Azure Resource Manager private link, ondersteunt Azure Container Registry acties met jokertekens, zoals Microsoft.ContainerRegistry/*/read
of Microsoft.ContainerRegistry/registries/*/write
in aangepaste rollen, waarmee toegang wordt verleend tot alle overeenkomende acties. Geef in een tenant zonder een arm-privékoppeling alle vereiste registeracties afzonderlijk op in een aangepaste rol.
Voorbeeld: Aangepaste rol voor het importeren van afbeeldingen
De volgende JSON definieert bijvoorbeeld de minimale acties voor een aangepaste rol die het importeren van installatiekopieën in een register toestaat.
{
"assignableScopes": [
"/subscriptions/<optional, but you can limit the visibility to one or more subscriptions>"
],
"description": "Can import images to registry",
"Name": "AcrImport",
"permissions": [
{
"actions": [
"Microsoft.ContainerRegistry/registries/push/write",
"Microsoft.ContainerRegistry/registries/pull/read",
"Microsoft.ContainerRegistry/registries/read",
"Microsoft.ContainerRegistry/registries/importImage/action"
],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"roleType": "CustomRole"
}
Als u een aangepaste rol wilt maken of bijwerken met behulp van de JSON-beschrijving, gebruikt u de Azure CLI, Azure Resource Manager-sjabloon, Azure PowerShell of andere Azure-hulpprogramma's. U kunt roltoewijzingen voor een aangepaste rol op dezelfde manier toevoegen of verwijderen als u roltoewijzingen voor ingebouwde Azure-rollen beheert.
Volgende stappen
Meer informatie over het toewijzen van Azure-rollen aan een Azure-identiteit met behulp van de Azure Portal, de Azure CLI, Azure PowerShell of andere Azure-hulpprogramma's.
Meer informatie over verificatieopties voor Azure Container Registry.
Meer informatie over het inschakelen van machtigingen binnen het bereik van een opslagplaats in een containerregister.