Este artigo mostra como criar um service principal que pode ser usado com o controle de acesso baseado em função. Quando você tem aplicativos, serviços hospedados ou ferramentas automatizadas que precisam acessar ou modificar recursos, pode criar uma identidade para o aplicativo. Essa identidade é conhecida como service principal. O acesso aos recursos é restrito pelas funções atribuídas ao service principal, dando a você controle sobre quais recursos podem ser acessados e em que nível. Por motivos de segurança, é sempre recomendável usar service principal com ferramentas automatizadas, em vez de permitir que façam login com uma identidade de usuário.
Podemos utilizar o service principal para autenticar no Azure sem precisar utilizar uma conta de usuário, podemos utilizar o service principal por exemplo com o Terraform para autenticar no Azure e provisionar recursos.
Passo a Passo
01 – Faça login no portal do Azure.
02 – No portal pesquise por Azure Active Directory.
03 – Em Manage clique em App registrations.
04 – Na tela App registrations clique em + New registration.
05 – Na tela Register an application, em Name crie um nome para o service principal, em Supported account types selecione Accounts in this organizational directory only em seguida clique em Register.
06 – Como podemos observar o service principal foi criado com sucesso.
07 – Selecione o serviceprincipal-teste, quando estiver utilizando o service principal para autenticação, como por exemplo utilizando o Terraform, vamos precisar do Application (client) ID e do Directory (tenant) ID.
08 – Em Manage, clique em Certificates & secrets.
09 – Em serviceprincipal-teste | Certificates & secrets clique em + New cliente secret, atente-se para essa configuração porque será necessário na utilização com soluções como o Terraform.
10 – Na tela Add a client secret, em Description digite um descrição para o secret, para a opção Experies podemos selecionar uma data de expiração para esse secret temos algumas opções definidas e podemos customizar a data de expiração, vamos selecionar 3 months em seguida clique em Add.
11 – Como podemos observar o secret foi criado com sucesso, guarde o valor do secret porque para autenticar no azure com soluções como o Terraform vamos precisar dessa informação.
Permissão na Subscription
Agora que já criamos nosso service principal para utilizarmos na autenticação do Azure, vamos precisar dar permissão ao service principal para criar recursos em nossa assinatura.
12 – No portal do Azure pesquise por Subscriptions.
13 – Na tela Subscriptions, seleciona a assinatura desejada.
14 – Após selecionar a subscription clique em Access control (IAM).
15 – Na tela Access control (IAM), clique em + Add e Add role assignment.
16 – Na tela Add role assignment, em Role selecione Contributor, em Assign access to deixe selecionado User, group, or service principal, em Select pesquise o service principal que criamos e clique em Save.
17 – Na tela Access control (IAM), clique em Role assignments e observe que nosso service principal foi adicionado com a permissão de Contributor.
Criar service principal com PowerShell
18 – O Script abaixo criar um service principal e secret, e atribui a função de Contributor ao service principal na subscripton.
Para executar o script em seu computador é necessários que o módulo Azure PowerShell já tenha sido instalado, caso deseje o script também pode ser executado no Azure Cloud Shell.
Para baixar os módulos do Azure PowerShell acesse o link abaixo:
https://docs.microsoft.com/pt-br/powershell/azure/install-az-ps?view=azps-6.4.0
# Fazer Login no Azure
Connect-AzAccount
# Exibir o ID da Assinatura do Azure
Get-AzSubscription
# Variável com o ID da assinatura
$subscriptionId = ‘958g-bc74-4f32-9ef1-91a123’
# Criar Service Principal
New-AzADServicePrincipal -DisplayName “serviceprincipal-teste2” ` -Scope “/subscriptions/$subscriptionId” ` -Role Contributor ` -StartDate “26/08/2021” -EndDate “27/08/2052” -Verbose
OBESERVAÇÃO: O valor descrito na variável subscription é um valor apenas para demonstração esse valor não pertence a nenhuma assinatura existente.
19 – Como podemos observar na imagem abaixo o service principal foi criado com sucesso.
20 – No portal do Azure em Azure Active Directory, App registrations observe que o service principal foi criado.
21 – Selecione o service principal, em Certificates & secrets observe que o secret foi criado com sucesso.
21 – No portal do Azure em Subscription, Access control (IAM –> Role assignments, observe o serivce principal foi adicionado com a role de Contributor.
Comente suas sugestões e observações!
Forte abraço, obrigado e até o próximo post

Carreira desenvolvida na área de tecnologia da informação, com ampla experiência em Cloud Computing, com foco em Microsoft Azure.
Fui nomeado Microsoft MVP na categoria Microsoft Azure.
Faço parte da Ong MTAC, sou MCT Microsoft, tenho algumas certificações como AZ-303 Microsoft Azure Architect Technologies, AZ-104 Azure Administrator, MCSE Core Infrastructure e MCSA Windows Server 2012.
Também participo como palestrante em eventos online da comunidade de TI, sou administrador e escritor no blog https://jadsonalves.com.br cujo principal objetivo é compartilhar conhecimento com a comunidade de TI e também escrevo artigos técnicos no portal https://cooperati.com.br