Compartir a través de


Guía del desarrollador de Spring Boot Starter para Microsoft Entra

Este artículo se aplica a:✅ versión 4.19.0 ✅ versión 5.19.0

En este artículo se describen las características y los escenarios principales del Spring Boot Starter para el id. de Microsoft Entra. El artículo también incluye instrucciones sobre problemas comunes, soluciones alternativas y pasos de diagnóstico.

Al compilar una aplicación web, la administración de identidades y acceso es fundamental. Azure ofrece un servicio de identidad basado en la nube que tiene una integración profunda con el resto del ecosistema de Azure.

Aunque Spring Security facilita la protección de las aplicaciones basadas en Spring, no se adapta a un proveedor de identidades específico. El Spring Boot Starter para Microsoft Entra ID permite conectar la aplicación web a un tenant de Microsoft Entra y proteger el servidor de recursos con Microsoft Entra ID. Usa el protocolo Oauth 2.0 para proteger las aplicaciones web y los servidores de recursos.

Los vínculos siguientes proporcionan acceso al paquete de inicio, la documentación y los ejemplos:

Prerrequisitos

Para seguir las instrucciones de esta guía, debe tener los siguientes requisitos previos:

Importante

Se requiere Spring Boot versión 2.5 o posterior para completar los pasos descritos en este artículo.

Escenarios principales

En esta guía se describe cómo usar Microsoft Entra Starter en los escenarios siguientes:

Una aplicación web es cualquier aplicación basada en la web que permita a un usuario iniciar sesión. Un servidor de recursos aceptará o denegará el acceso después de validar un token de acceso.

Acceso a una aplicación web

En este escenario se usa el flujo de concesión de código de autorización de OAuth 2.0 para permitir que un usuario inicie sesión con una cuenta Microsoft.

Para usar Microsoft Entra Starter en este escenario, siga estos pasos:

Establezca el URI de redirección en <application-base-uri>/login/oauth2/code/. Por ejemplo: http://localhost:8080/login/oauth2/code/. Asegúrese de incluir la barra diagonal / final. Para obtener más información sobre el URI de redirección, vea Agregar un URI de redirección en Inicio rápido: Registrar una aplicación en la plataforma de identidad de Microsoft.

Captura de pantalla de Azure Portal en la que se muestra la página de autenticación de aplicaciones web con el URI de redirección resaltado.

Agregue las siguientes dependencias al archivo 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>

Nota

Para obtener más información sobre cómo administrar las versiones de la biblioteca de Spring Cloud Azure mediante una lista de materiales (BOM), consulte la sección Introducción de la guía para desarrolladores de Spring Cloud Azure.

Agregue las siguientes propiedades al archivo application.yml. Puede obtener los valores de estas propiedades desde el registro de aplicaciones que creó en Azure Portal, como se describe en los requisitos previos.

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

Nota

Los valores permitidos para tenant-id son: common, organizations, consumerso el identificador de inquilino. Para obtener más información sobre estos valores, consulte la sección Uso del punto de conexión incorrecto (cuentas personales y de organización) de Error AADSTS50020: la cuenta de usuario del proveedor de identidades no existe en el inquilino. Para obtener información sobre cómo convertir su aplicación de un solo inquilino a multiinquilino, consulte Convertir aplicación de un solo inquilino a multiinquilino en Microsoft Entra ID.

Use la configuración de seguridad predeterminada o proporcione su propia configuración.

Opción 1: Use la configuración predeterminada.

Con esta opción, no es necesario hacer nada. La clase DefaultAadWebSecurityConfiguration se configura automáticamente.

Opción 2: Proporcionar una configuración autodefinida.

Para proporcionar una configuración, aplique el método AadWebApplicationHttpSecurityConfigurer#aadWebApplication para el HttpSecurity, como se muestra en el ejemplo siguiente:

@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();
   }
}

Acceso a servidores de recursos desde una aplicación web

Para usar Microsoft Entra Starter en este escenario, siga estos pasos:

Establezca el URI de redirección como se ha descrito anteriormente.

Agregue las siguientes dependencias al archivo 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>

Nota

Para obtener más información sobre cómo administrar las versiones de la biblioteca Spring Cloud Azure mediante un conjunto de materiales (BOM), consulte la sección Introducción de la guía para desarrolladores de Spring Cloud Azure.

Agregue las siguientes propiedades al archivo application.yml, como se ha 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

Nota

Los valores permitidos para tenant-id son: common, organizations, consumerso el identificador de inquilino. Para obtener más información sobre estos valores, consulte la sección Uso del punto de conexión incorrecto (cuentas personales y de organización) de Error AADSTS50020: la cuenta de usuario del proveedor de identidades no existe en el inquilino. Para obtener información sobre cómo convertir la aplicación de un solo inquilino, consulte Convertir aplicación de un solo inquilino en multiinquilino en Microsoft Entra ID.

Aquí, graph es el nombre del elemento OAuth2AuthorizedClient y scopes son los ámbitos necesarios para el consentimiento al iniciar sesión.

Agregue código a la aplicación similar al ejemplo siguiente:

@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);
}

Aquí, graph es el identificador de cliente configurado en el paso anterior. OAuth2AuthorizedClient contiene el token de acceso, que se usa para acceder al servidor de recursos.

Para ver un ejemplo completo de este caso, consulte spring-cloud-azure-starter-active-directory sample: aad-web-application.

Proteger un servidor de recursos o una API

Este escenario no admite el inicio de sesión, pero protege el servidor validando el token de acceso. Si el token de acceso es válido, el servidor atiende la solicitud.

Para usar Microsoft Entra Starter en este escenario, siga estos pasos:

Agregue las siguientes dependencias al archivo 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>

Nota

Para obtener más información sobre cómo administrar las versiones de la biblioteca de Spring Cloud Azure mediante una lista de materiales (BOM), consulte la sección Introducción de la guía para desarrolladores de Spring Cloud Azure.

Agregue las siguientes propiedades al archivo application.yml, como se ha descrito anteriormente:

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

Puede usar los valores <your-client-ID> y <your-app-ID-URI> para comprobar el token de acceso. Puede obtener el valor de <your-app-ID-URI> de Azure Portal, como se muestra en las imágenes siguientes:

Captura de pantalla de Azure Portal, donde se ve la página Exponer una API de la aplicación web con el URI de la ID de la aplicación resaltado.

Use la configuración de seguridad predeterminada o proporcione su propia configuración.

Opción 1: Use la configuración predeterminada.

Con esta opción, no es necesario hacer nada. La clase DefaultAadResourceServerConfiguration se configura automáticamente.

Opción 2: Proporcionar una configuración autodefinida.

Para proporcionar una configuración, aplique el método AadResourceServerHttpSecurityConfigurer#aadResourceServer para el HttpSecurity, como se muestra en el ejemplo siguiente:

@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 ver un ejemplo completo de este caso, consulte spring-cloud-azure-starter-active-directory sample: aad-resource-server.

Acceso a otros servidores de recursos desde un servidor de recursos

Este escenario admite un servidor de recursos que visita otros servidores de recursos.

Para usar Microsoft Entra Starter en este escenario, siga estos pasos:

Agregue las siguientes dependencias al archivo 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>

Nota

Para obtener más información sobre cómo administrar las versiones de la biblioteca de Spring Cloud Azure mediante una lista de materiales (BOM), consulte la sección Introducción de la guía para desarrolladores de Spring Cloud Azure.

Agregue las siguientes propiedades al archivo application.yml de tu aplicación:

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

Nota

Los valores permitidos para tenant-id son: common, organizations, consumerso el identificador de inquilino. Para obtener más información sobre estos valores, consulte la sección Uso del punto de conexión incorrecto (cuentas personales y de organización) de Error AADSTS50020: la cuenta de usuario del proveedor de identidades no existe en el inquilino. Para obtener información sobre cómo convertir la aplicación de un solo inquilino, consulte Convertir aplicación de un solo inquilino en multiinquilino en Microsoft Entra ID.

Use el atributo @RegisteredOAuth2AuthorizedClient en el código para acceder al servidor de recursos relacionado, como se muestra en el ejemplo siguiente:

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

Para ver un ejemplo completo de este caso, consulte spring-cloud-azure-starter-active-directory sample: aad-resource-obo.

Aplicación web y servidor de recursos en una aplicación

Este escenario admite acceso a una aplicación web y protección de un servidor de recursos o una API en una aplicación.

Para usar aad-starter en este escenario, siga estos pasos:

Agregue las siguientes dependencias al archivo 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>

Nota

Para obtener más información sobre cómo administrar las versiones de la biblioteca de Spring Cloud Azure mediante una lista de materiales (BOM), consulte la sección Introducción de la guía para desarrolladores de Spring Cloud Azure.

Actualice el archivo application.yml. Establezca la propiedad spring.cloud.azure.active-directory.application-type en web_application_and_resource_servery especifique el tipo de autorización para cada cliente de autorización, como se muestra en el ejemplo siguiente.

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

Nota

Los valores permitidos para tenant-id son: common, organizations, consumerso el identificador de inquilino. Para obtener más información sobre estos valores, consulte la sección Uso del punto de conexión incorrecto (cuentas personales y de organización) de Error AADSTS50020: la cuenta de usuario del proveedor de identidades no existe en el inquilino. Para obtener información sobre la conversión de la aplicación de un solo inquilino, consulte Conversión de una aplicación de inquilino único en varios inquilinos en Microsoft Entra ID.

Escriba código Java para configurar varias instancias de HttpSecurity.

En el código de ejemplo siguiente, AadWebApplicationAndResourceServerConfig contiene dos beans de cadena de filtros de seguridad, uno para un servidor de recursos y otro para una aplicación web. El bean apiFilterChain tiene una prioridad alta para configurar el compilador de seguridad del servidor de recursos. El htmlFilterChain bean tiene una prioridad baja para configurar el generador de seguridad de aplicaciones 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 aplicación

La propiedad spring.cloud.azure.active-directory.application-type es opcional porque las dependencias pueden deducir su valor. Debe establecer manualmente la propiedad solo cuando use el valor web_application_and_resource_server.

Tiene dependencia: spring-security-oauth2-client Tiene una dependencia: spring-security-oauth2-resource-server Valores válidos del tipo de aplicación Valor predeterminado
No web_application web_application
No resource_server resource_server
web_application,resource_server,
resource_server_with_obo, web_application_and_resource_server
resource_server_with_obo

Propiedades configurables

El Spring Boot Starter para Microsoft Entra ID proporciona las siguientes propiedades:

Propiedades Descripción
spring.cloud.azure.active-directory.app-id-uri Usado por el servidor de recursos para validar la audiencia en el token de acceso. El token de acceso solo es válido cuando la audiencia es igual a los valores de <your-client-ID> o <your-app-ID-URI> descritos anteriormente.
spring.cloud.azure.active-directory.authorization-clients Mapa que configura las API de recursos que va a visitar la aplicación. Cada elemento corresponde a una API de recursos que va a visitar la aplicación. En el código de Spring, cada elemento corresponde a un objeto OAuth2AuthorizedClient.
spring.cloud.azure.active-directory.authorization-clients.<your-client-name>.scopes Permisos de API de un servidor de recursos que la aplicación va a adquirir.
spring.cloud.azure.active-directory.authorization-clients.<your-client-name>.authorization-grant-type Tipo de cliente de autorización. Los tipos admitidos son authorization_code (tipo predeterminado para webapp), on_behalf_of (tipo predeterminado para resource-server), client_credentials.
spring.cloud.azure.active-directory.application-type Consulte Tipo de aplicación.
spring.cloud.azure.active-directory.profile.environment.active-directory-endpoint URI base para el servidor de autorización. El valor predeterminado es https://login.microsoftonline.com/.
spring.cloud.azure.active-directory.credential.client-id ID de aplicación registrado en Microsoft Entra ID.
spring.cloud.azure.active-directory.credential.client-secret Secreto de cliente de la aplicación registrada.
spring.cloud.azure.active-directory.user-group.use-transitive-members Use v1.0/me/transitiveMemberOf para obtener grupos si está activado el parámetro true. De lo contrario, use /v1.0/me/memberOf.
spring.cloud.azure.active-directory.post-logout-redirect-uri Identificador URI de redirección para publicar el cierre de sesión.
spring.cloud.azure.active-directory.profile.tenant-id Identificador de inquilino de Azure. Los valores permitidos para tenant-id son: common, organizations, consumerso el identificador de inquilino.
spring.cloud.azure.active-directory.user-group.allowed-group-names Grupos de usuarios esperados a los que se concederá una autoridad si se encuentran en la respuesta de la llamada a MemberOf de Graph API.
spring.cloud.azure.active-directory.user-name-attribute Indica qué notificación será el nombre de la entidad de seguridad.

En los ejemplos siguientes se muestra cómo usar estas propiedades:

Ejemplo de propiedad 1: Para usar Azure China 21Vianet en lugar de Azure Global, use el paso a continuación.

  • Añade las siguientes propiedades al archivo application.yml.

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

Con este método, puede usar una nube soberana o nacional de Azure en lugar de la nube pública de Azure.

Ejemplo de propiedad 2: Usar un nombre de grupo para proteger algún método en una aplicación web, siga estos pasos:

Agregue la siguiente propiedad al archivo application.yml:

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

Use la configuración de seguridad predeterminada o proporcione su propia configuración.

Opción 1: Use la configuración predeterminada. Con esta opción, no es necesario hacer nada. La clase DefaultAadWebSecurityConfiguration se configura automáticamente.

Opción 2: Proporcionar una configuración autodefinida. Para proporcionar una configuración, aplique el método AadWebApplicationHttpSecurityConfigurer#aadWebApplication para el HttpSecurity, como se muestra en el ejemplo siguiente:

@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 la anotación @PreAuthorize para proteger el método, como se muestra en el ejemplo siguiente:

@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";
   }
}

Ejemplo de propiedad 3: Para habilitar el flujo de credenciales de cliente en un servidor de recursos que visita los servidores de recursos, siga estos pasos:

Agregue la siguiente propiedad al archivo 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

Agregue código a la aplicación similar al ejemplo siguiente:

@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.");
}

Características avanzadas

Compatibilidad con el control de acceso por token de identificador en una aplicación web

El iniciador admite la creación de un elemento GrantedAuthority a partir de la notificación roles de un token de identificador para permitir el uso del token de identificador para la autorización en una aplicación web. Puede usar la característica appRoles de Microsoft Entra ID para crear una notificación de roles e implementar el control de acceso.

Nota

La reclamación roles generada a partir de appRoles está decorada con el prefijo APPROLE_.

Cuando use appRoles como una notificación roles, evite configurar un atributo de grupo como roles al mismo tiempo. De lo contrario, el atributo de grupo invalidará la notificación para que contenga información del grupo en lugar de appRoles. Deberías evitar la siguiente configuración en el manifiesto:

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

Para admitir el control de acceso por token de identificador en una aplicación web, siga estos pasos:

Agregue roles de aplicación en la aplicación y asígnelos a usuarios o grupos. Para más información, consulte Procedimiento: Incorporación de roles de aplicación a una aplicación y su recepción en el token.

Agregue la siguiente configuración appRoles al manifiesto de la aplicación:

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

Agregue código a la aplicación similar al ejemplo siguiente:

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

Solución de problemas

Habilitación del registro de cliente

Los SDK de Azure para Java ofrecen un enfoque coherente de registro para ayudar a diagnosticar y resolver errores de la aplicación. Los registros generados capturarán el flujo de una aplicación antes de llegar al terminal, lo que ayudará a localizar el problema raíz. Consulte la wiki de registro para obtener instrucciones sobre cómo habilitar el registro.

Habilitación del registro de Spring

Spring permite que todos los sistemas de registro admitidos configuren los niveles de registro en el entorno de Spring (por ejemplo, en application.properties) mediante logging.level.<logger-name>=<level>, donde <level> es uno de TRACE, DEBUG, INFO, WARN, ERROR, FATALo OFF. Puede configurar el registrador raíz mediante logging.level.root.

En el ejemplo siguiente se muestran las posibles configuraciones de registro en el archivo application.properties.

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

Para obtener más información sobre la configuración de registros en Spring, consulte Logging en la documentación de Spring.

Pasos siguientes

Para más información sobre Spring y Azure, continúe con el Centro de documentación de Spring en Azure.