Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As ferramentas automatizadas que usam os serviços do Azure sempre devem ter permissões restritas para garantir que os recursos do Azure estejam seguros. Portanto, em vez de permitir que os aplicativos façam login como um usuário totalmente privilegiado, o Azure oferece entidades de serviço. Um principal de serviço do Azure é uma identidade criada para uso com aplicações, serviços hospedados e ferramentas automatizadas. Essa identidade é usada para acessar recursos.
Neste tutorial, você aprenderá como:
- Criar um principal de serviço
- Entrar usando um principal de serviço e senha
- Entrar usando um principal de serviço e um certificado
- Gerenciar as funções da entidades serviço
- Criar um recurso do Azure usando um principal de serviço
- Redefinir credenciais do principal de serviço
Pré-requisitos
- Em uma assinatura, você deve ter permissões
User Access Administrator
ouRole Based Access Control Administrator
, ou superiores, para criar um principal de serviço. Para obter uma lista de funções disponíveis para o controle de acesso baseado em função (RBAC) do Azure, confira as funções internas do Azure.
Utilize o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Introdução ao Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Se você estiver executando no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se você estiver usando uma instalação local, entre na CLI do Azure usando o comando az login . Para concluir o processo de autenticação, siga as etapas exibidas em seu terminal. Para obter outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar e gerenciar extensões com a CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute az upgrade.
Criar um principal de serviço
Use o comando de referência da CLI do Azure az ad sp create-for-rbac para criar uma entidade de serviço. Este exemplo não especifica um parâmetro --name
, portanto, um nome que contém um carimbo de data/hora é criado automaticamente.
az ad sp create-for-rbac
Console de saída:
{
"appId": "myAppId",
"displayName": "myServicePrincipalName",
"password": "myServicePrincipalPassword",
"tenant": "myTentantId"
}
Se você não estiver aderindo às convenções de nomenclatura de recursos e pretende criar uma função e um escopo para sua nova entidade de serviço posteriormente, usar o comando az ad sp create-for-rbac
sem parâmetros é uma solução aceitável. No entanto, sem uma função e escopo, o novo principal de serviço não tem acesso aos recursos. Ela só existe.
Ao criar uma entidade de serviço sem parâmetros, conclua também estas etapas:
- Registre sua senha atribuída pelo sistema, pois não é possível recuperá-la novamente. Se você perder a senha, redefina-a usando az ad sp credential reset, conforme explicado em Redefinir as credenciais do principal de serviço.
- Defina a atribuição de função para sua nova entidade de serviço usando az role assignment create conforme explicado em Gerenciar funções de entidade de serviço.
Observação
Se a sua conta não tem permissão para criar um principal do serviço, az ad sp create-for-rbac
retorna a mensagem de erro "Privilégios insuficientes para concluir a operação". Entre em contato com o administrador do Microsoft Entra para criar um principal de serviço.
Em um diretório do Microsoft Entra ID no qual a configuração de usuário Os usuários podem registrar aplicativos foi definida como Não, você deve ser membro de uma das seguintes funções internas do Microsoft Entra ID (que têm a ação: microsoft.directory/applications/createAsOwner
ou microsoft.directory/applications/create
):
- Desenvolvedor de Aplicativo
- Administrador de Aplicativos
- Administrador de Aplicativos de Nuvem
- Administrador global
- Administrador de Identidade Híbrida
Para obter mais informações sobre as configurações de usuário no Microsoft Entra ID, consulte Restrinja quem pode criar aplicativos.
Criar uma entidade de serviço com papel e escopos
Como prática recomendada, sempre atribua identificadores específicos --role
e --scopes
quando você cria um principal de serviço. Siga estas etapas:
Determine a função correta.
Ao determinar a função, sempre use o princípio do privilégio mínimo. Por exemplo, não conceda à entidade de serviço
contributor
permissões a uma assinatura se ela só precisa acessar o armazenamento do Azure dentro de um grupo de recursos. Considere uma função especializada como colaborador de dados de armazenamento Blob. Para obter uma lista completa das funções disponíveis no RBAC do Azure, confira Funções internas do Azure.Obtenha um valor para o parâmetro de escopos.
Localize e copie a ID de recurso do Azure que a nova 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
--scopes
, mas depende do ID de recurso para obter um formato e valor reais.Escopo 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.
Crie a entidade de serviço.
Neste exemplo, uma nova entidade de serviço chamada myServicePrincipalName1 é criada com permissões de leitura para todos os recursos do grupo de recursos RG1.
# Bash script az ad sp create-for-rbac --name myServicePrincipalName1 \ --role reader \ --scopes /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG1
O parâmetro
--scopes
aceita uma lista de escopos delimitada por espaços. Neste exemplo, uma nova entidade de serviço chamada myServicePrincipalName2 é criada com permissões de leitor para todos os recursos no grupo de recursos myRG1. Essa entidade de serviço também recebe permissões de leitor para myVM, que está localizado em myRG2.# Bash script az ad sp create-for-rbac --name myServicePrincipalName2 \ --role reader \ --scopes /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG2/providers/Microsoft.Compute/virtualMachines/myVM
Se você decidir que concedeu poucas ou muitas permissões ao seu novo principal de serviço, altere as permissões gerenciando funções de principal de serviço.
Criar um principal de serviço usando variáveis
Você também pode criar um principal de serviço usando variáveis:
# Bash script
let "randomIdentifier=$RANDOM*$RANDOM"
servicePrincipalName="msdocs-sp-$randomIdentifier"
roleName="azureRoleName"
subscriptionID=$(az account show --query id --output tsv)
# Verify the ID of the active subscription
echo "Using subscription ID $subscriptionID"
resourceGroup="myResourceGroupName"
echo "Creating SP for RBAC with name $servicePrincipalName, with role $roleName and in scopes /subscriptions/$subscriptionID/resourceGroups/$resourceGroup"
az ad sp create-for-rbac --name $servicePrincipalName \
--role $roleName \
--scopes /subscriptions/$subscriptionID/resourceGroups/$resourceGroup
Para obter uma lista completa das propriedades da entidade de serviço, use az ad sp list e consulte Obter informações sobre uma entidade de serviço existente.
Aviso
Quando você cria um principal de serviço do Azure usando o comando az ad sp create-for-rbac
, a saída inclui as credenciais que você precisa proteger. Lembre-se de não incluir essas credenciais em seu código ou de verificar as credenciais em seu controle do código-fonte. Como alternativa, considere usar as identidades gerenciadas, se estiverem disponíveis, para evitar a necessidade de usar credenciais.
Próximas etapas
Agora que você aprendeu a criar uma entidade de serviço do Azure, prossiga para a próxima etapa para saber como utilizar entidades de serviço com autenticação baseada em senha.