Questa pagina fornisce istruzioni sulle attività comuni per IAM Funzionalità di autenticazione per Memorystore for Valkey. Per ulteriori dettagli sulla funzionalità, consulta la sezione Informazioni sull'autenticazione IAM.
Creare un'istanza con autenticazione IAM
Creare un'istanza Memorystore for Valkey che utilizza IAM
autenticazione, esegui il comando create
:
gcloud beta memorystore instances create INSTANCE_ID --region=REGION_ID --network=NETWORK --node-type=NODE_TYPE --shard-count=SHARD_COUNT --auth-mode=iam-auth
Sostituisci quanto segue:
INSTANCE_ID è l'ID dell'istanza Memorystore for Valkey che stai creando. L'ID istanza deve contenere da 1 a 63 caratteri e utilizzare solo lettere minuscole, numeri o trattini. Deve iniziare con una lettera minuscola e terminare con una lettera minuscola o un numero.
REGION_ID è la regione in cui vuoi posizionare l'istanza.
NETWORK è la rete utilizzata per creare l'istanza. Deve utilizzare il formato:
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID
. L'ID rete utilizzato qui deve corrispondere all'ID rete utilizzato dal criterio di connessione al servizio. In caso contrario, l'operazionecreate
non va a buon fine. Per ulteriori dettagli, vedi Networking:NODE_TYPE è il tipo di nodo scelto. I valori accettati sono:
shared-core-nano
standard-small
highmem-medium
highmem-xlarge
Per ulteriori dettagli sui tipi di nodi e sulle configurazioni delle istanze, consulta la specifica delle istanze e dei nodi.
SHARD_COUNT determina il numero di shard nell'istanza. Il numero di shard determina la capacità di memoria totale per l'archiviazione degli dati delle istanze. Per ulteriori dettagli sulla specifica dell'istanza, consulta Specifiche di istanze e nodi.
Concedi le autorizzazioni per l'autenticazione IAM
Per concedere un accesso IAM, assegna all'entità il ruolo roles/memorystore.dbConnectionUser
utilizzando le istruzioni per concedere un ruolo IAM.
Per impostazione predefinita, la concessione del ruolo roles/memorystore.dbConnectionUser
a un'entità consente all'entità di accedere a tutte le istanze del progetto.
Creare un ruolo amministrativo IAM limitato per un'istanza
Ti consigliamo di creare un ruolo che possa modificare le autorizzazioni IAM per la connessione dell'istanza senza concedere l'accesso amministrativo IAM completo. Per farlo, puoi creare un IAM limitato
per il ruolo roles/memorystore.dbConnectionUser
. Per maggiori dettagli, consulta Creare amministratori IAM con limitazioni.
Connettiti a un'istanza che utilizza l'autenticazione IAM
Se non hai ancora una VM di Compute Engine che utilizza lo stesso rete autorizzata come istanza Valkey, creane una e connettiti seguendo la Guida rapida all'utilizzo di una VM Linux.
Per connetterti all'istanza, devi abilitare i seguenti ambiti di accesso e API per il tuo progetto:
Ambito API Cloud Platform. Per istruzioni sull'abilitazione di questo ambito, vedi Collegare l'account di servizio e aggiornare l'ambito di accesso. Per una descrizione delle best practice per questo ambito di accesso, consulta la Best practice per gli ambiti.
API Memorystore for Valkey Per un link per abilitare l'API, fai clic sul pulsante seguente:
Memorystore per Valkey
Installa
valkey-cli
sulla VM Compute Engine seguendo le istruzioni riportate in Installare Valkey.Esegui questo comando per ottenere un token di accesso per il tuo IAM utente:
gcloud auth print-access-token
Connettiti all'endpoint di rilevamento della tua istanza:
valkey-cli -h NETWORK_ADDRESS -p PORT -a ACCESS_TOKEN -c
Sostituisci quanto segue:
NETWORK_ADDRESS è l'indirizzo di rete dell'istanza. Per visualizzare indirizzo di rete, vedi Visualizzare le informazioni sull'istanza.
PORT è il numero di porta dell'istanza. Per visualizzare il numero di porta, consulta Visualizzare le informazioni sull'istanza.
ACCESS_TOKEN è il token di accesso IAM recuperato nei passaggi precedenti.
Esegui il comando
CLUSTER SHARDS
per visualizzare la topologia dei nodi. Prendi nota di uno degli indirizzi IP e dei numeri di porta del nodo.Connettiti al nodo scelto eseguendo il seguente comando:
valkey-cli -h NODE_IP_ADDRESS -p NODE_PORT -a ACCESS_TOKEN -c
Sostituisci quanto segue:
- NODE_IP_ADDRESS è l'indirizzo IP del nodo che hai trovato nel passaggio precedente.
- NODE_PORT è il numero di porta del nodo che hai trovato nel passaggio precedente.
Esegui un comando Valkey
SET
eGET
per verificare di aver stabilito un'istanza connessione autenticata con il nodo della tua istanza.Al termine del test della connessione all'istanza Valkey, ti consigliamo di eliminare la VM Compute Engine utilizzata per connetterti all'istanza Valkey. In questo modo puoi evitare di incorrere gli addebiti sul tuo account di fatturazione Cloud.
Esegui questo comando per utilizzare valkey-cli per l'autenticazione e la connessione a l'istanza, sostituendo le variabili con i valori appropriati:
valkey-cli -h NETWORK_ADDRESS -p PORT -a ACCESS_TOKEN -c
Sostituisci quanto segue:
NETWORK_ADDRESS è l'indirizzo di rete dell'istanza. Per visualizzare indirizzo di rete, vedi Visualizzare le informazioni sull'istanza.
PORT è il numero di porta delle istanze. Per visualizzare il numero di porta, vedi Visualizza le informazioni sull'istanza.
ACCESS_TOKEN è il token di accesso IAM recuperato nei passaggi precedenti.
Esegui un comando Valkey
SET
eGET
per verificare di aver stabilito una connessione autenticata con la tua istanza.Al termine del test della connessione all'istanza Valkey, ti consigliamo di eliminare la VM Compute Engine utilizzata per connetterti all'istanza Valkey. In questo modo, eviterai di incorrere in addebiti sul tuo account di fatturazione Cloud.
Automatizza il recupero dei token di accesso
Ti consigliamo di automatizzare il recupero del token di accesso nell'applicazione, poiché i token di accesso non possono essere facilmente hardcoded a causa della loro breve durata.
(Facoltativo) Se non l'hai ancora fatto, crea un account di servizio per la tua applicazione (vedi Creare e gestire un account di servizio).
gcloud iam service-accounts create SA_NAME \ --description="DESCRIPTION" \ --display-name="DISPLAY_NAME"
Sostituisci quanto segue:
- SA_NAME è il nome dell'account di servizio.
- DESCRIPTION è una descrizione facoltativa dell'account di servizio.
- DISPLAY_NAME è il nome di un account di servizio da visualizzare nella console Google Cloud.
Concedi al tuo account di servizio l'autorizzazione
memorystore.dbConnectionUser
su progetto.gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SA_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="memorystore.dbConnectionUser"
Sostituisci quanto segue:
- PROJECT_ID è l'ID progetto.
- SA_NAME è il nome dell'account di servizio.
- ROLE_NAME è un nome di ruolo, ad esempio
roles/compute.osLogin
.
Autentica l'applicazione come account di servizio specificato. Visualizza gli account di servizio per ulteriori informazioni.
Per gli esempi di codice che mostrano come autenticare l'applicazione utilizzando librerie client più utilizzate, consulta gli esempi di codice delle librerie client di autenticazione IAM.
Esempio di codice per la connessione a un'istanza che utilizza l'autenticazione IAM
Per visualizzare un esempio di codice compatibile con Valkey su come configurare una libreria client per connettersi a un'istanza che utilizza l'autenticazione IAM, consulta Esempio di codice della libreria client di autenticazione IAM.