Partilhar via


Gerir as funções de entidade de serviço usando a interface de linha de comandos do Azure

Para restringir o acesso aos seus recursos do Azure, pode usar um principal de serviço para gerir 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 de Colaborador tem permissões totais para ler e gravar em uma conta do Azure. A função de Leitor é mais restritiva, oferecendo apenas acesso de 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 no portal do Azure de cada recurso. Aqui estão exemplos comuns --scope, mas confie no seu ID de Recurso para um valor e formato reais.

Âmbito de aplicação 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 ficheiros 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, consulte Entender o escopo do Azure RBAC.

Verificação das 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 Controlo 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 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.