10‐Spring Boot Actuator ‐ Securing Endpoints - JulianeMaran32/Java-with-Spring-Boot GitHub Wiki

21. Spring Boot Actuator - Protegendo Endpoints - Visão Geral

Introdução

O Spring Boot Actuator fornece endpoints úteis para monitorar e gerenciar aplicações Spring Boot em produção. No entanto, expor esses endpoints sem segurança pode ser arriscado. Nesta seção, veremos como proteger esses pontos de acesso utilizando o Spring Security.

Habilitando a Segurança no Actuator

Por padrão, ao adicionar o Actuator, todos os endpoints ficam acessíveis sem restrições. Para protegê-los, basta adicionar a dependência do Spring Security no arquivo pom.xml:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

Após adicionar essa dependência, a Spring Security exigirá autenticação para acessar os endpoints do Actuator. O nome de usuário padrão será user, e a senha será gerada automaticamente e exibida nos logs do console da aplicação.

Personalizando Usuário e Senha

Se desejar definir seu próprio nome de usuário e senha, basta adicionar as seguintes configurações no arquivo application.properties:

spring.security.user.name=meuUsuario
spring.security.user.password=minhaSenhaSegura

Dessa forma, a autenticação passará a exigir essas credenciais definidas.

Desativando Endpoints Específicos

Caso queira desativar alguns endpoints do Actuator, utilize a seguinte configuração no application.properties:

management.endpoints.web.exposure.exclude=health,info

Isso impedirá que os endpoints /actuator/health e /actuator/info sejam acessados.

Se precisar de mais detalhes sobre o Spring Boot Actuator, acesse a documentação oficial: Spring Boot Actuator Docs.

22. Spring Boot Actuator - Protegendo Endpoints - Implementação

Agora vamos aplicar as configurações discutidas anteriormente na prática.

Passo 1: Adicionar a Dependência de Segurança

Abra o arquivo pom.xml e adicione a dependência do Spring Security, conforme mostrado anteriormente.

Passo 2: Reiniciar a Aplicação

Após adicionar a dependência, pare a aplicação, limpe o projeto e reinicie o servidor para aplicar as mudanças.

Passo 3: Testando a Segurança

Tente acessar um endpoint protegido, como /actuator/beans. Você verá que agora é necessário um login. O usuário padrão será user, e a senha estará nos logs do console.

Passo 4: Definir Credenciais Personalizadas

Modifique o application.properties para definir um usuário e senha próprios, como mostrado antes. Reinicie a aplicação e tente acessar o Actuator novamente com as novas credenciais.

Passo 5: Desativando Endpoints

Se desejar desativar endpoints como /actuator/health e /actuator/info, adicione a configuração no application.properties e reinicie a aplicação. Ao tentar acessá-los, um erro 404 Not Found será retornado, indicando que foram desativados.

Conclusão

A segurança no Spring Boot Actuator é essencial para evitar a exposição de informações sensíveis. Com poucos passos, conseguimos proteger os endpoints e personalizar as credenciais de acesso. Nos próximos tópicos, exploraremos mais sobre Spring Security e como integrá-lo com bancos de dados para um controle mais avançado de autenticação e autorização.

Bom trabalho!

⚠️ **GitHub.com Fallback** ⚠️