Egyéni Azure-szerepkörök létrehozása vagy frissítése az Azure CLI használatával

Ha az Azure beépített szerepkörei nem felelnek meg a szervezet adott igényeinek, létrehozhat saját egyéni szerepköröket. Ez a cikk bemutatja, hogyan listázhatja, hozhat létre, frissíthet vagy törölhet egyéni szerepköröket az Azure CLI használatával.

Az egyéni szerepkörök létrehozásáról részletes oktatóanyagot a következő oktatóanyagban talál : Egyéni Azure-szerepkör létrehozása az Azure CLI használatával.

Előfeltételek

Egyéni szerepkörök létrehozásához a következőkre van szükség:

Egyéni szerepkörök listázása

A hozzárendeléshez elérhető egyéni szerepkörök listázásához használja az az szerepkördefiníciós listát. Az alábbi példa az aktuális előfizetés összes egyéni szerepkörét sorolja fel.

az role definition list --custom-role-only true --output json --query '[].{roleName:roleName, roleType:roleType}'
[
  {
    "roleName": "My Management Contributor",
    "type": "CustomRole"
  },
  {
    "roleName": "My Service Reader Role",
    "type": "CustomRole"
  },
  {
    "roleName": "Virtual Machine Operator",
    "type": "CustomRole"
  }
]

Egyéni szerepkördefiníció listázása

Egyéni szerepkördefiníciók listázásához használja az az szerepkördefiníciós listát. Ez a parancs ugyanaz a parancs, amelyet egy beépített szerepkörhöz használna.

az role definition list --name {roleName}

Az alábbi példa a Virtuálisgép-kezelő szerepkördefinícióját sorolja fel:

az role definition list --name "Virtual Machine Operator"
[
  {
    "assignableScopes": [
      "/subscriptions/{subscriptionId}"
    ],
    "description": "Can monitor and restart virtual machines.",
    "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000",
    "name": "00000000-0000-0000-0000-000000000000",
    "permissions": [
      {
        "actions": [
          "Microsoft.Storage/*/read",
          "Microsoft.Network/*/read",
          "Microsoft.Compute/*/read",
          "Microsoft.Compute/virtualMachines/start/action",
          "Microsoft.Compute/virtualMachines/restart/action",
          "Microsoft.Authorization/*/read",
          "Microsoft.ResourceHealth/availabilityStatuses/read",
          "Microsoft.Resources/subscriptions/resourceGroups/read",
          "Microsoft.Insights/alertRules/*",
          "Microsoft.Insights/diagnosticSettings/*",
          "Microsoft.Support/*"
        ],
        "dataActions": [],
        "notActions": [],
        "notDataActions": []
      }
    ],
    "roleName": "Virtual Machine Operator",
    "roleType": "CustomRole",
    "type": "Microsoft.Authorization/roleDefinitions"
  }
]

Az alábbi példa csak a Virtuálisgép-kezelő szerepkör műveleteit sorolja fel:

az role definition list --name "Virtual Machine Operator" --output json --query '[].permissions[0].actions'
[
  [
    "Microsoft.Storage/*/read",
    "Microsoft.Network/*/read",
    "Microsoft.Compute/*/read",
    "Microsoft.Compute/virtualMachines/start/action",
    "Microsoft.Compute/virtualMachines/restart/action",
    "Microsoft.Authorization/*/read",
    "Microsoft.ResourceHealth/availabilityStatuses/read",
    "Microsoft.Resources/subscriptions/resourceGroups/read",
    "Microsoft.Insights/alertRules/*",
    "Microsoft.Insights/diagnosticSettings/*",
    "Microsoft.Support/*"
  ]
]

Create a custom role

Egyéni szerepkör létrehozásához használja az az role definition create parancsot. A szerepkördefiníció lehet JSON-leírás vagy egy JSON-leírást tartalmazó fájl elérési útja.

az role definition create --role-definition {roleDefinition}

Az alábbi példa létrehoz egy virtuálisgép-kezelő nevű egyéni szerepkört. Ez az egyéni szerepkör hozzáférést rendel a Microsoft.Compute, a Microsoft.Storage és a Microsoft.Network erőforrás-szolgáltatók összes olvasási műveletéhez, és hozzáférést rendel hozzá a virtuális gépek indításához, újraindításához és monitorozásához. Ez az egyéni szerepkör két előfizetésben használható. Ez a példa egy JSON-fájlt használ bemenetként.

vmoperator.json

{
  "Name": "Virtual Machine Operator",
  "IsCustom": true,
  "Description": "Can monitor and restart virtual machines.",
  "Actions": [
    "Microsoft.Storage/*/read",
    "Microsoft.Network/*/read",
    "Microsoft.Compute/*/read",
    "Microsoft.Compute/virtualMachines/start/action",
    "Microsoft.Compute/virtualMachines/restart/action",
    "Microsoft.Authorization/*/read",
    "Microsoft.ResourceHealth/availabilityStatuses/read",
    "Microsoft.Resources/subscriptions/resourceGroups/read",
    "Microsoft.Insights/alertRules/*",
    "Microsoft.Support/*"
  ],
  "NotActions": [

  ],
  "AssignableScopes": [
    "/subscriptions/{subscriptionId1}",
    "/subscriptions/{subscriptionId2}"
  ]
}
az role definition create --role-definition ~/roles/vmoperator.json

Egyéni szerepkörök frissítése

Egyéni szerepkör frissítéséhez először az az role definition list használatával kérje le a szerepkördefiníciót. Másodszor végezze el a kívánt módosításokat a szerepkör-definíción. Végül az az role definition update használatával mentse a frissített szerepkördefiníciót.

az role definition update --role-definition {roleDefinition}

Az alábbi példa hozzáadja a Microsoft.Elemzések/diagnostic Gépház/action to and Actions add a management group to AssignableScopes the Virtual Machine Operator custom role.

vmoperator.json

{
  "Name": "Virtual Machine Operator",
  "IsCustom": true,
  "Description": "Can monitor and restart virtual machines.",
  "Actions": [
    "Microsoft.Storage/*/read",
    "Microsoft.Network/*/read",
    "Microsoft.Compute/*/read",
    "Microsoft.Compute/virtualMachines/start/action",
    "Microsoft.Compute/virtualMachines/restart/action",
    "Microsoft.Authorization/*/read",
    "Microsoft.ResourceHealth/availabilityStatuses/read",
    "Microsoft.Resources/subscriptions/resourceGroups/read",
    "Microsoft.Insights/alertRules/*",
    "Microsoft.Insights/diagnosticSettings/*",
    "Microsoft.Support/*"
  ],
  "NotActions": [

  ],
  "AssignableScopes": [
    "/subscriptions/{subscriptionId1}",
    "/subscriptions/{subscriptionId2}",
    "/providers/Microsoft.Management/managementGroups/marketing-group"
  ]
}
az role definition update --role-definition ~/roles/vmoperator.json

Egyéni szerepkörök törlése

  1. Távolítsa el az egyéni szerepkört használó szerepkör-hozzárendeléseket. További információ: Szerepkör-hozzárendelések keresése egyéni szerepkör törléséhez.

  2. Az egyéni szerepkör törléséhez használja az az szerepkördefiníció törlését . A törölni kívánt szerepkör megadásához használja a szerepkör nevét vagy a szerepkör azonosítóját. A szerepkör-azonosító meghatározásához használja az az szerepkördefiníciós listát.

    az role definition delete --name {roleNameOrId}
    

    Az alábbi példa törli a Virtuálisgép-kezelő egyéni szerepkörét.

    az role definition delete --name "Virtual Machine Operator"
    

További lépések