New-AzRoleDefinition
Crea un rol personalizado en RBAC de Azure. Proporcione un archivo de definición de roles JSON o un objeto PSRoleDefinition como entrada. En primer lugar, use el comando Get-AzRoleDefinition para generar un objeto de definición de roles de línea base. A continuación, modifique sus propiedades según sea necesario. Por último, use este comando para crear un rol personalizado mediante la definición de roles.
Sintaxis
New-AzRoleDefinition
[-InputFile] <String>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzRoleDefinition
[-Role] <PSRoleDefinition>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
El cmdlet New-AzRoleDefinition crea un rol personalizado en el control de acceso basado en rol de Azure. Proporcione una definición de rol como entrada al comando como un archivo JSON o un objeto PSRoleDefinition. La definición del rol de entrada DEBE contener las siguientes propiedades:
- DisplayName: el nombre del rol personalizado
- Descripción: una breve descripción del rol que resume el acceso que concede el rol.
- Acciones: conjunto de operaciones a las que el rol personalizado concede acceso. Use Get-AzProviderOperation para obtener la operación de los proveedores de recursos de Azure que se pueden proteger mediante RBAC de Azure. A continuación se muestran algunas cadenas de operación válidas:
- "*/read" concede acceso a las operaciones de lectura de todos los proveedores de recursos de Azure.
- "Microsoft.Network/*/read" concede acceso a las operaciones de lectura para todos los tipos de recursos del proveedor de recursos Microsoft.Network de Azure.
- "Microsoft.Compute/virtualMachines/*" concede acceso a todas las operaciones de máquinas virtuales y sus tipos de recursos secundarios.
- AssignableScopes: el conjunto de ámbitos (suscripciones o grupos de recursos de Azure) en el que el rol personalizado estará disponible para la asignación. Con AssignableScopes, puede hacer que el rol personalizado esté disponible para la asignación solo en las suscripciones o grupos de recursos que lo necesitan, y no desordene la experiencia del usuario para el resto de las suscripciones o grupos de recursos. A continuación se muestran algunos ámbitos asignables válidos:
- "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e", "/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624": pone el rol disponible para la asignación en dos suscripciones.
- "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e": hace que el rol esté disponible para la asignación en una sola suscripción.
- "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network": hace que el rol esté disponible solo para la asignación en el grupo de recursos de red. La definición del rol de entrada PUEDE contener las siguientes propiedades:
- NotActions: conjunto de operaciones que se deben excluir de las acciones para determinar las acciones efectivas para el rol personalizado. Si hay una operación específica a la que no desea conceder acceso en un rol personalizado, es conveniente usar NotActions para excluirlo, en lugar de especificar todas las operaciones que no sean esa operación específica en Acciones.
- DataActions: conjunto de operaciones de datos a las que el rol personalizado concede acceso.
- NotDataActions: conjunto de operaciones que se deben excluir de DataActions para determinar las acciones de datos eficaces para el rol personalizado. Si hay una operación de datos específica a la que no desea conceder acceso en un rol personalizado, es conveniente usar NotDataActions para excluirlo, en lugar de especificar todas las operaciones que no sean esa operación específica en Acciones. NOTA: Si a un usuario se le asigna un rol que especifica una operación en NotActions y también se le asigna otro rol concede acceso a la misma operación, el usuario podrá realizar esa operación. NotActions no es una regla de denegación: es simplemente una manera cómoda de crear un conjunto de operaciones permitidas cuando es necesario excluir operaciones específicas. A continuación se muestra una definición de rol json de ejemplo que se puede proporcionar como entrada { "Name": "Updated Role", "Description": "Can monitor all resources and start and restart virtual machines", "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-xxxxxxxxxxxx"] }
Ejemplos
Ejemplo 1: Crear mediante PSRoleDefinitionObject
$role = New-Object -TypeName Microsoft.Azure.Commands.Resources.Models.Authorization.PSRoleDefinition
$role.Name = 'Virtual Machine Operator'
$role.Description = 'Can monitor, start, and restart virtual machines.'
$role.IsCustom = $true
$role.AssignableScopes = @("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
$role.Actions = @(
"Microsoft.Compute/*/read"
"Microsoft.Compute/virtualMachines/start/action"
"Microsoft.Compute/virtualMachines/restart/action"
"Microsoft.Compute/virtualMachines/downloadRemoteDesktopConnectionFile/action"
"Microsoft.Network/*/read"
"Microsoft.Storage/*/read"
"Microsoft.Authorization/*/read"
"Microsoft.Resources/subscriptions/resourceGroups/read"
"Microsoft.Resources/subscriptions/resourceGroups/resources/read"
"Microsoft.Insights/alertRules/*"
"Microsoft.Support/*"
)
New-AzRoleDefinition -Role $role
Ejemplo 2: Creación mediante un archivo JSON
New-AzRoleDefinition -InputFile C:\Temp\roleDefinition.json
Parámetros
-DefaultProfile
Las credenciales, la cuenta, el inquilino y la suscripción que se usan para la comunicación con Azure
Tipo: | IAzureContextContainer |
Alias: | AzContext, AzureRmContext, AzureCredential |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-InputFile
Nombre de archivo que contiene una única definición de rol json.
Tipo: | String |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Role
Objeto de definición de roles.
Tipo: | PSRoleDefinition |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-SkipClientSideScopeValidation
Si se especifica, omita la validación del ámbito del lado cliente.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
None
Salidas
Notas
Palabras clave: azure, azurerm, arm, resource, management, manager, resource, group, template, deployment