New-AzRoleDefinition
Crée un rôle personnalisé dans Azure RBAC. Fournissez un fichier de définition de rôle JSON ou un objet PSRoleDefinition en tant qu’entrée. Tout d’abord, utilisez la commande Get-AzRoleDefinition pour générer un objet de définition de rôle de base. Ensuite, modifiez ses propriétés en fonction des besoins. Enfin, utilisez cette commande pour créer un rôle personnalisé à l’aide de la définition de rôle.
Syntaxe
InputFileParameterSet
New-AzRoleDefinition
[-InputFile] <String>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
RoleDefinitionParameterSet
New-AzRoleDefinition
[-Role] <PSRoleDefinition>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
L’applet de commande New-AzRoleDefinition crée un rôle personnalisé dans Azure Role-Based Access Control. Fournissez une définition de rôle en tant qu’entrée à la commande en tant que fichier JSON ou objet PSRoleDefinition. La définition de rôle d’entrée DOIT contenir les propriétés suivantes :
- DisplayName : nom du rôle personnalisé
- Description : brève description du rôle qui récapitule l’accès accordé par le rôle.
- Actions : ensemble d’opérations auxquelles le rôle personnalisé accorde l’accès. Utilisez Get-AzProviderOperation pour obtenir l’opération pour les fournisseurs de ressources Azure qui peuvent être sécurisés à l’aide d’Azure RBAC. Voici quelques chaînes d’opération valides :
- « */read » accorde l’accès aux opérations de lecture de tous les fournisseurs de ressources Azure.
- « Microsoft.Network/*/read » accorde l’accès aux opérations de lecture pour tous les types de ressources du fournisseur de ressources Microsoft.Network d’Azure.
- « Microsoft.Compute/virtualMachines/* » accorde l’accès à toutes les opérations de machines virtuelles et à ses types de ressources enfants.
- AssignableScopes : ensemble d’étendues (abonnements Azure ou groupes de ressources) dans lesquelles le rôle personnalisé sera disponible pour l’affectation. À l’aide de AssignableScopes, vous pouvez rendre le rôle personnalisé disponible pour l’attribution uniquement dans les abonnements ou les groupes de ressources qui en ont besoin, et non encombrer l’expérience utilisateur pour le reste des abonnements ou des groupes de ressources. Voici quelques étendues assignables valides :
- « /subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e », « /subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624 » : rend le rôle disponible pour l’attribution dans deux abonnements.
- « /subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e » : rend le rôle disponible pour l’attribution dans un seul abonnement.
- « /subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network » : rend le rôle disponible uniquement pour l’attribution dans le groupe de ressources Réseau. La définition de rôle d’entrée PEUT contenir les propriétés suivantes :
- NotActions : ensemble d’opérations qui doivent être exclues des actions pour déterminer les actions effectives pour le rôle personnalisé. S’il existe une opération spécifique à laquelle vous ne souhaitez pas accorder l’accès dans un rôle personnalisé, il est pratique d’utiliser NotActions pour l’exclure, plutôt que de spécifier toutes les opérations autres que cette opération spécifique dans Actions.
- DataActions : ensemble d’opérations de données auxquelles le rôle personnalisé accorde l’accès.
- NotDataActions : ensemble d’opérations qui doivent être exclues des DataActions pour déterminer les actions de données effectives pour le rôle personnalisé. S’il existe une opération de données spécifique à laquelle vous ne souhaitez pas accorder l’accès dans un rôle personnalisé, il est pratique d’utiliser NotDataActions pour l’exclure, plutôt que de spécifier toutes les opérations autres que cette opération spécifique dans Actions. REMARQUE : Si un utilisateur reçoit un rôle qui spécifie une opération dans NotActions et qu’un autre rôle accorde également l’accès à la même opération, l’utilisateur pourra effectuer cette opération. NotActions n’est pas une règle de refus : il s’agit simplement d’un moyen pratique de créer un ensemble d’opérations autorisées lorsque des opérations spécifiques doivent être exclues. Voici un exemple de définition de rôle json qui peut être fourni en tant qu’entrée { « Nom » : « Rôle mis à jour », « Description » : « Peut surveiller toutes les ressources et démarrer et redémarrer des machines virtuelles », « Actions » : [ « /read », « Microsoft.ClassicCompute/virtualmachines/restart/action », « Microsoft.ClassicCompute/virtualmachines/start/action » ], « NotActions » : [ « /write » ], « DataActions » : [ « Microsoft.Storage/storageAccounts/blobServices/containers/blobs/blobs/read » ], « NotDataActions » : [ « Microsoft. Storage/storageAccounts/blobServices/containers/blobs/write » ], « AssignableScopes » : ["/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxx"] }
Exemples
Exemple 1 : Créer à l’aide de 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
Exemple 2 : Créer à l’aide d’un fichier JSON
New-AzRoleDefinition -InputFile C:\Temp\roleDefinition.json
Paramètres
-DefaultProfile
Informations d’identification, compte, locataire et abonnement utilisés pour la communication avec Azure
Propriétés du paramètre
| Type: | IAzureContextContainer |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | AzContext, AzureRmContext, AzureCredential |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-InputFile
Nom de fichier contenant une définition de rôle json unique.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
InputFileParameterSet
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Role
Objet de définition de rôle.
Propriétés du paramètre
| Type: | PSRoleDefinition |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
RoleDefinitionParameterSet
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-SkipClientSideScopeValidation
Si elle est spécifiée, ignorez la validation de l’étendue côté client.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
None
Sorties
PSRoleDefinition
Notes
Mots clés : azure, azurerm, arm, resource, management, manager, resource, group, template, deployment