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:
- DisplayName: az egyéni szerepkör neve
- Leírás: a szerepkör rövid leírása, amely összefoglalja a szerepkör által biztosított hozzáférést.
- 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.
- 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:
- 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.
- DataActions: azon adatműveletek halmaza, amelyekhez az egyéni szerepkör hozzáférést biztosít.
- 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
Jegyzetek
Kulcsszavak: azure, azurerm, arm, erőforrás, felügyelet, vezető, erőforrás, csoport, sablon, üzembe helyezés