Usare Microsoft Entra per l'autenticazione della cache

Cache di Azure per Redis offre due metodi per l'autenticazione all'istanza della cache: chiavi di accesso e Microsoft Entra.

Anche se l'autenticazione tramite chiave di accesso è semplice, 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.

Cache di Azure per Redis offre un meccanismo di autenticazione senza password grazie all'integrazione con Microsoft Entra. Questa integrazione include anche funzionalità di controllo degli accessi in base al ruolo fornite tramite elenchi di controllo di accesso (ACL) supportate in Redis open source.

Per usare l'integrazione degli elenchi di controllo di accesso, l'applicazione client deve presupporre l'identità di un'entità Microsoft Entra, ad esempio un'entità servizio o un'identità gestita, e connettersi alla cache. Questo articolo illustra come usare l'entità servizio o l'identità gestita per connettersi alla cache. Si apprende anche come concedere le autorizzazioni predefinite di connessione in base all'artefatto di Microsoft Entra usato per la connessione.

Ambito della disponibilità

Livello Basic, Standard, Premium Enterprise, Enterprise Flash
Disponibilità No

Prerequisiti e limitazioni

  • L'autenticazione di Microsoft Entra è supportata per le connessioni SSL e TLS 1.2 o versioni successive.
  • L'autenticazione di Microsoft Entra non è supportata nelle istanze della cache di Azure per Redis che dipendono da Servizi cloud di Azure.
  • L'autenticazione di Microsoft Entra non è supportata nei livelli Enterprise della cache di Azure per Redis Enterprise.
  • Alcuni comandi Redis sono bloccati. Per un elenco completo dei comandi bloccati, vedere Comandi Redis non supportati nella cache di Azure per Redis.

Importante

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.

Abilitare l'autenticazione di Microsoft Entra nella cache

  1. Nel portale di Azure selezionare l'istanza della cache di Azure per Redis in cui si vuole configurare l'autenticazione basata su token di Microsoft Entra.

  2. Nel menu Risorsa, selezionare Autenticazione.

  3. Nel riquadro di lavoro selezionare la scheda Autenticazione di Microsoft Entra.

  4. Selezionare Abilita autenticazione di Microsoft Entra e immettere il nome di un utente valido. All'utente immesso viene assegnato automaticamente il criterio di accesso Proprietario dei dati per impostazione predefinita quando si seleziona Salva. È anche possibile immettere un'identità gestita o un'entità servizio per connettersi all'istanza della cache.

    Screenshot che mostra l'opzione di autenticazione selezionata nel menu della risorsa e la casella di controllo Abilita l'autenticazione di Microsoft Entra.

  5. Una finestra di dialogo popup chiede se si vuole aggiornare la configurazione e informa che sono necessari alcuni minuti. Selezionare .

    Importante

    Al termine dell'operazione di abilitazione, i nodi nell'istanza della cache vengono riavviati per caricare la nuova configurazione. È consigliabile eseguire questa operazione durante la finestra di manutenzione o al di fuori dell'orario di ufficio di punta. L'operazione può richiedere fino a 30 minuti.

Per informazioni su come usare Microsoft Entra con l'interfaccia della riga di comando di Azure, vedere le pagine di riferimento per l'identità.

Disabilitare l'autenticazione tramite chiave di accesso nella cache

L'uso di Microsoft Entra ID è il modo sicuro per connettere la cache. È consigliabile usare Microsoft Entra e disabilitare le chiavi di accesso.

Quando si disabilita l'autenticazione tramite chiave di accesso per una cache, tutte le connessioni client esistenti vengono terminate, indipendentemente dal fatto che usino l'autenticazione basata su chiavi di accesso o Microsoft Entra. Seguire le procedure consigliate per il client Redis per implementare meccanismi di ripetizione dei tentativi appropriati per riconnettere le connessioni basate su Microsoft Entra, se presenti.

Prima di disabilitare le chiavi di accesso:

  • Assicurarsi che l'autenticazione di Microsoft Entra sia abilitata e che sia configurato almeno un utente Redis.

  • Assicurarsi che tutte le applicazioni che si connettono all'istanza della cache passino all'uso dell'autenticazione di Microsoft Entra.

  • Assicurarsi che le metriche Client connessi e Client connessi che usano il token Microsoft Entra abbiano gli stessi valori. Se i valori per queste due metriche non sono uguali, significa che esistono ancora alcune connessioni create usando chiavi di accesso e non Entra Token.

  • Valutare la possibilità di disabilitare l'accesso durante la finestra di manutenzione pianificata per l'istanza della cache.

  • La disabilitazione delle chiavi di accesso è disponibile solo per le cache di livello Basic, Standard e Premium.

  • Per le cache con replica geografica, è necessario:

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

Se si dispone di una cache in cui vengono usate le chiavi di accesso e si desidera disabilitarle, seguire questa procedura:

  1. Nel portale di Azure selezionare l'istanza della cache di Azure per Redis 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 Disabilita autenticazione con chiavi di accesso. Selezionare quindi Salva.

    Screenshot che mostra le chiavi di accesso nel riquadro di lavoro con la casella di controllo Disabilita autenticazione con chiavi di accesso.

  5. Confermare di voler aggiornare la configurazione selezionando .

Importante

Quando l'impostazione Disabilita autenticazione con chiavi di accesso viene modificata per una cache, tutte le connessioni client esistenti che usano 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.

Uso della configurazione dell'accesso ai dati con la cache

Se si vuole usare un criterio di accesso personalizzato anziché il ruolo Proprietario dei dati Redis, passare a Configurazione accesso ai dati dal menu Risorsa. Per altre informazioni, vedere Configurare un criterio di accesso ai dati personalizzato per l'applicazione.

  1. Nel portale di Azure selezionare l'istanza della cache di Azure per Redis in cui si vuole aggiungere la configurazione di accesso ai dati.

  2. Dal menu Risorsa selezionare Configurazione accesso ai dati.

  3. Selezionare Aggiungi e quindi Nuovo utente Redis.

  4. Nella scheda Criteri di accesso selezionare uno dei criteri disponibili nella tabella: Proprietario dei dati, Collaboratore ai dati o Lettore dati. Selezionare quindi Avanti: Utenti Redis.

    Screenshot che mostra i criteri di accesso disponibili.

  5. Scegliere Utente o entità servizio o Identità gestita per determinare come assegnare l'accesso all'istanza della cache di Azure per Redis. Se si seleziona Utente o entità servizio e si vuole aggiungere un utente, è prima di tutto necessario abilitare l'autenticazione di Microsoft Entra.

  6. Quindi, scegliere Seleziona membri e Seleziona. Infine, scegliere Avanti: Rivedi e assegna.

    Screenshot che mostra i membri da aggiungere come nuovi utenti Redis.

  7. Una finestra di dialogo popup notifica che l'aggiornamento è permanente e potrebbe causare una breve interruzione di connessione. Selezionare .

    Importante

    Al termine dell'operazione di abilitazione, i nodi nell'istanza della cache vengono riavviati per caricare la nuova configurazione. È consigliabile eseguire questa operazione durante la finestra di manutenzione o al di fuori dell'orario di ufficio di punta. L'operazione può richiedere fino a 30 minuti.

Configurare il client Redis per l'uso di Microsoft Entra

Poiché la maggior parte dei client della cache di Azure per Redis presuppone che vengano usate una password e una chiave di accesso per l'autenticazione, è probabile che sia necessario aggiornare il flusso di lavoro client per supportare l'autenticazione con Microsoft Entra. In questa sezione viene illustrato come configurare le applicazioni client per connettersi alla cache di Azure per Redis usando un token di Microsoft Entra.

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 esegua automaticamente un comando AUTH di Redis prima della scadenza del token di Microsoft Entra usando:

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

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 una cache di Azure per Redis. 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 codice di esempio illustra come usare il pacchetto NuGet Microsoft.Azure.StackExchangeRedis per connettersi all'istanza della cache di Azure per Redis usando Microsoft Entra.

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

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

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 ritardo casuale in modo che i AUTH comandi vengano sfalsati. In questo modo, il server Redis non riceve troppi comandi AUTH contemporaneamente.