Megosztás a következőn keresztül:


Oktatóanyag: Egyéni Azure-szerepkör létrehozása az Azure PowerShell használatával

Ha a beépített Azure-szerepkörök nem felelnek meg a cég vagy intézmény igényeinek, saját egyéni szerepköröket is létrehozhat. Ebben az oktatóanyagban az Azure PowerShell segítségével hozzon létre egy Olvasó – Támogatási jegyek nevű egyéni szerepkört. 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:

  • Egyéni szerepkör létrehozása
  • 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.

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg Az Azure PowerShell telepítése témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Előfeltételek

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

Bejelentkezés az Azure PowerShellbe

Jelentkezzen be az Azure PowerShellbe.

Egyéni szerepkör létrehozása

Legegyszerűbben úgy hozhat létre egyéni szerepkört, ha először egy beépített szerepkört szerkeszt, majd egy új szerepkört hoz létre.

  1. A PowerShellben a Get-AzProviderOperation paranccsal kérje le a Microsoft.Support erőforrás-szolgáltató műveleteinek listáját. Érdemes megismerkedni az engedélyek létrehozására szolgáló műveletekkel. Az Azure-erőforrás-szolgáltatói műveletek összes műveletének listáját is megtekintheti.

    Get-AzProviderOperation "Microsoft.Support/*" | FT Operation, Description -AutoSize
    
    Operation                              Description
    ---------                              -----------
    Microsoft.Support/register/action      Registers to Support Resource Provider
    Microsoft.Support/supportTickets/read  Gets Support Ticket details (including status, severity, contact ...
    Microsoft.Support/supportTickets/write Creates or Updates a Support Ticket. You can create a Support Tic...
    
  2. A Get-AzRoleDefinition paranccsal JSON formátumban adja ki az Olvasó szerepkört.

    Get-AzRoleDefinition -Name "Reader" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole.json
    
  3. Nyissa meg a ReaderSupportRole.json fájlt egy tetszőleges szövegszerkesztőben.

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

    {
      "Name": "Reader",
      "Id": "acdd72a7-3385-48ef-bd42-f606fba81ae7",
      "IsCustom": false,
      "Description": "Lets you view everything, but not make any changes.",
      "Actions": [
        "*/read"
      ],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/"
      ]
    }
    
  4. A JSON-fájl szerkesztésével adja hozzá a "Microsoft.Support/*" műveletet a Actions tulajdonsághoz. Az olvasás után mindenképpen tegyen vesszőt. Ez a művelet lehetővé teszi a felhasználónak a támogatási jegyek létrehozását.

  5. Kérje le az előfizetés azonosítóját a Get-AzSubscription paranccsal.

    Get-AzSubscription
    
  6. Az AssignableScopes elemnél adja meg az előfizetés azonosítóját a következő formátumban: "/subscriptions/00000000-0000-0000-0000-000000000000"

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

  7. Törölje az Id tulajdonságsort, és módosítsa az IsCustom tulajdonságot true értékre.

  8. 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"
      ]
    }
    
  9. Az új egyéni szerepkör létrehozásához használja a New-AzRoleDefinition parancsot, és adja meg a JSON-szerepkördefiníciós fájlt.

    New-AzRoleDefinition -InputFile "C:\CustomRoles\ReaderSupportRole.json"
    
    Name             : Reader Support Tickets
    Id               : 22222222-2222-2222-2222-222222222222
    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}
    

    Az új egyéni szerepkör mostantól elérhető az Azure Portalon, é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 a Get-AzRoleDefinition parancsot.

    Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom
    
    Name                   IsCustom
    ----                   --------
    Reader Support Tickets     True
    

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

    Képernyőkép az importált egyéni szerepkörről az Azure Portalon

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

Egyéni szerepkör frissítéséhez módosítsa a JSON-fájlt, vagy használja a PSRoleDefinition objektumot.

  1. A JSON-fájl frissítéséhez a Get-AzRoleDefinition paranccsal adja ki az egyéni szerepkört JSON formátumban.

    Get-AzRoleDefinition -Name "Reader Support Tickets" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole2.json
    
  2. Nyissa meg a fájlt egy tetszőleges szövegszerkesztőben.

  3. Adjon hozzá Actions egy műveletet az erőforráscsoport telepítések "Microsoft.Resources/deployments/*" létrehozásához és kezeléséhez.

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

    {
      "Name": "Reader Support Tickets",
      "Id": "22222222-2222-2222-2222-222222222222",
      "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"
      ]
    }
    
  4. Az egyéni szerepkör frissítéséhez használja a Set-AzRoleDefinition parancsot, és adja meg a frissített JSON-fájlt.

    Set-AzRoleDefinition -InputFile "C:\CustomRoles\ReaderSupportRole2.json"
    
    Name             : Reader Support Tickets
    Id               : 22222222-2222-2222-2222-222222222222
    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}
    
  5. Ha az PSRoleDefinition objektumot az egyéni szerepkör frissítéséhez szeretné használni, először a Get-AzRoleDefinition paranccsal szerezze be a szerepkört.

    $role = Get-AzRoleDefinition "Reader Support Tickets"
    
  6. Hívja meg a(z) Add metódust, hogy a műveletet a diagnosztikai beállítások olvasásához hozzáadja.

    $role.Actions.Add("Microsoft.Insights/diagnosticSettings/*/read")
    
  7. A szerepkör frissítéséhez használja a Set-AzRoleDefinition parancsot.

    Set-AzRoleDefinition -Role $role
    
    Name             : Reader Support Tickets
    Id               : 22222222-2222-2222-2222-222222222222
    IsCustom         : True
    Description      : View everything in the subscription and also open support tickets.
    Actions          : {*/read, Microsoft.Support/*, Microsoft.Resources/deployments/*,
                       Microsoft.Insights/diagnosticSettings/*/read}
    NotActions       : {}
    DataActions      : {}
    NotDataActions   : {}
    AssignableScopes : {/subscriptions/00000000-0000-0000-0000-000000000000}
    

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

  1. Az egyéni szerepkör azonosítójának lekéréséhez használja a Get-AzRoleDefinition parancsot.

    Get-AzRoleDefinition "Reader Support Tickets"
    
  2. Használja a Remove-AzRoleDefinition parancsot, és adja meg a szerepkör azonosítóját az egyéni szerepkör törléséhez.

    Remove-AzRoleDefinition -Id "22222222-2222-2222-2222-222222222222"
    
    Confirm
    Are you sure you want to remove role definition with id '22222222-2222-2222-2222-222222222222'.
    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):
    
  3. Ha rendszer megerősítést kér, írja be a következőt: Y.

Következő lépések