Oktatóanyag: Egyéni Azure-szerepkör létrehozása 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. Ebben az oktatóanyagban egy Reader Support Tickets (Olvasó – Támogatási jegyek) nevű egyéni szerepkört fog létrehozni az Azure CLI-vel. Az egyéni szerepkör lehetővé teszi, hogy a felhasználó mindent megtekintsen az előfizetés vezérlősíkjában, és támogatási jegyeket is nyisson meg.

Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • Create a custom role
  • Egyéni szerepkörök listázása
  • Egyéni szerepkörök frissítése
  • Egyéni szerepkörök törlése

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Előfeltételek

Az oktatóanyag elvégzéséhez a következőkre van szükség:

Bejelentkezés az Azure CLI-be

Jelentkezzen be az Azure CLI-be.

Create a custom role

Legegyszerűbben úgy hozhat létre egyéni szerepkört, ha egy JSON-sablonnal kezd, amelyhez hozzáadja a módosításait, majd létrehozza az új szerepkört.

  1. Tekintse át a Microsoft.Support erőforrás-szolgáltató műveleteinek listáját. Hasznos tudni, hogy milyen műveletek érhetők el az engedélyek létrehozásához.

    Művelet Leírás
    Microsoft.Support/register/action Regisztrálás a támogatási erőforrás-szolgáltatóra.
    Microsoft.Support/supportTickets/read Támogatási jegy részleteinek lekérése (beleértve az állapotot, súlyosságot, kapcsolattartási adatokat és kommunikációkat) vagy az összes előfizetés támogatási jegyeinek lekérése.
    Microsoft.Support/supportTickets/write Támogatási jegy létrehozása vagy frissítése. Támogatási jegyet technikai, számlázási, kvótákkal kapcsolatos vagy előfizetés-kezelési problémákkal kapcsolatban hozhat létre. A meglévő támogatási jegyeknek frissítheti a súlyosságát, kapcsolattartási adatait és kommunikációit.
  2. Hozzon létre egy új fájlt ReaderSupportRole.json néven.

  3. Nyissa meg a ReaderSupportRole.json fájlt egy szövegszerkesztőben, és adja hozzá a következő JSON-t.

    A különböző tulajdonságokról további információt az Egyéni Azure-szerepkörökben talál.

    {
      "Name": "",
      "IsCustom": true,
      "Description": "",
      "Actions": [],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/{subscriptionId1}"
      ]
    }
    
  4. Adja hozzá a következő műveleteket a Actions tulajdonsághoz. Ezek a műveletek lehetővé teszik a felhasználóknak, hogy az előfizetéshez tartozó minden adatot és tartalmat megtekinthessenek, valamint támogatási jegyeket hozhassanak létre.

    "*/read",
    "Microsoft.Support/*"
    
  5. Kérje le az előfizetése azonosítóját az az account list paranccsal.

    az account list --output table
    
  6. Az AssignableScopes felületen cserélje le a {subscriptionId1} értéket az előfizetése azonosítójára.

    Explicit előfizetési azonosítókat kell megadnia, különben nem importálhatja a szerepkört az előfizetésébe.

  7. Módosítsa a Name és a Description tulajdonságot „Reader Support Tickets” és „View everything in the subscription and also open support tickets” (Mindent megtekinthet az előfizetésben, valamint támogatási jegyeket nyithat) értékre.

    A JSON-fájlnak a következőhöz kell hasonlítania:

    {
      "Name": "Reader Support Tickets",
      "IsCustom": true,
      "Description": "View everything in the subscription and also open support tickets.",
      "Actions": [
        "*/read",
        "Microsoft.Support/*"
      ],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ]
    }
    
  8. Az új egyéni szerepkör létrehozásához használja az az role definition create parancsot, és adja meg a JSON szerepkör-definíciós fájlt.

    az role definition create --role-definition "~/CustomRoles/ReaderSupportRole.json"
    
    {
      "additionalProperties": {},
      "assignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ],
      "description": "View everything in the subscription and also open support tickets.",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
      "name": "22222222-2222-2222-2222-222222222222",
      "permissions": [
        {
          "actions": [
            "*/read",
            "Microsoft.Support/*"
          ],
          "additionalProperties": {},
          "dataActions": [],
          "notActions": [],
          "notDataActions": []
        }
      ],
      "roleName": "Reader Support Tickets",
      "roleType": "CustomRole",
      "type": "Microsoft.Authorization/roleDefinitions"
    }
    

    Az új egyéni szerepkör mostantól elérhető, és a beépített szerepkörökhöz hasonlóan hozzárendelhető felhasználókhoz, csoportokhoz vagy szolgáltatásnevekhez.

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

  • Az összes egyéni szerepkör listázásához használja az az role definition list parancsot a --custom-role-only paraméterrel.

    az role definition list --custom-role-only true
    
    [
      {
        "additionalProperties": {},
        "assignableScopes": [
          "/subscriptions/00000000-0000-0000-0000-000000000000"
        ],
        "description": "View everything in the subscription and also open support tickets.",
        "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
        "name": "22222222-2222-2222-2222-222222222222",
        "permissions": [
          {
            "actions": [
              "*/read",
              "Microsoft.Support/*",
              "Microsoft.Resources/deployments/*",
              "Microsoft.Insights/diagnosticSettings/*/read"
            ],
            "additionalProperties": {},
            "dataActions": [],
            "notActions": [],
            "notDataActions": []
          }
        ],
        "roleName": "Reader Support Tickets",
        "roleType": "CustomRole",
        "type": "Microsoft.Authorization/roleDefinitions"
      }
    ]
    

    Az egyéni szerepköröket az Azure Portalon is megtekintheti.

    screenshot of custom role imported in the Azure portal

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

Egyéni szerepkör frissítéséhez módosítsa a JSON-fájlt, majd frissítse az egyéni szerepkört.

  1. Nyissa meg a ReaderSupportRole.json fájlt.

  2. Adja Actionshozzá az erőforráscsoport-üzemelő példányok "Microsoft.Resources/deployments/*"létrehozásához és kezeléséhez szükséges műveletet. Ügyeljen arra, hogy az előző művelet után vesszőt adjon hozzá.

    A frissített JSON-fájlnak a következőhöz kell hasonlítania:

    {
      "Name": "Reader Support Tickets",
      "IsCustom": true,
      "Description": "View everything in the subscription and also open support tickets.",
      "Actions": [
        "*/read",
        "Microsoft.Support/*",
        "Microsoft.Resources/deployments/*"
      ],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ]
    }
    
  3. Az egyéni szerepkör frissítéséhez használja az az role definition update parancsot, és adja meg a frissített JSON-fájlt.

    az role definition update --role-definition "~/CustomRoles/ReaderSupportRole.json"
    
    {
      "additionalProperties": {},
      "assignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ],
      "description": "View everything in the subscription and also open support tickets.",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
      "name": "22222222-2222-2222-2222-222222222222",
      "permissions": [
        {
          "actions": [
            "*/read",
            "Microsoft.Support/*",
            "Microsoft.Resources/deployments/*"
          ],
          "additionalProperties": {},
          "dataActions": [],
          "notActions": [],
          "notDataActions": []
        }
      ],
      "roleName": "Reader Support Tickets",
      "roleType": "CustomRole",
      "type": "Microsoft.Authorization/roleDefinitions"
    }
    

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

  • Használja az az role definition delete parancsot, és adja meg a szerepkör nevét vagy azonosítóját az egyéni szerepkör törléséhez.

    az role definition delete --name "Reader Support Tickets"
    

További lépések