Compartilhar via


Guia do desenvolvedor do Spring Boot Starter for Microsoft Entra

Este artigo aplica-se a:✅ Versão 4.19.0 ✅ Versão 5.19.0

Este artigo descreve os recursos e cenários principais do Spring Boot Starter para Microsoft Entra ID. O artigo também inclui orientações sobre problemas comuns, soluções alternativas e etapas de diagnóstico.

Quando você está criando um aplicativo Web, o gerenciamento de identidade e acesso são peças fundamentais. O Azure oferece um serviço de identidade baseado na nuvem que tem integração profunda com o resto do ecossistema do Azure.

Embora o Spring Security facilite a proteção de seus aplicativos baseados no Spring, ele não é adaptado a um provedor de identidade específico. O Spring Boot Starter para Microsoft Entra ID permite que você conecte seu aplicativo Web a um locatário do Microsoft Entra e proteja seu servidor de recursos com o Microsoft Entra ID. Ele usa o protocolo Oauth 2.0 para proteger aplicativos da web e servidores de recursos.

Os links a seguir fornecem acesso ao pacote inicial, documentação e exemplos:

Pré-requisitos

Para seguir as instruções deste guia, você deve ter os seguintes pré-requisitos:

Importante

O Spring Boot versão 2.5 ou superior é necessário para concluir as etapas neste artigo.

Cenários principais

Este guia descreve como usar o Microsoft Entra starter nos seguintes cenários:

Um aplicativo Web é qualquer aplicação baseada na Web que permite que um utilizador inicie sessão. Um servidor de recursos aceitará ou negará acesso após validar um token de acesso.

Aceder a uma aplicação Web

Este cenário utiliza o fluxo de concessão de código de autorização OAuth 2.0 para permitir que um utilizador inicie sessão com uma conta Microsoft.

Para usar o Microsoft Entra starter nesse cenário, use as seguintes etapas:

Defina o URI de redirecionamento como <application-base-uri>/login/oauth2/code/. Por exemplo: http://localhost:8080/login/oauth2/code/. Certifique-se de incluir o final /. Para obter mais informações sobre o URI de redirecionamento, consulte Adicionar um URI de redirecionamento em Iniciação Rápida: registrar uma aplicação com a plataforma de identidade da Microsoft.

Captura de tela do portal do Azure mostrando a página de autenticação do aplicativo Web com o URI de redirecionamento realçado.

Adicione as seguintes dependências ao seu arquivo pom.xml.

<dependency>
   <groupId>com.azure.spring</groupId>
   <artifactId>spring-cloud-azure-starter-active-directory</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>

Observação

Para obter mais informações sobre como gerenciar versões da biblioteca do Azure do Spring Cloud usando uma lista de materiais (BOM), consulte a seção Introdução do guia do desenvolvedor do Spring Cloud Azure.

Adicione as seguintes propriedades ao seu arquivo application.yml. Você pode obter os valores para essas propriedades do registro de aplicativo criado no portal do Azure, conforme descrito nos pré-requisitos.

spring:
 cloud:
   azure:
     active-directory:
       enabled: true
       profile:
         tenant-id: <tenant>
       credential:
         client-id: <your-client-ID>
         client-secret: <your-client-secret>

Observação

Os valores permitidos para tenant-id são: common, organizations, consumersou o ID do locatário. Para obter mais informações sobre esses valores, consulte a secção, Usou o ponto de extremidade errado (contas pessoais e de organização) na secção Erro AADSTS50020 - A conta de utilizador do fornecedor de identidade não existe no inquilino. Para obter informações sobre como converter seu aplicativo de locatário único, consulte Converter aplicativo de locatário único em multilocatário no Microsoft Entra ID.

Use a configuração de segurança padrão ou forneça sua própria configuração.

Opção 1: Use a configuração padrão.

Com esta opção, você não precisa fazer nada. A classe DefaultAadWebSecurityConfiguration é configurada automaticamente.

Opção 2: Fornecer uma configuração autodefinida.

Para fornecer uma configuração, aplique o método AadWebApplicationHttpSecurityConfigurer#aadWebApplication para o HttpSecurity, conforme mostrado no exemplo a seguir:

@Configuration(proxyBeanMethods = false)
@EnableWebSecurity
@EnableMethodSecurity
public class AadOAuth2LoginSecurityConfig {

   /**
    * Add configuration logic as needed.
    */
   @Bean
   SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
       http.apply(AadWebApplicationHttpSecurityConfigurer.aadWebApplication())
               .and()
           .authorizeHttpRequests()
               .anyRequest().authenticated();
           // Do some custom configuration.
       return http.build();
   }
}

Acessar servidores de recursos a partir de um aplicativo Web

Para usar o Microsoft Entra starter nesse cenário, use as seguintes etapas:

Defina o URI de redirecionamento conforme descrito anteriormente.

Adicione as seguintes dependências ao seu arquivo pom.xml.

<dependency>
   <groupId>com.azure.spring</groupId>
   <artifactId>spring-cloud-azure-starter-active-directory</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>

Observação

Para mais informações sobre como gerir as versões das bibliotecas Spring Cloud Azure usando uma nota de materiais (BOM), consulte a seção Introdução do guia do desenvolvedor do Spring Cloud Azure.

Adicione as seguintes propriedades ao seu arquivo application.yml, conforme descrito anteriormente:

spring:
 cloud:
   azure:
     active-directory:
       enabled: true
       profile:
         tenant-id: <tenant>
       credential:
         client-id: <your-client-ID>
         client-secret: <your-client-secret>
       authorization-clients:
         graph:
           scopes: https://graph.microsoft.com/Analytics.Read, email

Observação

Os valores permitidos para tenant-id são: common, organizations, consumersou o ID do locatário. Para mais informações sobre esses valores, consulte a seção Usado o ponto de extremidade errado (contas pessoais e de organização) de Erro AADSTS50020 - A conta de usuário do provedor de identidade não existe no inquilino. Para obter informações sobre como converter o seu aplicativo de locatário único, consulte Converter o aplicativo de locatário único para multilocatário no Microsoft Entra ID.

Aqui, graph é o nome do seu OAuth2AuthorizedCliente scopes são as permissões necessárias para o consentimento ao fazer login.

Adicione código ao seu aplicativo semelhante ao exemplo a seguir:

@GetMapping("/graph")
@ResponseBody
public String graph(
   @RegisteredOAuth2AuthorizedClient("graph") OAuth2AuthorizedClient graphClient
) {
   // toJsonString() is just a demo.
   // oAuth2AuthorizedClient contains access_token. We can use this access_token to access the resource server.
   return toJsonString(graphClient);
}

Aqui, graph é o ID do cliente configurado na etapa anterior. OAuth2AuthorizedClient contém o token de acesso, que é usado para acessar o servidor de recursos.

Para ver um exemplo completo demonstrando este cenário, consulte o exemplo de spring-cloud-azure-starter-active-directory: aad-web-application.

Proteger um servidor/API de recursos

Este cenário não permite iniciar sessão, mas protege o servidor validando o token de acesso. Se o token de acesso for válido, o servidor atende a solicitação.

Para usar o Microsoft Entra starter nesse cenário, use as seguintes etapas:

Adicione as seguintes dependências ao seu arquivo pom.xml.

<dependency>
   <groupId>com.azure.spring</groupId>
   <artifactId>spring-cloud-azure-starter-active-directory</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
</dependency>

Observação

Para obter mais informações sobre como gerir versões da biblioteca do Spring Cloud Azure usando um bill of materials (BOM), consulte a seção Introdução do guia de desenvolvedor do Spring Cloud Azure.

Adicione as seguintes propriedades ao seu arquivo application.yml, conforme descrito anteriormente:

spring:
 cloud:
   azure:
     active-directory:
       enabled: true
       credential:
         client-id: <your-client-ID>
       app-id-uri: <your-app-ID-URI>

Você pode usar tanto os valores <your-client-ID> quanto os valores <your-app-ID-URI> para verificar o token de acesso. Você pode obter o valor seu-aplicativo-ID-URI no portal do Azure, conforme mostrado nas imagens a seguir:

Captura de tela do portal do Azure mostrando o aplicativo Web Expor uma página de API com o URI da ID do Aplicativo realçado.

Use a configuração de segurança padrão ou forneça sua própria configuração.

Opção 1: Use a configuração padrão.

Com esta opção, você não precisa fazer nada. A classe DefaultAadResourceServerConfiguration é configurada automaticamente.

Opção 2: Fornecer uma configuração autodefinida.

Para fornecer uma configuração, aplique o método AadResourceServerHttpSecurityConfigurer#aadResourceServer para o HttpSecurity, conforme mostrado no exemplo a seguir:

@Configuration(proxyBeanMethods = false)
@EnableWebSecurity
@EnableMethodSecurity
public class AadOAuth2ResourceServerSecurityConfig {

   /**
    * Add configuration logic as needed.
    */
   @Bean
   public SecurityFilterChain apiFilterChain(HttpSecurity http) throws Exception {
       http.apply(AadResourceServerHttpSecurityConfigurer.aadResourceServer())
               .and()
           .authorizeHttpRequests()
               .anyRequest().authenticated();
       return http.build();
   }
}

Para obter um exemplo completo demonstrando esse cenário, consulte exemplo de spring-cloud-azure-starter-active-directory: aad-resource-server.

Aceder a outros servidores de recursos a partir de um servidor de recursos

Este cenário suporta um servidor de recursos que visita outros servidores de recursos.

Para usar o Microsoft Entra starter nesse cenário, use as seguintes etapas:

Adicione as seguintes dependências ao seu arquivo pom.xml.

<dependency>
   <groupId>com.azure.spring</groupId>
   <artifactId>spring-cloud-azure-starter-active-directory</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>

Observação

Para obter mais informações sobre como gerenciar versões da biblioteca do Azure do Spring Cloud usando uma lista de materiais (BOM), consulte a seção Introdução do guia do desenvolvedor do Spring Cloud Azure.

Adicione as seguintes propriedades ao seu arquivo application.yml:

spring:
 cloud:
   azure:
     active-directory:
       enabled: true
       profile:
         tenant-id: <tenant>
       credential:
         client-id: <web-API-A-client-ID>
         client-secret: <web-API-A-client-secret>
       app-id-uri: <web-API-A-app-ID-URI>
       authorization-clients:
         graph:
           scopes:
              - https://graph.microsoft.com/User.Read

Observação

Os valores permitidos para tenant-id são: common, organizations, consumersou o ID do locatário. Para obter mais informações sobre esses valores, consulte a seção Uso do ponto de extremidade errado (contas pessoais e de organização) de Erro AADSTS50020 - A conta de utilizador do fornecedor de identidade não existe no inquilino. Para obter informações sobre como converter seu aplicativo de locatário único, consulte Converter aplicativo de locatário único em multilocatário no Microsoft Entra ID.

Use o atributo @RegisteredOAuth2AuthorizedClient em seu código para acessar o servidor de recursos relacionado, conforme mostrado no exemplo a seguir:

@PreAuthorize("hasAuthority('SCOPE_Obo.Graph.Read')")
@GetMapping("call-graph")
public String callGraph(@RegisteredOAuth2AuthorizedClient("graph") OAuth2AuthorizedClient graph) {
   return callMicrosoftGraphMeEndpoint(graph);
}

Para obter um exemplo completo que demonstra este cenário, consulte o exemplo do spring-cloud-azure-starter-active-directory: aad-resource-server-obo.

Aplicativo Web e servidor de recursos em um aplicativo

Este cenário oferece suporte ao Acessar um aplicativo web e Proteger um servidor de recursos/API num só aplicativo.

Para utilizar aad-starter neste cenário, siga estes passos:

Adicione as seguintes dependências ao seu arquivo pom.xml.

<dependency>
   <groupId>com.azure.spring</groupId>
   <artifactId>spring-cloud-azure-starter-active-directory</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>

Observação

Para obter mais informações sobre como gerir versões das bibliotecas do Spring Cloud Azure usando uma lista de materiais (BOM), consulte a seção Introdução do guia do desenvolvedor do Spring Cloud Azure.

Atualize seu arquivo application.yml. Defina a propriedade spring.cloud.azure.active-directory.application-type como web_application_and_resource_servere especifique o tipo de autorização para cada cliente de autorização, conforme mostrado no exemplo a seguir.

spring:
 cloud:
   azure:
     active-directory:
       enabled: true
       profile:
         tenant-id: <tenant>
       credential:
         client-id: <Web-API-C-client-id>
         client-secret: <Web-API-C-client-secret>
       app-id-uri: <Web-API-C-app-id-url>
       application-type: web_application_and_resource_server  # This is required.
       authorization-clients:
         graph:
           authorizationGrantType: authorization_code  # This is required.
           scopes:
             - https://graph.microsoft.com/User.Read
             - https://graph.microsoft.com/Directory.Read.All

Observação

Os valores permitidos para tenant-id são: common, organizations, consumersou o ID do locatário. Para obter mais informações sobre esses valores, consulte a seção do Usado o ponto de extremidade errado (contas pessoais e de organização) na seção Erro AADSTS50020 - A conta de usuário do provedor de identidade não existe no locatário. Para obter informações sobre como converter a sua aplicação de locatário único, consulte Converter aplicação de locatário único para multilocatário no Microsoft Entra ID.

Escreva código Java para configurar várias instâncias HttpSecurity.

No código de exemplo a seguir, AadWebApplicationAndResourceServerConfig contém dois beans de cadeia de filtro de segurança, um para um servidor de recursos e outro para um aplicativo Web. O bean apiFilterChain tem uma alta prioridade para configurar o construtor de segurança do servidor de recursos. O htmlFilterChain bean tem uma baixa prioridade para configurar o construtor de segurança de aplicativos Web.

@Configuration(proxyBeanMethods = false)
@EnableWebSecurity
@EnableMethodSecurity
public class AadWebApplicationAndResourceServerConfig {

    @Bean
    @Order(1)
    public SecurityFilterChain apiFilterChain(HttpSecurity http) throws Exception {
        http.apply(AadResourceServerHttpSecurityConfigurer.aadResourceServer())
                .and()
            // All the paths that match `/api/**`(configurable) work as the resource server. Other paths work as the web application.
            .securityMatcher("/api/**")
            .authorizeHttpRequests()
                .anyRequest().authenticated();
        return http.build();
    }

    @Bean
    public SecurityFilterChain htmlFilterChain(HttpSecurity http) throws Exception {
        // @formatter:off
        http.apply(AadWebApplicationHttpSecurityConfigurer.aadWebApplication())
                .and()
            .authorizeHttpRequests()
                .requestMatchers("/login").permitAll()
                .anyRequest().authenticated();
        // @formatter:on
        return http.build();
    }
}

Tipo de aplicação

A propriedade spring.cloud.azure.active-directory.application-type é opcional porque seu valor pode ser inferido por dependências. Você deve definir manualmente a propriedade somente quando usar o valor web_application_and_resource_server.

Tem dependência: spring-security-oauth2-client Tem dependência: spring-security-oauth2-resource-server Valores válidos do tipo de aplicativo Valor padrão
Sim Não web_application web_application
Não Sim resource_server resource_server
Sim Sim web_application,resource_server,
resource_server_with_obo, web_application_and_resource_server
resource_server_with_obo

Propriedades configuráveis

O Spring Boot Starter para Microsoft Entra ID fornece as seguintes propriedades:

Propriedades Descrição
spring.cloud.azure.active-directory.app-id-uri Usado pelo servidor de recursos para validar a audiência no token de acesso. O token de acesso é válido somente quando a audiência é igual aos valores <> your-client-ID ou <your-app-ID-URI> descritos anteriormente.
spring.cloud.azure.active-directory.authorization-clients Um mapa que configura as APIs de recursos que o aplicativo vai visitar. Cada item corresponde a uma API de recurso que o aplicativo vai visitar. No seu código Spring, cada item corresponde a um objeto OAuth2AuthorizedClient.
spring.cloud.azure.active-directory.authorization-clients.<seu-nome-de-cliente>.scopes As permissões de API de um servidor de recursos que o aplicativo vai adquirir.
spring.cloud.azure.active-directory.authorization-clients.<seu-nome-cliente->.authorization-grant-type O tipo de cliente de autorização. Os tipos suportados são authorization_code (tipo padrão para aplicação web), on_behalf_of (tipo padrão para servidor de recursos), client_credentials.
spring.cloud.azure.active-directory.application-type Consulte Tipo de aplicação.
spring.cloud.azure.active-directory.profile.environment.active-directory-endpoint O URI base para o servidor de autorização. O valor padrão é https://login.microsoftonline.com/.
spring.cloud.azure.active-directory.credential.client-id O ID da aplicação registada no Microsoft Entra ID.
spring.cloud.azure.active-directory.credential.client-secret O segredo do cliente da aplicação registada.
spring.cloud.azure.active-directory.user-group.use-transitive-members Use v1.0/me/transitiveMemberOf para obter grupos se estiver definido como verdadeiro. Caso contrário, use /v1.0/me/memberOf.
spring.cloud.azure.active-directory.post-logout-redirect-uri O URI de redirecionamento para postar a saída.
spring.cloud.azure.active-directory.profile.tenant-id A ID do locatário do Azure. Os valores permitidos para tenant-id são: common, organizations, consumersou o ID do locatário.
spring.cloud.azure.active-directory.user-group.allowed-group-names Os grupos de usuários esperados aos quais uma autoridade será concedida se encontrados na resposta da chamada da API do MemberOf Graph.
spring.cloud.azure.active-directory.user-name-attribute Indica qual reclamação será o nome do principal.

Os exemplos a seguir mostram como usar essas propriedades:

Exemplo de propriedade 1: Para usar o Azure China 21Vianet em vez do Azure Global, use a etapa a seguir.

  • Adicione as seguintes propriedades ao seu arquivo application.yml:

    spring:
       cloud:
         azure:
           active-directory:
             enabled: true
             profile:
               environment:
                 active-directory-endpoint: https://login.partner.microsoftonline.cn
    

Com este método, pode utilizar um Azure soberano ou nacional em vez da nuvem pública do Azure.

Exemplo de propriedade 2: Para usar um nome de grupo para proteger algum método em um aplicativo Web, use as seguintes etapas:

Adicione a seguinte propriedade ao seu arquivo application.yml:

spring:
 cloud:
   azure:
     active-directory:
       enabled: true
       user-group:
         allowed-groups: group1, group2

Use a configuração de segurança padrão ou forneça sua própria configuração.

Opção 1: Use a configuração padrão. Com esta opção, você não precisa fazer nada. A classe DefaultAadWebSecurityConfiguration é configurada automaticamente.

Opção 2: Fornecer uma configuração autodefinida. Para fornecer uma configuração, aplique o método AadWebApplicationHttpSecurityConfigurer#aadWebApplication para o HttpSecurity, conforme mostrado no exemplo a seguir:

@Configuration(proxyBeanMethods = false)
@EnableWebSecurity
@EnableMethodSecurity
public class AadOAuth2LoginSecurityConfig {

   /**
    * Add configuration logic as needed.
    */
   @Bean
   public SecurityFilterChain htmlFilterChain(HttpSecurity http) throws Exception {
       // @formatter:off
       http.apply(AadWebApplicationHttpSecurityConfigurer.aadWebApplication())
               .and()
           .authorizeHttpRequests()
               .anyRequest().authenticated();
       // @formatter:on
       // Do some custom configuration.
       return http.build();
   }
}

Use a anotação @PreAuthorize para proteger o método, conforme mostrado no exemplo a seguir:

@Controller
public class RoleController {
   @GetMapping("group1")
   @ResponseBody
   @PreAuthorize("hasRole('ROLE_group1')")
   public String group1() {
       return "group1 message";
   }

   @GetMapping("group2")
   @ResponseBody
   @PreAuthorize("hasRole('ROLE_group2')")
   public String group2() {
       return "group2 message";
   }

   @GetMapping("group1Id")
   @ResponseBody
   @PreAuthorize("hasRole('ROLE_<group1-id>')")
   public String group1Id() {
       return "group1Id message";
   }

   @GetMapping("group2Id")
   @ResponseBody
   @PreAuthorize("hasRole('ROLE_<group2-id>')")
   public String group2Id() {
       return "group2Id message";
   }
}

Exemplo de propriedade 3: Para habilitar o fluxo de credenciais do cliente num servidor de recursos que interage com outros servidores de recursos, siga as etapas abaixo:

Adicione a seguinte propriedade ao seu arquivo application.yml:

spring:
 cloud:
   azure:
     active-directory:
       enabled: true
       authorization-clients:
         webapiC:   # When authorization-grant-type is null, on behalf of flow is used by default
           authorization-grant-type: client_credentials
           scopes:
             - <Web-API-C-app-id-url>/.default

Adicione código ao seu aplicativo semelhante ao exemplo a seguir:

@PreAuthorize("hasAuthority('SCOPE_Obo.WebApiA.ExampleScope')")
@GetMapping("webapiA/webapiC")
public String callClientCredential() {
   String body = webClient
       .get()
       .uri(CUSTOM_LOCAL_READ_ENDPOINT)
       .attributes(clientRegistrationId("webapiC"))
       .retrieve()
       .bodyToMono(String.class)
       .block();
   LOGGER.info("Response from Client Credential: {}", body);
   return "client Credential response " + (null != body ? "success." : "failed.");
}

Funcionalidades avançadas

Suporte ao controle de acesso por token de ID em um aplicativo Web

O starter suporta a criação de GrantedAuthority a partir da declaração de roles de um token de ID para permitir o uso do token de ID para autorização em um aplicativo Web. Você pode usar o recurso appRoles do Microsoft Entra ID para criar uma declaração de roles e implementar o controle de acesso.

Observação

A declaração de roles gerada a partir de appRoles é decorada com o prefixo APPROLE_.

Ao usar appRoles como uma declaração de roles, evite configurar um atributo de grupo como roles ao mesmo tempo. Caso contrário, o atributo grupo substituirá a alegação para incluir informações do grupo em vez de appRoles. Você deve evitar a seguinte configuração em seu manifesto:

"optionalClaims": {
    "idtoken": [{
        "name": "groups",
        "additionalProperties": ["emit_as_roles"]
    }]
}

Para dar suporte ao controle de acesso por token de ID em um aplicativo Web, use as seguintes etapas:

Adicione funções de aplicativo em seu aplicativo e atribua-as a usuários ou grupos. Para obter mais informações, consulte Como adicionar funções de aplicativo ao seu aplicativo e recebê-las no token.

Adicione a seguinte configuração appRoles ao manifesto do aplicativo:

 "appRoles": [
   {
     "allowedMemberTypes": [
       "User"
     ],
     "displayName": "Admin",
     "id": "2fa848d0-8054-4e11-8c73-7af5f1171001",
     "isEnabled": true,
     "description": "Full admin access",
     "value": "Admin"
    }
 ]

Adicione código ao seu aplicativo semelhante ao exemplo a seguir:

@GetMapping("Admin")
@ResponseBody
@PreAuthorize("hasAuthority('APPROLE_Admin')")
public String Admin() {
   return "Admin message";
}

Solução de problemas

Habilitar o log do cliente

Os SDKs do Azure para Java oferecem uma história de log consistente para ajudar a solucionar problemas e resolver erros de aplicativos. Os logs produzidos capturarão o fluxo de um aplicativo antes de chegar ao terminal, ajudando a localizar o problema raiz. Veja o registro em log wiki para obter orientação sobre como habilitar o registro.

Ativar a geração de logs do Spring

O Spring permite que todos os sistemas de logging suportados definam níveis de registo no ambiente Spring (por exemplo, em application.properties) usando logging.level.<logger-name>=<level>, em que o nível pode ser um dos TRACE, DEBUG, INFO, WARN, ERROR, FATAL ou OFF. Você pode configurar o registrador raiz usando logging.level.root.

O exemplo a seguir mostra possíveis configurações de log no arquivo application.properties :

logging.level.root=WARN
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR

Para obter mais informações sobre a configuração de registo no Spring, consulte Registo na documentação do Spring.

Próximos passos

Para saber mais sobre o Spring e o Azure, continue para o centro de documentação do Spring on Azure.