10‐Spring Boot Actuator ‐ Securing Endpoints - JulianeMaran32/Java-with-Spring-Boot GitHub Wiki
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.
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.
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.
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.
Agora vamos aplicar as configurações discutidas anteriormente na prática.
Abra o arquivo pom.xml
e adicione a dependência do Spring Security, conforme mostrado anteriormente.
Após adicionar a dependência, pare a aplicação, limpe o projeto e reinicie o servidor para aplicar as mudanças.
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.
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.
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.
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!