Lista azure-rolldefinitioner

En rolldefinition är en samling behörigheter som kan utföras, till exempel läsa, skriva och ta bort. Det kallas vanligtvis bara för en roll. Rollbaserad åtkomstkontroll i Azure (Azure RBAC) har över 120 inbyggda roller eller så kan du skapa egna anpassade roller. Den här artikeln beskriver hur du listar de inbyggda och anpassade roller som du kan använda för att bevilja åtkomst till Azure-resurser.

En lista över administratörsroller för Azure Active Directory finns i Behörigheter för administratörsroll i Azure Active Directory.

Azure Portal

Visa en lista över alla roller

Följ dessa steg om du vill visa en lista över alla roller i Azure Portal.

  1. I den Azure Portal klickar du på Alla tjänster och väljer ett omfång. Du kan till exempel välja Hanteringsgrupper, Prenumerationer, Resursgrupper eller en resurs.

  2. Klicka på den specifika resursen.

  3. Klicka på Åtkomstkontroll (IAM).

  4. Klicka på fliken Roller om du vill se en lista över alla inbyggda och anpassade roller.

    Skärmbild som visar listan Roller med den nya upplevelsen.

  5. Om du vill se behörigheterna för en viss roll går du till kolumnen Information och klickar på länken Visa.

    Ett behörighetsfönster visas.

  6. Klicka på fliken Behörigheter för att visa och söka efter behörigheter för den valda rollen.

    Skärmbild som visar rollbehörigheter med den nya upplevelsen.

Azure PowerShell

Visa en lista över alla roller

Om du vill lista alla roller Azure PowerShell använder du Get-AzRoleDefinition.

Get-AzRoleDefinition | FT Name, Description
AcrImageSigner                                    acr image signer
AcrQuarantineReader                               acr quarantine data reader
AcrQuarantineWriter                               acr quarantine data writer
API Management Service Contributor                Can manage service and the APIs
API Management Service Operator Role              Can manage service but not the APIs
API Management Service Reader Role                Read-only access to service and APIs
Application Insights Component Contributor        Can manage Application Insights components
Application Insights Snapshot Debugger            Gives user permission to use Application Insights Snapshot Debugge...
Automation Job Operator                           Create and Manage Jobs using Automation Runbooks.
Automation Operator                               Automation Operators are able to start, stop, suspend, and resume ...
...

Visa en rolldefinition

Om du vill visa information om en viss roll använder du Get-AzRoleDefinition.

Get-AzRoleDefinition <role_name>
PS C:\> Get-AzRoleDefinition "Contributor"

Name             : Contributor
Id               : b24988ac-6180-42a0-ab88-20f7382dd24c
IsCustom         : False
Description      : Lets you manage everything except access to resources.
Actions          : {*}
NotActions       : {Microsoft.Authorization/*/Delete, Microsoft.Authorization/*/Write,
                   Microsoft.Authorization/elevateAccess/Action}
DataActions      : {}
NotDataActions   : {}
AssignableScopes : {/}

Visa en rolldefinition i JSON-format

Om du vill visa en roll i JSON-format använder du Get-AzRoleDefinition.

Get-AzRoleDefinition <role_name> | ConvertTo-Json
PS C:\> Get-AzRoleDefinition "Contributor" | ConvertTo-Json

{
  "Name": "Contributor",
  "Id": "b24988ac-6180-42a0-ab88-20f7382dd24c",
  "IsCustom": false,
  "Description": "Lets you manage everything except access to resources.",
  "Actions": [
    "*"
  ],
  "NotActions": [
    "Microsoft.Authorization/*/Delete",
    "Microsoft.Authorization/*/Write",
    "Microsoft.Authorization/elevateAccess/Action",
    "Microsoft.Blueprint/blueprintAssignments/write",
    "Microsoft.Blueprint/blueprintAssignments/delete"
  ],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": [
    "/"
  ]
}

Lista behörigheter för en rolldefinition

Om du vill visa en lista över behörigheter för en viss roll använder du Get-AzRoleDefinition.

Get-AzRoleDefinition <role_name> | FL Actions, NotActions
PS C:\> Get-AzRoleDefinition "Contributor" | FL Actions, NotActions

Actions    : {*}
NotActions : {Microsoft.Authorization/*/Delete, Microsoft.Authorization/*/Write,
             Microsoft.Authorization/elevateAccess/Action,
             Microsoft.Blueprint/blueprintAssignments/write...}
(Get-AzRoleDefinition <role_name>).Actions
PS C:\> (Get-AzRoleDefinition "Virtual Machine Contributor").Actions

Microsoft.Authorization/*/read
Microsoft.Compute/availabilitySets/*
Microsoft.Compute/locations/*
Microsoft.Compute/virtualMachines/*
Microsoft.Compute/virtualMachineScaleSets/*
Microsoft.DevTestLab/schedules/*
Microsoft.Insights/alertRules/*
Microsoft.Network/applicationGateways/backendAddressPools/join/action
Microsoft.Network/loadBalancers/backendAddressPools/join/action
...

Azure CLI

Visa en lista över alla roller

Om du vill visa en lista över alla roller i Azure CLI använder du az role definition list.

az role definition list

I följande exempel visas namn och beskrivning för alla tillgängliga rolldefinitioner:

az role definition list --output json --query '[].{roleName:roleName, description:description}'
[
  {
    "description": "Can manage service and the APIs",
    "roleName": "API Management Service Contributor"
  },
  {
    "description": "Can manage service but not the APIs",
    "roleName": "API Management Service Operator Role"
  },
  {
    "description": "Read-only access to service and APIs",
    "roleName": "API Management Service Reader Role"
  },

  ...

]

I följande exempel visas alla inbyggda roller.

az role definition list --custom-role-only false --output json --query '[].{roleName:roleName, description:description, roleType:roleType}'
[
  {
    "description": "Can manage service and the APIs",
    "roleName": "API Management Service Contributor",
    "roleType": "BuiltInRole"
  },
  {
    "description": "Can manage service but not the APIs",
    "roleName": "API Management Service Operator Role",
    "roleType": "BuiltInRole"
  },
  {
    "description": "Read-only access to service and APIs",
    "roleName": "API Management Service Reader Role",
    "roleType": "BuiltInRole"
  },
  
  ...

]

Visa en rolldefinition

Om du vill visa information om en roll använder du az role definition list.

az role definition list --name {roleName}

I följande exempel visas definitionen av rollen Deltagare:

az role definition list --name "Contributor"
[
  {
    "assignableScopes": [
      "/"
    ],
    "description": "Lets you manage everything except access to resources.",
    "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c",
    "name": "b24988ac-6180-42a0-ab88-20f7382dd24c",
    "permissions": [
      {
        "actions": [
          "*"
        ],
        "dataActions": [],
        "notActions": [
          "Microsoft.Authorization/*/Delete",
          "Microsoft.Authorization/*/Write",
          "Microsoft.Authorization/elevateAccess/Action",
          "Microsoft.Blueprint/blueprintAssignments/write",
          "Microsoft.Blueprint/blueprintAssignments/delete"
        ],
        "notDataActions": []
      }
    ],
    "roleName": "Contributor",
    "roleType": "BuiltInRole",
    "type": "Microsoft.Authorization/roleDefinitions"
  }
]

Lista behörigheter för en rolldefinition

I följande exempel visas bara åtgärderna och inteÅtgärder för rollen Deltagare.

az role definition list --name "Contributor" --output json --query '[].{actions:permissions[0].actions, notActions:permissions[0].notActions}'
[
  {
    "actions": [
      "*"
    ],
    "notActions": [
      "Microsoft.Authorization/*/Delete",
      "Microsoft.Authorization/*/Write",
      "Microsoft.Authorization/elevateAccess/Action",
      "Microsoft.Blueprint/blueprintAssignments/write",
      "Microsoft.Blueprint/blueprintAssignments/delete"
    ]
  }
]

I följande exempel visas bara åtgärderna för rollen Virtuell datordeltagare.

az role definition list --name "Virtual Machine Contributor" --output json --query '[].permissions[0].actions'
[
  [
    "Microsoft.Authorization/*/read",
    "Microsoft.Compute/availabilitySets/*",
    "Microsoft.Compute/locations/*",
    "Microsoft.Compute/virtualMachines/*",
    "Microsoft.Compute/virtualMachineScaleSets/*",
    "Microsoft.Compute/disks/write",
    "Microsoft.Compute/disks/read",
    "Microsoft.Compute/disks/delete",
    "Microsoft.DevTestLab/schedules/*",
    "Microsoft.Insights/alertRules/*",
    "Microsoft.Network/applicationGateways/backendAddressPools/join/action",
    "Microsoft.Network/loadBalancers/backendAddressPools/join/action",

    ...

    "Microsoft.Storage/storageAccounts/listKeys/action",
    "Microsoft.Storage/storageAccounts/read",
    "Microsoft.Support/*"
  ]
]

REST API

Visa lista över rolldefinitioner

Om du vill visa en lista över rolldefinitioner använder du REST API. Om du vill förfina resultatet anger du ett omfång och ett valfritt filter.

  1. Börja med följande begäran:

    GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleDefinitions?$filter={$filter}&api-version=2015-07-01
    
  2. I URI:en ersätter du {scope} med det omfång som du vill visa rolldefinitionerna för.

    Omfång Typ
    providers/Microsoft.Management/managementGroups/{groupId1} Hanteringsgrupp
    subscriptions/{subscriptionId1} Prenumeration
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1 Resursgrupp
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1 Resurs

    I föregående exempel är microsoft.web en resursprovider som refererar till en App Service instans. På samma sätt kan du använda andra resursproviders och ange omfånget. Mer information finns i Azure-resursproviders och resurstyper samt åtgärder som stöds av Azure-resursprovidern.

  3. Ersätt {filter} med villkoret som du vill använda för att filtrera listan över rolldefinitioner.

    Filtrera Description
    $filter=atScopeAndBelow() Visar rolldefinitioner för det angivna omfånget och eventuella underomfång.
    $filter=type+eq+'{type}' Visar en lista över rolldefinitioner av den angivna typen. Typ av roll kan vara CustomRole eller BuiltInRole .

I följande begäran visas anpassade rolldefinitioner i prenumerationsomfånget:

GET https://management.azure.com/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions?api-version=2015-07-01&$filter=type+eq+'CustomRole'

Följande visar ett exempel på utdata:

{
    "value": [
        {
            "properties": {
                "roleName": "Billing Reader Plus",
                "type": "CustomRole",
                "description": "Read billing data and download invoices",
                "assignableScopes": [
                    "/subscriptions/{subscriptionId1}"
                ],
                "permissions": [
                    {
                        "actions": [
                            "Microsoft.Authorization/*/read",
                            "Microsoft.Billing/*/read",
                            "Microsoft.Commerce/*/read",
                            "Microsoft.Consumption/*/read",
                            "Microsoft.Management/managementGroups/read",
                            "Microsoft.CostManagement/*/read",
                            "Microsoft.Billing/invoices/download/action",
                            "Microsoft.CostManagement/exports/*"
                        ],
                        "notActions": [
                            "Microsoft.CostManagement/exports/delete"
                        ]
                    }
                ],
                "createdOn": "2020-02-21T04:49:13.7679452Z",
                "updatedOn": "2020-02-21T04:49:13.7679452Z",
                "createdBy": "{createdByObjectId1}",
                "updatedBy": "{updatedByObjectId1}"
            },
            "id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId1}",
            "type": "Microsoft.Authorization/roleDefinitions",
            "name": "{roleDefinitionId1}"
        }
    ]
}

Visa en rolldefinition

Om du vill visa information om en viss roll använder du Rolldefinitioner – Hämta eller Rolldefinitioner – Hämta efter ID REST API.

  1. Börja med följande begäran:

    GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}?api-version=2015-07-01
    

    För en rolldefinition på katalognivå kan du använda den här begäran:

    GET https://management.azure.com/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}?api-version=2015-07-01
    
  2. I URI:en ersätter du {scope} med det omfång som du vill visa rolldefinitionen för.

    Omfång Typ
    providers/Microsoft.Management/managementGroups/{groupId1} Hanteringsgrupp
    subscriptions/{subscriptionId1} Prenumeration
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1 Resursgrupp
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1 Resurs
  3. Ersätt {roleDefinitionId} med rolldefinitionsidentifieraren.

I följande begäran visas definitionen av rollen Läsare:

GET https://management.azure.com/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7?api-version=2015-07-01

Följande visar ett exempel på utdata:

{
    "properties": {
        "roleName": "Reader",
        "type": "BuiltInRole",
        "description": "Lets you view everything, but not make any changes.",
        "assignableScopes": [
            "/"
        ],
        "permissions": [
            {
                "actions": [
                    "*/read"
                ],
                "notActions": []
            }
        ],
        "createdOn": "2015-02-02T21:55:09.8806423Z",
        "updatedOn": "2019-02-05T21:24:35.7424745Z",
        "createdBy": null,
        "updatedBy": null
    },
    "id": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
    "type": "Microsoft.Authorization/roleDefinitions",
    "name": "acdd72a7-3385-48ef-bd42-f606fba81ae7"
}

Nästa steg