Kurz: Vytvoření vlastní role Azure pomocí Azure CLI

Pokud předdefinované role Azure nevyhovují konkrétním potřebám vaší organizace, můžete vytvořit vlastní role. V tomto kurzu pomocí Azure CLI vytvoříte vlastní roli Čtenář lístků podpory. Vlastní role uživateli umožňuje zobrazit vše v rovině správy předplatného a také otevřít lístky podpory.

V tomto kurzu se naučíte:

  • Vytvoření vlastní role
  • Výpis vlastních rolí
  • Aktualizace vlastní role
  • Odstranění vlastní role

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Požadavky

Pro absolvování tohoto kurzu potřebujete:

Přihlášení k Azure CLI

Přihlaste se k Azure CLI.

Vytvoření vlastní role

Nejjednodušší způsob, jak vytvořit vlastní roli, je začít se šablonou JSON, upravit ji a pak vytvořit novou roli.

  1. Projděte si seznam operací pro poskytovatele prostředků Microsoft.Support. Je užitečné znát operace, které máte k dispozici k vytváření oprávnění.

    Operace Description
    Microsoft.Support/register/action Registruje poskytovatele prostředků podpory.
    Microsoft.Support/supportTickets/read Umožňuje získat podrobnosti lístku podpory (včetně stavu, závažnosti, podrobností kontaktu a komunikací) nebo seznam lístků podpory pro všechna předplatná.
    Microsoft.Support/supportTickets/write Umožňuje vytvořit nebo aktualizovat lístek podpory. Můžete vytvořit lístek podpory pro technické problémy, problémy s fakturací nebo kvótami nebo problémy související se správou předplatného. U stávajících lístků podpory můžete aktualizovat závažnost, podrobnosti kontaktu a komunikace.
  2. Vytvořte nový soubor ReaderSupportRole.json.

  3. Otevřete soubor ReaderSupportRole.json v editoru a přidejte do něj následující JSON.

    Informace o různých vlastnostech najdete v tématu vlastní role Azure.

    {
      "Name": "",
      "IsCustom": true,
      "Description": "",
      "Actions": [],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/{subscriptionId1}"
      ]
    }
    
  4. Do vlastnosti Actions přidejte následující operace. Tyto akce umožní uživateli zobrazit vše v předplatném a vytvářet lístky podpory.

    "*/read",
    "Microsoft.Support/*"
    
  5. Získejte ID vašeho předplatného pomocí příkazu az account list.

    az account list --output table
    
  6. Ve vlastnosti AssignableScopes nahraďte {subscriptionId1} za ID vašeho předplatného.

    Musíte přidat explicitní ID předplatných, jinak tuto roli nebudete moct importovat do svého předplatného.

  7. Změňte vlastnost Name na Čtenář lístků podpory a vlastnost Description na Zobrazení všeho v předplatném a také otevírání lístků podpory.

    Váš soubor JSON by měl vypadat následovně:

    {
      "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. Pokud chcete vytvořit novou vlastní roli, použijte příkaz az role definition create a zadejte soubor JSON s definicí role.

    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"
    }
    

    Nová vlastní role je teď k dispozici a můžete ji přiřadit uživatelům, skupinám nebo instančním objektům stejně jako předdefinované role.

Výpis vlastních rolí

  • Pokud chcete vypsat všechny vaše vlastní role, použijte příkaz az role definition list s parametrem --custom-role-only.

    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"
      }
    ]
    

    Vlastní roli můžete zobrazit také na webu Azure Portal.

    snímek obrazovky webu Azure Portal s importovanou vlastní rolí

Aktualizace vlastní role

Pokud chcete aktualizovat vlastní roli, aktualizujte soubor JSON a pak aktualizujte vlastní roli.

  1. Otevřete soubor ReaderSupportRole.json.

  2. Do vlastnosti Actions přidejte operaci "Microsoft.Resources/deployments/*" umožňující vytváření a správu nasazení skupiny prostředků. Nezapomeňte vložit čárku za předchozí operaci.

    Váš aktualizovaný soubor JSON by měl vypadat následovně:

    {
      "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. Pokud chcete aktualizovat vlastní roli, použijte příkaz az role definition update a zadejte aktualizovaný soubor JSON.

    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"
    }
    

Odstranění vlastní role

  • Vlastní roli odstraníte pomocí příkazu az role definition delete, pro který zadáte název a ID role.

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

Další kroky