Gerir funções de principais de serviço

Para restringir o acesso aos seus recursos do Azure, você pode usar uma entidade de serviço para gerenciar atribuições de função. Cada função fornece permissões diferentes permitidas pelo usuário ao acessar recursos do Azure. Esta etapa do tutorial explica como criar e remover funções de entidade de serviço.

A CLI do Azure tem os seguintes comandos para gerenciar atribuições de função:

Criar ou remover uma atribuição de função

A função de Colaborador tem permissões totais para ler e gravar em uma conta do Azure. A função Leitor é mais restritiva com acesso somente leitura. Use sempre o princípio do menor privilégio. Para obter uma lista completa das funções disponíveis no RBAC do Azure, consulte Funções internas do Azure.

Adicionar uma função não restringe as permissões atribuídas anteriormente. Este exemplo adiciona a função Reader e remove a função Contributor:

az role assignment create --assignee myServicePrincipalID \
                          --role Reader \
                          --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName

az role assignment delete --assignee myServicePrincipalID \
                          --role Contributor \
                          --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName

Console de saída:

{
  "condition": null,
  "conditionVersion": null,
  "createdBy": null,
  "createdOn": "yyyy-mm-ddT00:00:00.000000+00:00",
  "delegatedManagedIdentityResourceId": null,
  "description": null,
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "principalId": "00000000-0000-0000-0000-000000000000",
  "principalType": "ServicePrincipal",
  "roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000",
  "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroupName",
  "type": "Microsoft.Authorization/roleAssignments",
  "updatedBy": "00000000-0000-0000-0000-000000000000",
  "updatedOn": "yyyy-mm-ddT00:00:00.000000+00:00"
}

Como obter um valor para o parâmetro scope

Uma pergunta que você pode ter é "Como eu sei o valor do --scope parâmetro?" A resposta é localizar e copiar a ID do recurso do Azure que sua entidade de serviço precisa acessar. Essas informações geralmente são encontradas na página Propriedades ou Pontos de Extremidade do portal do Azure de cada recurso. Aqui estão exemplos comuns --scope , mas confie no seu ID de recurso para um formato e valor reais.

Âmbito Exemplo
Subscrição /subscriptions/mySubscriptionID
Grupo de recursos /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName
Máquina virtual /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMname
Serviço de arquivo de conta de armazenamento /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Storage/storageAccounts/myStorageAccountName/fileServices/default
Fábrica de dados /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.DataFactory/factories/myDataFactoryName

Para obter mais exemplos de escopo, consulte Entender o escopo do RBAC do Azure.

Verificar alterações

As alterações podem ser verificadas ao listar as funções atribuídas:

# list all role assignments for the current subscription
az role assignment list ---output table

# list role assignments for a user
az role assignment list --assignee myUserName@contoso.com

# list role assignments for a subscription
az role assignment list --subscription mySubscriptionID

Você também pode entrar no portal do Azure e atribuir manualmente a função à entidade de serviço no menu Controle de acesso (IAM). Para obter mais exemplos sobre como listar atribuições de função, consulte Listar atribuições de função do Azure usando a CLI do Azure.

Passos Seguintes

Agora que você aprendeu como gerenciar suas funções de entidade de serviço, prossiga para a próxima etapa para aprender a usar entidades de serviço para criar um recurso.