Integração ao Azure com Service Principal

Quando falamos em integrar o Azure com outras ferramentas e aplicações, como Grafana e Terraform, um dos principais desafios é a autenticação segura. Para contornar essa questão, o Azure disponibiliza o conceito de Service Principal, uma identidade especial que permite a comunicação entre serviços sem a necessidade de interações manuais.

Neste post, vamos explorar o que é um Service Principal e como configurá-lo no Azure. Ao final, você terá o conhecimento necessário para criar Service Principals e integrá-los com diversas ferramentas, garantindo segurança e praticidade no seu ambiente de nuvem.

O que é um Service Principal ?

Um Service Principal é uma identidade criada no Azure para permitir que aplicações ou ferramentas (como Grafana e Terraform) acessem recursos de forma segura e automatizada, sem precisar de credenciais de usuários. Isso é útil para integrações onde é necessário controle e segurança, evitando o uso de credenciais pessoais e limitando permissões ao necessário.

Sem mais teoria, vamos para a prática.

1° Configurar App registration no Microsoft Entra ID

  • No portal do Azure, vá para Microsoft Entra ID > App registrations.

  • Clique em New registration, defina um nome e registre a aplicação.

Criar uma Credencial (Client Secret)

  • Em Certificates & secrets, crie um novo client secret.
  • Importante:
    • Anote o valor do client secret gerado, pois esse valor só pode ser visualizado na sua criação.
    • A secret criada dentro do App Registration no Microsoft Entra ID atua como uma credencial, permitindo a autenticação segura o Azure e outras aplicações. Ela funcionará como uma ‘senha’ para o aplicativo. Por isso, é importante tomar cuidado ao gerenciar essa chave de acesso (client secret). Se ela for comprometida, qualquer pessoa com acesso à chave poderá realizar operações nos seus recursos.

Definir Permissões

Após criar o App Registration e gerar o Secret, daremos as permissões necessárias para o nosso Service Principal no recurso desejado.

Atenção ao Conceder Permissões ao Service Principal: Ao atribuir permissões ao Service Principal, é essencial entender que ele terá acesso aos recursos de acordo com o nível de permissão escolhido. Por exemplo, se você der a função de Contributor, ele poderá criar, editar e excluir recursos, o que representa um grande poder dentro do ambiente do Azure.

  • No recurso desejado, vá em Access control (IAM) e atribua uma função ao Service Principal. No meu exemplo irei realizar a permissão de Contributor para toda minha assinatura.

Vá em Add > Add Role Assignment

Em role, selecione a permissão desejada, no nosso exemplo será Contributor.

Na aba Members, vá em Select members, localize o nome da aplicação criada anteriormente na primeira etapa e selecione-a.

Na aba Review + assign, finalize a atribuição da permissão.

Agora, nosso aplicativo já possui permissão de Contributor em toda a nossa assinatura.

Integração a Ferramentas Externas

Nessa ultima etapa não entrarei em detalhes, pois cada ferramenta externa pode ter sua particularidade, mas basicamente todas elas irão precisar das seguintes informações para integração:

Directory (tenant) ID e Application (client) ID : As informações podem ser adquiridas dentro do App Registration criado na primeira etapa.

Client Secret: O valor da Secret gerada e coletada na primeira etapa

Com essas informações em mão e as permissões adicionadas, estamos prontos para integrar o Azure com APIs Externas.

Conclusão

Configurar um Service Principal é uma etapa essencial para integrar o Azure com outras ferramentas de forma segura e automatizada. Com ele, é possível permitir que aplicações externas, como Grafana e Terraform, acessem e gerenciem recursos no Azure sem depender de credenciais de usuários.

Porém, é fundamental conceder apenas as permissões estritamente necessárias e armazenar as credenciais com segurança. Essa prática garante que o acesso aos recursos seja controlado, reduzindo riscos de segurança e facilitando a automação de processos no ambiente de nuvem.

Com essas dicas, você já tem o conhecimento necessário para configurar Service Principals de forma prática e segura, fortalecendo o seu ambiente Azure para integrações confiáveis e eficientes.

Sobre Vitor Prado 42 Artigos
Nascido e criado nas periferias de Diadema-SP, encontrei no estudo e no conhecimento uma forma alternativa de enfrentar os desafios da vida, apesar das muitas barreiras colocadas no caminho.

Seja o primeiro a comentar

Faça um comentário

Seu e-mail não será divulgado.


*