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 Valkey AUTH, consentendoti di ruotare senza problemi le credenziali (token IAM) senza fare affidamento su password statiche.
Per istruzioni sulla configurazione dell'autenticazione IAM per l'istanza Memorystore, vedi 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 vengono invece raggruppate in ruoli e i ruoli 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 gruppi Google, domini Google Workspace o domini Cloud Identity, non sono ancora supportati per l'autenticazione IAM. Per saperne di più, vedi Concetti relativi all'identità.
Ruoli. Per l'autenticazione IAM di Memorystore, un utente richiede l'autorizzazione memorystore.instances.connect per 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 la sezione Ruoli.
Risorse. Le risorse a cui accedono le entità sono istanze 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 una particolare istanza. Per le istruzioni, vedi 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ò apparire il comando AUTH, consulta Connettersi a un'istanza che utilizza l'autenticazione IAM.
Intervallo di tempo del token di accesso IAM
Il token di accesso IAM recuperato nell'ambito dell'autenticazione scade per impostazione predefinita 1 ora dopo il recupero. In alternativa, puoi definire la data di scadenza del token di accesso durante la generazione del token di accesso. Quando viene stabilita una nuova connessione Valkey, è necessario presentare un token valido tramite il comando AUTH. Se il token è scaduto, dovrai ottenere un nuovo token di accesso per stabilire nuove connessioni.
Terminare una connessione autenticata
Per terminare una connessione, utilizza il comando Valkey CLIENT KILL
. Innanzitutto, esegui CLIENT LIST
per
identificare la connessione, poi esegui CLIENT KILL
per terminarla.
Abilita 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 riavviate o implementate, potrebbe verificarsi un aumento delle nuove connessioni. Se aggiorni i client gradualmente e implementi il backoff esponenziale, 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 la tua istanza Valkey 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.
Connessione con una VM di 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 attivare questo ambito, vedi Allegare 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 seguente pulsante:
Memorystore for Valkey