Set-AzRoleDefinition
Modifica uma função personalizada no RBAC Azure. 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 você deseja alterar. Por fim, salve a definição de função usando esse comando.
Sintaxe
InputFileParameterSet
Set-AzRoleDefinition
-InputFile <String>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
RoleDefinitionParameterSet
Set-AzRoleDefinition
-Role <PSRoleDefinition>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
O cmdlet Set-AzRoleDefinition atualiza uma função personalizada existente no Azure Role-Based Controle 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 de função para a função personalizada atualizada DEVE conter:
- Id: o identificador exclusivo da definição de função a ser atualizada
- Nome: o nome da função personalizada
- Descrição: uma breve descrição da função
- Permissões: uma matriz de objetos de permissão que contém Ações e/ou DataActions
- AssignableScopes: os escopos em que a função pode ser atribuída
Cada objeto de permissão na matriz Permissions pode conter Ações, NotActions, DataActions, NotDataActions e, opcionalmente, Condição e ConditionVersion para condições de Attribute-Based Controle de Acesso (ABAC).
Importante
A forma de PSRoleDefinition e do -InputFile JSON foi alterada. Ambos -Role (PSRoleDefinition) e -InputFile (JSON) agora usam uma Permissions matriz de objetos de permissão em vez de propriedades e Actions nível NotActionsDataActionsNotDataActionssuperior achatados. Os scripts que são conectados Get-AzRoleDefinitionSet-AzRoleDefinition -Role devem ler e modificar ações e condições em $role.Permissions[n] vez de diretamente no objeto de função. Arquivos JSON usados com -InputFile permissões de aninhamento da mesma forma em uma Permissions matriz.
Note
O Azure API RBAC atualmente dá suporte apenas a um único elemento na matriz Permissões ao atualizar funções personalizadas. Embora o modelo de dados dê suporte a várias entradas de permissão, 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 o arquivo JSON
Set-AzRoleDefinition -InputFile C:\Temp\roleDefinition.json
Atualiza uma definição de função personalizada de um arquivo JSON. O arquivo JSON deve incluir a propriedade ID da função.
Parâmetros
-DefaultProfile
As credenciais, a conta, o locatário e a assinatura usadas para comunicação com o Azure
Propriedades do parâmetro
| Tipo: | IAzureContextContainer |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | AzContext, AzureRmContext, AzureCredential |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-InputFile
Nome do arquivo que contém uma única definição de função json a ser atualizada. Inclua apenas as propriedades que devem ser atualizadas no JSON. A propriedade ID é Obrigatória.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
InputFileParameterSet
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Role
Objeto de definição de função a ser atualizado
Propriedades do parâmetro
| Tipo: | PSRoleDefinition |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
RoleDefinitionParameterSet
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-SkipClientSideScopeValidation
Se especificado, ignore a validação do escopo do lado do cliente.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | 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
Observações
Palavras-chave: azure, azurerm, arm, resource, management, manager, resource, group, template, deployment