Set-AzRoleDefinition
Modifica um papel personalizado no Azure RBAC. Forneça a definição de função modificada como um arquivo JSON ou como PSRoleDefinition. Primeiro, use o comando Get-AzRoleDefinition para recuperar a função personalizada que você deseja modificar. Em seguida, modifique as propriedades que deseja alterar. Finalmente, salve a definição de função usando este comando.
Sintaxe
InputFileParameterSet
Set-AzRoleDefinition
-InputFile <String>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
RoleDefinitionParameterSet
Set-AzRoleDefinition
-Role <PSRoleDefinition>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
O Set-AzRoleDefinition cmdlet atualiza um papel personalizado existente no Azure Role-Based Controlo de Acesso. Forneça a definição de função atualizada como uma entrada para o comando como um arquivo JSON ou um objeto PSRoleDefinition.
A definição do papel para o papel personalizado atualizado DEVE conter:
- Id: o identificador único da definição de função a atualizar
- Nome: o nome do papel personalizado
- Descrição: uma breve descrição do papel
- Permissões: um conjunto de objetos de permissões contendo Ações e/ou DataAções
- AssignableScopes: os scopes onde o papel pode ser atribuído
Cada objeto de permissão no array de Permissões pode conter Ações, NotAções, AçõesDados, NãoDataAções e, opcionalmente, Condição e Condição para Attribute-Based Controlo de Acesso condições (ABAC).
Importante
A forma do PSRoleDefinition e do -InputFile JSON mudou. Tanto -Role (PSRoleDefinition) como -InputFile (JSON) usam agora um Permissions array de objetos de permissões em vez de propriedades de topo Actionsachatadas , NotActions, DataActions, e NotDataActions proprietários. Os scripts que fazem Set-AzRoleDefinition -Role pipeline Get-AzRoleDefinition devem ler e modificar ações e condições através $role.Permissions[n] do objeto de papel, em vez de diretamente sobre ele. Os ficheiros JSON usados com -InputFile também devem aninhar permissões sob um Permissions array.
Note
A API RBAC do Azure atualmente suporta apenas um elemento no array de Permissões ao atualizar papéis personalizados. Embora o modelo de dados suporte múltiplas entradas de permissões, as operações de atualização devem usar exatamente um objeto de permissão.
Exemplos
Exemplo 1: Atualizar usando PSRoleDefinitionObject
$roleDef = Get-AzRoleDefinition "Contoso On-Call"
$roleDef.Permissions[0].Actions.Add("Microsoft.ClassicCompute/virtualmachines/start/action")
$roleDef.Description = "Can monitor all resources and start and restart virtual machines"
$roleDef.AssignableScopes = @("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
Set-AzRoleDefinition -Role $roleDef
Exemplo 2: Atualizar usando ficheiro JSON
Set-AzRoleDefinition -InputFile C:\Temp\roleDefinition.json
Atualiza uma definição de função personalizada a partir de um ficheiro JSON. O ficheiro JSON deve incluir a propriedade Id da função.
Parâmetros
-DefaultProfile
As credenciais, a conta, o locatário e a assinatura usados para comunicação com o azure
Propriedades dos parâmetros
| Tipo: | IAzureContextContainer |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | AzContext, AzureRmContext, AzureCredential |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-InputFile
Nome do arquivo contendo uma única definição de função json a ser atualizada. Inclua apenas as propriedades que devem ser atualizadas no JSON. A propriedade Id é Required.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
InputFileParameterSet
| Position: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Role
Objeto de definição de função a ser atualizado
Propriedades dos parâmetros
| Tipo: | PSRoleDefinition |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
RoleDefinitionParameterSet
| Position: | Named |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-SkipClientSideScopeValidation
Se especificado, ignore a validação do escopo do lado do cliente.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
PSRoleDefinition
Saídas
PSRoleDefinition
Notas
Palavras-chave: azure, azurerm, arm, resource, management, manager, resource, group, template, deployment