Condividi tramite


Supporto di Spring Cloud Azure Redis

Questo articolo si applica a:✅ versione 4.19.0 ✅ versione 5.19.0

Questo articolo descrive come usare Spring Cloud Azure e Spring Data Redis insieme e fornire diversi tipi di credenziali per l'autenticazione in Cache Redis di Azure.

Cache Redis di Azure fornisce un archivio dati in memoria basato sul software Redis. Redis migliora notevolmente le prestazioni e la scalabilità di un'applicazione che usa archivi dati back-end.

Versioni di Redis supportate

Per le versioni supportate, vedere Versioni correnti.

Funzionalità principali

Connessione senza password

La connessione senza password usa l'autenticazione di Microsoft Entra per la connessione ai servizi di Azure senza archiviare credenziali nell'applicazione, nei relativi file di configurazione o nelle variabili di ambiente. L'autenticazione Di Microsoft Entra è un meccanismo per la connessione a Cache Redis di Azure usando le identità definite in Microsoft Entra ID. Con l'autenticazione Microsoft Entra, è possibile gestire le identità della cache e altri servizi Microsoft in una posizione centrale, semplificando la gestione delle autorizzazioni.

Come funziona

Spring Cloud Azure crea prima di tutto uno dei tipi di credenziali seguenti a seconda della configurazione di autenticazione dell'applicazione:

  • ClientSecretCredential
  • ClientCertificateCredential
  • UsernamePasswordCredential
  • ManagedIdentityCredential

Se nessuno di questi tipi di credenziali viene trovato, la catena di credenziali tramite DefaultTokenCredential viene usata per ottenere le credenziali dalle proprietà dell'applicazione, dalle variabili di ambiente, dall'identità gestita o dagli IDE. Per altre informazioni, vedere 'autenticazione di Azure Spring Cloud.

Configurazione

  • Spring Cloud Azure 5.x
  • Spring Cloud Azure 4.x

Proprietà configurabili quando si usa il supporto di Redis:

Proprietà Descrizione Valore predefinito Obbligatorio
spring.cloud.azure.redisabilitato Indica se è abilitato un'istanza di Cache Redis di Azure. vero No
spring.cloud.azure.redis.name Nome dell'istanza di Cache Redis di Azure.
spring.cloud.azure.redis.resource.resource-group Gruppo di risorse di Cache Redis di Azure.
spring.cloud.azure.profile.subscription-id ID sottoscrizione.
spring.data.redis.azureabilitato senza password Se abilitare senza password per Cache Redis di Azure. falso No

Utilizzo di base

Le sezioni seguenti illustrano gli scenari di utilizzo dell'applicazione Spring Boot classici.

Connettersi a Cache Redis di Azure con senza password

  • Spring Cloud Azure 5.x
  • Spring Cloud Azure 4.x
  1. Aggiungere la dipendenza seguente al progetto. Ciò include automaticamente la dipendenza spring-boot-starter nel progetto in modo transitivo.

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-starter-data-redis-lettuce</artifactId>
    </dependency>
    

    Nota

    Le connessioni senza password sono supportate dalla versione 5.19.0.

    Ricordarsi di aggiungere il bom spring-cloud-azure-dependencies insieme alla dipendenza precedente. Per altre informazioni, vedere la sezione introduzione della guida per sviluppatori di Azure Spring Cloud.

  2. Configurare le proprietà seguenti nel file application.yml:

    spring:
      data:
        redis:
          host: ${AZURE_CACHE_REDIS_HOST}
          username: ${AZURE_CACHE_REDIS_USERNAME}
          port: 6380
          ssl:
            enabled: true
          azure:
            passwordless-enabled: true
    

    Importante

    La connessione senza password usa l'autenticazione di Microsoft Entra. Per usare l'autenticazione di Microsoft Entra, è necessario abilitare l'autenticazione di Microsoft Entra e selezionare user(managed identity/service principal) per assegnare Data Owner Access Policy.

    Per altre informazioni e per ottenere il valore per username, vedere la sezione Enable Microsoft Entra ID authentication on your cache di Use Microsoft Entra ID for cache authentication.For more information and to get the value for username, see the Enable Microsoft Entra ID authentication on your cache of Use Microsoft Entra ID for cache authentication.

Connettersi a Cache Redis di Azure con identità gestita

  1. Per usare l'identità gestita, è necessario abilitare l'identità gestita per il servizio e abilitare l'autenticazione di Microsoft Entra nella cache.

  2. Aggiungere quindi le proprietà seguenti nel file application.yml:

    spring:
      cloud:
        azure:
          credential:
            managed-identity-enabled: true
    

    Importante

    Il redis.username deve passare all'ID dell'oggetto identity gestito (entità).

    Se si usa l'identità gestita assegnata dall'utente, è anche necessario aggiungere la proprietà spring.cloud.azure.credential.client-id con l'ID client dell'identità gestita assegnata dall'utente.

Connettersi a Cache Redis di Azure tramite Azure Resource Manager

Per connettersi a Cache Redis di Azure, seguire questa procedura:

  • Spring Cloud Azure 5.x
  • Spring Cloud Azure 4.x
  1. Aggiungere la dipendenza seguente al progetto. Ciò include automaticamente la dipendenza spring-boot-starter nel progetto in modo transitivo.

    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-starter-data-redis-lettuce</artifactId>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-resourcemanager</artifactId>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    

    Nota

    Ricordarsi di aggiungere il bom spring-cloud-azure-dependencies insieme alla dipendenza precedente. Per altre informazioni, vedere la sezione introduzione della guida per sviluppatori di Azure Spring Cloud.

  1. Configurare le proprietà seguenti nel file application.yml:

    spring:
      cloud:
        azure:
          profile:
            subscription-id: ${AZURE_SUBSCRIPTION_ID}
          redis:
            name: ${AZURE_CACHE_REDIS_NAME}
            resource:
              resource-group: ${AZURE_RESOURCE_GROUP}
    

Campioni

  • Spring Cloud Azure 5.x
  • Spring Cloud Azure 4.x

Vedere il repository azure-spring-boot-samples in GitHub.