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 AdministratorouRole 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.
Aviso
O az ad sp create-for-rbac comando pode modificar um aplicativo ou entidade de serviço existente se outro objeto compartilhar o mesmo nome de exibição. Os nomes de exibição não são exclusivos e podem ser alterados, o que pode resultar em perda das credenciais ou atribuições de RBAC incorretas. Em vez disso, use uma ID de objeto exclusiva ou uma ID de aplicativo .
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
contributorpermissõ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.Scope Exemplo Subscrição /subscriptions/mySubscriptionIDGrupo de recursos /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupNameMáquina virtual /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMnameServiço de arquivos da conta de armazenamento /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Storage/storageAccounts/myStorageAccountName/fileServices/defaultFábrica de dados /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.DataFactory/factories/myDataFactoryNamePara 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/myRG1O parâmetro
--scopesaceita 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.