Oktatóanyag: Egyéni Azure-szerepkör létrehozása a Azure PowerShell

Ha az Azure beépített szerepkörei nem felelnie meg a szervezet igényeinek, létrehozhatja saját egyéni szerepköreit. Ebben az oktatóanyagban egy Reader Support Tickets (Olvasó – Támogatási jegyek) nevű egyéni szerepkört fog létrehozni az Azure PowerShell-lel. Az egyéni szerepkör lehetővé teszi a felhasználó számára, hogy mindent megtekintsen egy előfizetés vezérlősíkon, és támogatási jegyeket is nyisson.

Eben 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.

Megjegyzés

Ez a cikk frissült az Azure Az PowerShell-moduljának használatával. Mostantól az Az PowerShell-modul használatát javasoljuk az Azure-ral folytatott interakciókhoz. Az Az PowerShell-modul használatának megkezdéséhez lásd az Azure PowerShell telepítését ismertető szakaszt. 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 a Azure PowerShell.

Egyéni szerepkör létrehozása

Legegyszerűbben úgy hozhat létre egyéni szerepkört, ha egy beépített szerepkört szerkeszt át.

  1. A PowerShellben a Get-AzProviderOperation paranccsal lekérte 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 Összes művelet listáját az Azure erőforrás-szolgáltatói műveleteinél is láthatja.

    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 használhatja 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ágokkal kapcsolatos információkért lásd: Egyéni Azure-szerepkörök.

    {
      "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. Szerkessze a JSON-fájlt, és "Microsoft.Support/*" adja hozzá a műveletet a Actions tulajdonsághoz. Az olvasási művelet után mindenképpen vesszőt kell tartalmaznia. Ez a művelet lehetővé teszi a felhasználónak a támogatási jegyek létrehozását.

  5. A Get-AzSubscription paranccsal szerezze be az előfizetése azonosítóját.

    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á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 használja a Get-AzRoleDefinition parancsot az egyéni szerepkör JSON formátumban való kimenetéhez.

    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. A Actions -hez adja hozzá az erőforráscsoport üzemelő példányának létrehozásához és kezeléséhez szükséges "Microsoft.Resources/deployments/*" műveletet.

    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. Ahhoz, hogy a objektum használatával frissítse az egyéni szerepkört, először a PSRoleDefintion Get-AzRoleDefinition paranccsal szerezze be a szerepkört.

    $role = Get-AzRoleDefinition "Reader Support Tickets"
    
  6. A diagnosztikai beállítások olvasására használt művelet Add hozzáadásához hívja meg a metódust.

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

    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. A Get-AzRoleDefinition paranccsal szerezze be az egyéni szerepkör azonosítóját.

    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