Memorystore fornisce la funzionalità di autenticazione IAM (Identity and Access Management) che sfrutta IAM per aiutarti a gestire meglio l'accesso con le credenziali per utenti e account di servizio. L'autenticazione basata su IAM si integra con l'autenticazione di Valkey, consentendoti di ruotare senza problemi le credenziali (token IAM) senza dover utilizzare password statiche.
Per istruzioni sulla configurazione dell'autenticazione IAM per l'istanza Memorystore, consulta Gestire l'autenticazione IAM.
Autenticazione IAM per Valkey
Quando utilizzi l'autenticazione IAM, l'autorizzazione per accedere a un'istanza Memorystore non viene concessa direttamente all'utente finale. Le autorizzazioni sono invece raggruppate in ruoli, che vengono concessi alle entità. Per saperne di più, consulta la panoramica di IAM.
Gli amministratori che eseguono l'autenticazione con IAM possono utilizzare l'autenticazione IAM di Memorystore per gestire centralmente il controllo dell'accesso alle proprie istanze utilizzando i criteri IAM. I criteri IAM coinvolgono le seguenti entità:
Entità. In Memorystore, puoi utilizzare due tipi di entità: un account utente e un account di servizio (per le applicazioni). Altri tipi di entità, 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 Concetti relativi all'identità.
Ruoli. Per l'autenticazione IAM di Memorystore, un utente richiede l'autorizzazione memorystore.instances.connect per eseguire l'autenticazione con un'istanza. Per ottenere questa autorizzazione, puoi associare l'utente o il account di servizio al ruolo predefinito Utente connessione database Memorystore (roles/memorystore.dbConnectionUser). Per saperne di più sui ruoli IAM, consulta Ruoli.
Risorse. Le risorse a cui le entità accedono sono le istanze Memorystore. Per impostazione predefinita, le associazioni di criteri IAM vengono applicate a livello di progetto, in modo che le entità ricevano le autorizzazioni dei ruoli per tutte le istanze Memorystore del progetto. Tuttavia, le associazioni di criteri IAM possono essere limitate a un'istanza specifica. Per le istruzioni, consulta Gestire le autorizzazioni per l'autenticazione IAM.
Comando AUTH di Valkey
La funzionalità di autenticazione IAM utilizza il comando AUTH di Valkey per integrarsi con IAM, consentendo ai client di fornire un token di accesso IAM che verrà verificato dall' istanza Valkey 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ò essere il comando AUTH, consulta Connettersi a un'istanza che utilizza l'autenticazione IAM.
Periodo di validità del token di accesso IAM
Per impostazione predefinita, il token di accesso IAM che recuperi nell'ambito dell' autenticazione scade un'ora dopo il recupero. In alternativa, quando generi il token di accesso, puoi estendere il tempo di scadenza del token fino a 12 ore.
Quando stabilisci una nuova connessione Valkey, devi presentare un valido token di accesso
utilizzando il comando AUTH. Se il token scade, devi ottenerne uno nuovo
token 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
Per terminare una connessione, utilizza il comando CLIENT KILL di Valkey. Innanzitutto, esegui CLIENT LIST per
identificare la connessione, quindi esegui CLIENT KILL per terminarla.
Abilitare l'autenticazione IAM
L'abilitazione dell'autenticazione IAM non peggiora le prestazioni in stato stazionario. Tuttavia, influisce sulla velocità con cui puoi stabilire una connessione.
L'abilitazione 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 riavviate o sottoposte a deployment, potrebbe verificarsi un picco di nuove connessioni. Se aggiorni i client gradualmente e implementi il backoff esponenziale, puoi assorbire questa velocità ridotta.
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 la tua istanza Valkey sia accessibile solo dalle entità IAM autorizzate. La crittografia TLS non viene fornita a meno che non sia abilitata la crittografia in transito. Per questo motivo, ti consigliamo di attivare la crittografia in transito quando utilizzi l'autenticazione IAM.
Connettersi con una VM Compute Engine
Se utilizzi una VM Compute Engine per connetterti a un'istanza che utilizza l'autenticazione IAM, devi abilitare i seguenti ambiti di accesso e API per il tuo progetto:
Ambito API Cloud Platform. Per istruzioni su come abilitare questo ambito, consulta Collegare il account di servizio e aggiornare l'ambito di accesso. Per una descrizione delle best practice per questo ambito di accesso, consulta Best practice per gli ambiti.
API Memorystore for Valkey. Per un link per abilitare l'API, fai clic sul pulsante seguente:
Memorystore for Valkey