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


New-AzureRmRoleDefinition

Egyéni szerepkört hoz létre az Azure RBAC-ben. Adjon meg egy JSON-szerepkördefiníciós fájlt vagy egy PSRoleDefinition objektumot bemenetként. Először a Get-AzureRmRoleDefinition paranccsal hozzon létre egy alapkonfigurációs szerepkördefiníciós objektumot. Ezután szükség szerint módosítsa a tulajdonságait. Végül ezzel a paranccsal hozzon létre egy egyéni szerepkört szerepkördefinícióval.

Figyelmeztetés

Az AzureRM PowerShell-modul 2024. február 29-én hivatalosan elavult. Javasoljuk a felhasználóknak, hogy migráljanak az AzureRM-ből az Az PowerShell-modulba a folyamatos támogatás és frissítések biztosítása érdekében.

Bár az AzureRM-modul továbbra is működik, a továbbiakban nem tart fenn vagy nem támogatott, így a folyamatos használatot a felhasználó saját belátása szerint és kockázatára teheti. Az Az modulra való áttéréshez tekintse meg a migrálási erőforrásainkat.

Syntax

New-AzureRmRoleDefinition
   [-InputFile] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRmRoleDefinition
   [-Role] <PSRoleDefinition>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

A New-AzureRmRoleDefinition parancsmag egyéni szerepkört hoz létre az Azure szerepköralapú hozzáférés-vezérlésében. Adjon meg egy szerepkördefiníciót a parancs bemeneteként JSON-fájlként vagy PSRoleDefinition-objektumként. A bemeneti szerepkör definíciójának a következő tulajdonságokat kell tartalmaznia:

  1. DisplayName: az egyéni szerepkör neve
  2. Leírás: a szerepkör rövid leírása, amely összefoglalja a szerepkör által biztosított hozzáférést.
  3. Műveletek: azok a műveletek, amelyekhez az egyéni szerepkör hozzáférést biztosít. A Get-AzureRmProviderOperation használatával lekérheti az Azure RBAC-vel biztonságossá tehet Azure-erőforrás-szolgáltatók műveletet. Az alábbiakban néhány érvényes műveleti sztring található:
  • A "*/read" hozzáférést biztosít az összes Azure-erőforrásszolgáltató olvasási műveleteihez.
  • A "Microsoft.Network/*/read" az Azure Microsoft.Network erőforrás-szolgáltatójának minden erőforrástípusához hozzáférést biztosít az olvasási műveletekhez.
  • A "Microsoft.Compute/virtualMachines/*" hozzáférést biztosít a virtuális gépek és a gyermekerőforrás-típusok minden műveletéhez.
  1. AssignableScopes: azon hatókörök (Azure-előfizetések vagy erőforráscsoportok) készlete, amelyekben az egyéni szerepkör elérhető lesz a hozzárendeléshez. Az AssignableScopes használatával az egyéni szerepkört csak a szükséges előfizetésekben vagy erőforráscsoportokban teheti elérhetővé hozzárendeléshez, és nem zavarja a felhasználói élményt a többi előfizetés vagy erőforráscsoport számára. Az alábbiakban néhány érvényes hozzárendelhető hatókört sorolunk fel:
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e", "/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624": a szerepkört két előfizetés hozzárendeléséhez teszi elérhetővé.
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e": a szerepkört egyetlen előfizetésben teszi elérhetővé hozzárendelésre.
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network": a szerepkör csak a hálózati erőforráscsoportban érhető el hozzárendeléshez. A bemeneti szerepkör definíciója a következő tulajdonságokat tartalmazhatja:
  1. NotActions: azoknak a műveleteknek a készlete, amelyeket ki kell zárni a műveletekből az egyéni szerepkör tényleges műveleteinek meghatározásához. Ha van egy adott művelet, amelyhez nem szeretne hozzáférést biztosítani egy egyéni szerepkörben, célszerű a NotActions használatával kizárni azt ahelyett, hogy az adott műveleten kívüli összes műveletet megadnál a Műveletekben.
  2. DataActions: azon adatműveletek halmaza, amelyekhez az egyéni szerepkör hozzáférést biztosít.
  3. NotDataActions: azon műveletek készlete, amelyeket ki kell zárni a DataActionsból az egyéni szerepkör tényleges adatműveleteinek meghatározásához. Ha van egy konkrét adatművelet, amelyhez nem szeretne hozzáférést biztosítani egy egyéni szerepkörben, célszerű a NotDataActions használatával kizárni, ahelyett, hogy az adott műveleten kívüli összes műveletet megadnál a Műveletekben. MEGJEGYZÉS: Ha egy felhasználóhoz olyan szerepkör van hozzárendelve, amely egy műveletet határoz meg a NotActionsban, és egy másik szerepkör is hozzáférést biztosít ugyanahhoz a művelethez, a felhasználó végrehajthatja ezt a műveletet. A NotActions nem megtagadási szabály – egyszerűen kényelmes módszer az engedélyezett műveletek készletének létrehozására, ha bizonyos műveleteket ki kell zárni. Az alábbiakban egy json-példaszerepkör-definíciót láthat, amely a következő bemenetként adható meg: {"Name": "Frissített szerepkör", "Leírás": "Figyelheti az összes erőforrást, és elindíthatja és újraindíthatja a virtuális gépeket", "Actions": [ "/read", "Microsoft.ClassicCompute/virtualmachines/restart/action", "Microsoft.ClassicCompute/virtualmachines/start/action" ], "NotActions": [ "/write" ], "DataActions": [ "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read" ], "NotDataActions": [ "Microsoft. Storage/storageAccounts/blobServices/containers/blobs/write" ], "AssignableScopes": ["/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx"] }

Példák

Létrehozás a PSRoleDefinitionObject használatával

PS C:\> $role = Get-AzureRmRoleDefinition -Name "Virtual Machine Contributor"
          PS C:\> $role.Id = $null
          PS C:\> $role.Name = "Virtual Machine Operator"
          PS C:\> $role.Description = "Can monitor, start, and restart virtual machines."
          PS C:\> $role.Actions.RemoveRange(0,$role.Actions.Count)
          PS C:\> $role.Actions.Add("Microsoft.Compute/*/read")
          PS C:\> $role.Actions.Add("Microsoft.Compute/virtualMachines/start/action")
          PS C:\> $role.Actions.Add("Microsoft.Compute/virtualMachines/restart/action")
          PS C:\> $role.Actions.Add("Microsoft.Compute/virtualMachines/downloadRemoteDesktopConnectionFile/action")
          PS C:\> $role.Actions.Add("Microsoft.Network/*/read")
          PS C:\> $role.Actions.Add("Microsoft.Storage/*/read")
          PS C:\> $role.Actions.Add("Microsoft.Authorization/*/read")
          PS C:\> $role.Actions.Add("Microsoft.Resources/subscriptions/resourceGroups/read")
          PS C:\> $role.Actions.Add("Microsoft.Resources/subscriptions/resourceGroups/resources/read")
          PS C:\> $role.Actions.Add("Microsoft.Insights/alertRules/*")
          PS C:\> $role.Actions.Add("Microsoft.Support/*")
          PS C:\> $role.AssignableScopes.Clear()
          PS C:\> $role.AssignableScopes.Add("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")

          PS C:\> New-AzureRmRoleDefinition -Role $role

Létrehozás JSON-fájllal

PS C:\> New-AzureRmRoleDefinition -InputFile C:\Temp\roleDefinition.json

Paraméterek

-DefaultProfile

Az Azure-ral való kommunikációhoz használt hitelesítő adatok, fiók, bérlő és előfizetés

Típus:IAzureContextContainer
Aliasok:AzureRmContext, AzureCredential
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-InputFile

Egyetlen JSON-szerepkördefiníciót tartalmazó fájlnév.

Típus:String
Position:0
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Role

Szerepkördefiníciós objektum.

Típus:PSRoleDefinition
Position:0
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

Bevitelek

None

Kimenetek

PSRoleDefinition

Jegyzetek

Kulcsszavak: azure, azurerm, arm, erőforrás, felügyelet, vezető, erőforrás, csoport, sablon, üzembe helyezés