Condividi tramite


Usare Microsoft Entra ID per l'autenticazione della cache con Azure Managed Redis

Redis gestito di Azure offre un meccanismo di autenticazione senza password grazie all'integrazione con Microsoft Entra ID. Per impostazione predefinita, le cache Redis gestite di Azure usano l'ID Microsoft Entra. Quando si crea una nuova cache, l'identità gestita è abilitata.

Anche se l'autenticazione con chiave di accesso è ancora disponibile, presenta una serie di problemi relativi alla sicurezza e alla gestione delle password. In questo articolo si apprenderà invece come usare un token di Microsoft Entra per l'autenticazione della cache.

Questo articolo illustra come usare l'entità servizio o l'identità gestita per connettersi all'istanza di Redis.

Prerequisiti e limitazioni

Important

Dopo aver stabilito una connessione usando un token Microsoft Entra, le applicazioni client devono aggiornare periodicamente il token Microsoft Entra prima della scadenza. Le app devono quindi inviare un comando AUTH al server Redis per evitare di interrompere le connessioni. Per altre informazioni, vedere Configurare il client Redis per l'uso di Microsoft Entra.

Configurare il client Redis per l'uso di Microsoft Entra

Se in passato sono state usate le chiavi di accesso per l'autenticazione, è necessario aggiornare il flusso di lavoro client per supportare l'autenticazione tramite Microsoft Entra ID. In questa sezione viene illustrato come connettersi a Redis gestito di Azure usando un ID Microsoft Entra.

Aggiungere utenti o entità di sistema alla cache

  1. Connettersi alla cache nel portale di Azure.

  2. Scegliere Autenticazione dal menu Risorsa.

  3. Nella scheda Autenticazione di Microsoft Entra selezionare Utente o entità servizio e quindi + Seleziona membro.

  4. Digitare il nome dell'utente che si desidera eseguire il programma. Selezionare l'utente da aggiungere nell'elenco e Selezionare. L'utente viene aggiunto all'elenco di utenti di Redis.

    Screenshot della scheda di autenticazione in una cache Redis nel portale di Azure.

Flusso di lavoro del client Microsoft Entra

  1. Configurare l'applicazione client per acquisire un token di Microsoft Entra per l'ambito, https://redis.azure.com/.default o acca5fbb-b7e4-4009-81f1-37e38fd66d78/.default, usando Microsoft Authentication Library (MSAL).

  2. Aggiornare la logica di connessione Redis per usare User e Password seguenti:

    • User: ID oggetto dell'identità gestita o dell'entità servizio
    • Password: token di Microsoft Entra acquisito tramite MSAL
  3. Assicurarsi che il client esegue automaticamente un comando Redis AUTH prima della scadenza del token Microsoft Entra usando:

    • User: ID oggetto dell'identità gestita o dell'entità servizio
    • Password: token di Microsoft Entra aggiornato periodicamente

Procedure consigliate per l'autenticazione di Microsoft Entra

  • Configurare collegamenti privati o regole del firewall per proteggere la cache da un attacco Denial of Service.
  • Assicurarsi che l'applicazione client invii un nuovo token di Microsoft Entra almeno tre minuti prima della scadenza del token per evitare interruzioni della connessione.
  • Quando si chiama periodicamente il comando AUTH del server Redis, è consigliabile aggiungere un jitter in modo che i comandi AUTHvengano sfalsati. In questo modo, il server Redis non riceve troppi comandi AUTH contemporaneamente.

Risoluzione dei problemi relativi all'ID e alla cache di Microsoft Entra

Se l'applicazione non riesce ad accedere all'istanza di Redis gestita di Azure tramite Microsoft Entra ID, usare questo script di PowerShell:

EntraTokenValidation

Usare questo script di PowerShell per convalidare i token ID di Microsoft Entra per le risorse di Cache Redis gestite di Azure. Lo script convalida i token e verifica i criteri di accesso per diagnosticare i problemi di autenticazione.

Se si verificano problemi durante l'uso dell'ID Entra di Microsoft per autenticare le connessioni Redis, eseguire questo script per analizzare il token di Microsoft Entra e identificare eventuali problemi.

Supporto della libreria client

La libreria Microsoft.Azure.StackExchangeRedis è un'estensione di StackExchange.Redis che consente di usare Microsoft Entra per autenticare le connessioni da un'applicazione client Redis a Redis Gestito di Azure. L'estensione gestisce il token di autenticazione, incluso l'aggiornamento proattivo dei token prima della scadenza per mantenere le connessioni Redis persistenti per più giorni.

Questo esempio di codice illustra come usare il pacchetto NuGet Microsoft.Azure.StackExchangeRedis per connettersi all'istanza di Redis Gestito di Azure usando Microsoft Entra.

La tabella seguente include collegamenti a codici di esempio. Illustrano come connettersi all'istanza di Redis Gestito di Azure usando un token Microsoft Entra. Diverse librerie client sono incluse in più linguaggi.

Libreria client Language Collegarsi al codice di esempio
StackExchange.Redis .NET Esempio di codice StackExchange.Redis
redis-py Python Codice di esempio redis-py
Jedis Java Esempio di codice Jedis
Lettuce Java Esempio di codice Lettuce
node-redis Node.js Esempio di codice node-redis
go-redis Go Esempio di codice go

Disabilitare l'autenticazione tramite chiave di accesso nella cache

Se si dispone di una cache con chiavi di accesso, è consigliabile passare all'ID Microsoft Entra come modo sicuro per connettere la cache e disabilitare le chiavi di accesso.

Quando si disabilitano le chiavi di accesso, il sistema termina tutte le connessioni client esistenti, indipendentemente dal fatto che usino chiavi di accesso o l'autenticazione di Microsoft Entra ID.

Prima di disabilitare le chiavi di accesso nelle cache con replica geografica, è necessario:

  1. Scollegare le cache.
  2. Disabilitare le chiavi di accesso.
  3. Ricollegare le cache.

Per disabilitare le chiavi di accesso, seguire questa procedura:

  1. Nel portale di Azure selezionare l'istanza di Redis Gestito di Azure in cui si vogliono disabilitare le chiavi di accesso.

  2. Nel menu Risorsa, selezionare Autenticazione.

  3. Nel riquadro di lavoro selezionare Chiavi di accesso.

  4. Selezionare il controllo di autenticazione delle chiavi di accesso per disabilitare le chiavi di accesso.

  5. Confermare di voler aggiornare la configurazione selezionando .

    Important

    Quando l'impostazione Autenticazione chiavi di accesso viene modificata per una cache, tutte le connessioni client esistenti, tramite chiavi di accesso o Microsoft Entra, vengono terminate. Seguire le procedure consigliate per implementare meccanismi di ripetizione dei tentativi appropriati per la riconnessione delle connessioni basate su Microsoft Entra. Per altre informazioni, vedere Resilienza delle connessioni.