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