Informazioni sull'autenticazione IAM

Memorystore fornisce la funzionalità di autenticazione Identity and Access Management (IAM) che sfrutta IAM per aiutarti a gestire meglio l'accesso di login per utenti e service account. L'autenticazione basata su IAM si integra con Redis AUTH, consentendoti di ruotare senza problemi le credenziali (token IAM) senza fare affidamento su password statiche.

Per istruzioni sulla configurazione dell'autenticazione IAM per il cluster Memorystore, vedi Gestire l'autenticazione IAM.

Autenticazione IAM per Redis

Quando utilizzi l'autenticazione IAM, l'autorizzazione per accedere a un cluster Memorystore non viene concessa direttamente all'utente finale. Le autorizzazioni sono invece raggruppate in ruoli, che vengono concessi alle entità. Per ulteriori informazioni, consulta la panoramica di IAM.

Gli amministratori che eseguono l'autenticazione con IAM possono utilizzare l'autenticazione IAM di Memorystore per gestire centralmente icontrollo dell'accessoso alle loro istanze utilizzando i criteri IAM. I criteri IAM coinvolgono le seguenti entità:

  • Dirigenti. In Memorystore, puoi utilizzare due tipi di entità: un account utente e un account di servizio (per le applicazioni). Altri tipi di principal, come i gruppi Google, i domini Google Workspace o i domini Cloud Identity, non sono ancora supportati per l'autenticazione IAM. Per saperne di più, consulta la sezione Concetti relativi all'identità.

  • Ruoli. Per l'autenticazione IAM di Memorystore, un utente richiede l'autorizzazione redis.clusters.connect per l'autenticazione con un cluster. Per ottenere questa autorizzazione, puoi associare l'utente o il account di servizio al ruolo predefinito Utente connessione database Redis Cluster (roles/redis.dbConnectionUser). Per ulteriori informazioni sui ruoli IAM, consulta Ruoli.

  • Risorse. Le risorse a cui accedono le entità sono i cluster Memorystore. Per impostazione predefinita, le associazioni dei criteri IAM vengono applicate a livello di progetto, in modo che le entità ricevano le autorizzazioni di ruolo per tutte le istanze Memorystore nel progetto. Tuttavia, i binding dei criteri IAM possono essere limitati a un cluster specifico. Per le istruzioni, vedi Gestire le autorizzazioni per l'autenticazione IAM.

Comando Redis AUTH

La funzionalità di autenticazione IAM utilizza il comando Redis AUTH per integrarsi con IAM, consentendo ai client di fornire un token di accesso IAM che verrà verificato dal cluster Memorystore prima di consentire l'accesso ai dati.

Come ogni comando, il comando AUTH viene inviato senza crittografia, a meno che non sia abilitata la crittografia in transito.

Per un esempio di come può apparire il comando AUTH, consulta Connessione a un cluster Redis che utilizza l'autenticazione IAM.

Intervallo di tempo del token di accesso IAM

Per impostazione predefinita, il token di accesso IAM recuperato nell'ambito dell'autenticazione scade un'ora dopo il recupero. In alternativa, quando generi il token di accesso, puoi definire la data di scadenza del token di accesso.

Quando stabilisci una nuova connessione Redis, devi presentare un token di accesso valido utilizzando il comando AUTH. Se il token scade, devi ottenerne uno nuovo per stabilire nuove connessioni. Tuttavia, se hai già autenticato una connessione esistente, questa continua a funzionare anche se il token scade.

Terminare una connessione autenticata

Se vuoi terminare la connessione, utilizza il comando Redis CLIENT KILL. Per trovare la connessione che vuoi terminare, esegui prima CLIENT LIST, che restituisce le connessioni client in ordine di età. A questo punto, puoi eseguire CLIENT KILL per terminare la connessione.

Attiva l'autenticazione IAM

L'attivazione dell'autenticazione IAM non peggiora le prestazioni in stato stazionario. Tuttavia, influisce sulla velocità con cui puoi stabilire una connessione.

L'attivazione dell'autenticazione IAM limita la velocità delle connessioni client stabilite ogni secondo. Questo perché l'autenticazione IAM di Google Cloud deve autenticare ogni nuova connessione. In stato stazionario, un'applicazione abilita i pool di connessioni, quindi questo impatto è trascurabile. Tuttavia, quando le applicazioni client vengono aggiornate tramite deployment o l'elaborazione dei bounce, potrebbe verificarsi un afflusso di connessioni ristabilite. Se aggiorni i client gradualmente e implementi i backoff esponenziali, puoi assorbire questa riduzione della frequenza.

Per visualizzare un esempio di codice su come utilizzare l'autenticazione IAM, consulta Esempio di codice per l'autenticazione IAM e la crittografia in transito.

Sicurezza e privacy

L'autenticazione IAM ti aiuta a garantire che il tuo cluster Redis sia accessibile solo alle entità IAM autorizzate. La crittografia TLS non viene fornita a meno che non sia attivata la crittografia in transito. Per questo motivo, è consigliabile attivare la crittografia in transito quando si utilizza l'autenticazione IAM.

Connettiti con una VM di Compute Engine

Se utilizzi una VM Compute Engine per connetterti a un'istanza che utilizza l'autenticazione IAM, devi abilitare le seguenti API e ambiti di accesso per il tuo progetto: