Så här använder du rollbaserad åtkomstkontroll i Azure API Management

GÄLLER FÖR: Alla API Management-nivåer

Azure API Management förlitar sig på rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att möjliggöra detaljerad åtkomsthantering för API Management-tjänster och entiteter (till exempel API:er och principer). Den här artikeln ger dig en översikt över de inbyggda och anpassade rollerna i API Management. Mer information om åtkomsthantering i Azure-portalen finns i Komma igång med åtkomsthantering i Azure-portalen.

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Inbyggda tjänstroller

API Management tillhandahåller för närvarande tre inbyggda roller och lägger till ytterligare två roller inom en snar framtid. Dessa roller kan tilldelas i olika omfång, till exempel prenumeration, resursgrupp och enskild API Management-instans. Om du till exempel tilldelar rollen "API Management-tjänstläsare" till en användare på resursgruppsnivå har användaren läsbehörighet till alla API Management-instanser i resursgruppen.

Följande tabell innehåller korta beskrivningar av de inbyggda rollerna. Du kan tilldela dessa roller med hjälp av Azure-portalen eller andra verktyg, inklusive Azure PowerShell, Azure CLI och REST API. Mer information om hur du tilldelar inbyggda roller finns i Tilldela Azure-roller för att hantera åtkomst till dina Azure-prenumerationsresurser.

Roll Läsåtkomst[1] Skrivåtkomst[2] Tjänstskapande, borttagning, skalning, VPN och anpassad domänkonfiguration Åtkomst till den äldre utgivarportalen beskrivning
API Management Service Contributor Superanvändare. Har fullständig CRUD-åtkomst till API Management-tjänster och -entiteter (till exempel API:er och principer). Har åtkomst till den äldre utgivarportalen.
API Management Service Reader Har skrivskyddad åtkomst till API Management-tjänster och -entiteter.
Operatör för API Management-tjänst Kan hantera API Management-tjänster, men inte entiteter.

[1] Läsbehörighet till API Management-tjänster och -entiteter (till exempel API:er och principer).

[2] Skrivåtkomst till API Management-tjänster och -entiteter förutom följande åtgärder: skapande, borttagning och skalning av instanser; VPN-konfiguration; och anpassad domänkonfiguration.

Inbyggda arbetsyteroller

API Management tillhandahåller följande inbyggda roller för medarbetare på arbetsytor i en API Management-instans.

En arbetsytemedarbetare måste tilldelas både en roll med arbetsytans omfattning och en tjänstomfattningsroll.

Roll Scope beskrivning
Api Management Workspace-deltagare arbetsyta Kan hantera arbetsytan och vyn, men inte ändra dess medlemmar. Den här rollen ska tilldelas i arbetsytans omfång.
API Management-arbetsyteläsare arbetsyta Har skrivskyddad åtkomst till entiteter på arbetsytan. Den här rollen ska tilldelas i arbetsytans omfång.
API Management Workspace API Developer arbetsyta Har läsåtkomst till entiteter på arbetsytan och läs- och skrivåtkomst till entiteter för redigering av API:er. Den här rollen ska tilldelas i arbetsytans omfång.
API Management Workspace API Product Manager arbetsyta Har läsåtkomst till entiteter på arbetsytan och läs- och skrivåtkomst till entiteter för publicering av API:er. Den här rollen ska tilldelas i arbetsytans omfång.
API Management Service Workspace API Developer service Har läsbehörighet till taggar och produkter och skrivåtkomst för att tillåta:

▪️ Tilldela API:er till produkter
▪️ Tilldela taggar till produkter och API:er

Den här rollen bör tilldelas i tjänstomfånget.
API Management Service Workspace API Product Manager service Har samma åtkomst som API Management Service Workspace API Developer samt läsåtkomst till användare och skrivåtkomst för att tillåta tilldelning av användare till grupper. Den här rollen bör tilldelas i tjänstomfånget.

Anpassade roller

Om ingen av de inbyggda rollerna uppfyller dina specifika behov kan anpassade roller skapas för att tillhandahålla mer detaljerad åtkomsthantering för API Management-entiteter. Du kan till exempel skapa en anpassad roll som har skrivskyddad åtkomst till en API Management-tjänst, men som bara har skrivåtkomst till ett specifikt API. Mer information om anpassade roller finns i Anpassade roller i Azure RBAC.

Kommentar

För att kunna se en API Management-instans i Azure-portalen måste en anpassad roll innehålla åtgärden Microsoft.ApiManagement/service/read .

När du skapar en anpassad roll är det enklare att börja med en av de inbyggda rollerna. Redigera attributen för att lägga till Åtgärder, NotActions eller AssignableScopes och spara sedan ändringarna som en ny roll. Följande exempel börjar med rollen "API Management Service Reader" och skapar en anpassad roll med namnet "Calculator API Editor". Du kan tilldela den anpassade rollen i omfånget för ett specifikt API. Därför har den här rollen bara åtkomst till det API:et.

$role = Get-AzRoleDefinition "API Management Service Reader Role"
$role.Id = $null
$role.Name = 'Calculator API Contributor'
$role.Description = 'Has read access to Contoso APIM instance and write access to the Calculator API.'
$role.Actions.Add('Microsoft.ApiManagement/service/apis/write')
$role.Actions.Add('Microsoft.ApiManagement/service/apis/*/write')
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add('/subscriptions/<Azure subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.ApiManagement/service/<APIM service instance name>/apis/<API name>')
New-AzRoleDefinition -Role $role
New-AzRoleAssignment -ObjectId <object ID of the user account> -RoleDefinitionName 'Calculator API Contributor' -Scope '/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.ApiManagement/service/<APIM service instance name>/apis/<API name>'

Artikeln om resursprovideråtgärder i Azure Resource Manager innehåller listan över behörigheter som kan beviljas på API Management-nivå.

Nästa steg

Mer information om rollbaserad åtkomstkontroll i Azure finns i följande artiklar: