Compartilhar via


Gerenciar funções de principal de serviço usando Azure CLI

Para restringir o acesso aos recursos do Azure, você pode usar um principal 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 principal 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 Colaborador tem permissões completas para ler e gravar em uma conta do Azure. A função Leitor é mais restritiva com acesso somente leitura. Sempre use o princípio do privilégio mínimo. Para obter uma lista completa das funções disponíveis no RBAC do Azure, confira Funções internas do Azure.

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

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 de escopo

Uma pergunta que você pode ter é "Como saber o valor do --scope parâmetro?" A resposta é localizar e copiar a ID de recurso 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. Estes são exemplos comuns de --scope, mas depende do ID de recurso para obter um formato e valor reais.

Scope 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 arquivos da 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, confira Entender o escopo do RBAC do Azure.

Verificar alterações

As alterações podem ser verificadas listando 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.

Próximas etapas

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