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