Proteggere l'accesso alle istanze utilizzando le policy ACL

Utilizzando le policy per gli elenchi di controllo dell'accesso (ACL) in Memorystore for Valkey, puoi proteggere l'accesso alle tue istanze. Puoi attivare la sicurezza granulare limitando l'accesso di utenti e servizi a chiavi, comandi e canali Pub/Sub specifici.

Di seguito sono riportati alcuni casi d'uso di esempio per l'utilizzo delle policy ACL per proteggere l'accesso alle istanze:

  • Fornisci controllo dell'accesso basato sui ruoli (RBAC): crea profili utente distinti per i diversi componenti delle tue applicazioni. Ad esempio, un frontend web può avere accesso in sola lettura, mentre un servizio di worker in background ha accesso in lettura/scrittura. In questo modo, si evitano fughe di dati o manomissioni accidentali.
  • Impedisci comandi distruttivi: limita i comandi pericolosi come FLUSHALL, FLUSHDB o CONFIG solo agli amministratori di livello superiore. In questo modo, l'integrità dei dati è protetta da bug software o errori manuali.
  • Fornisci sicurezza per applicazioni multi-tenant: utilizza utenti ACL separati per microservizi o partner esterni diversi. In questo modo, gli utenti di un servizio non possono leggere o modificare le chiavi di proprietà di un altro servizio.

    Memorystore for Valkey non offre il multitenancy a livello di risorsa. Anche se gli spazi delle chiavi sono divisi, un servizio potrebbe consumare una quantità sproporzionata di memoria o CPU.

  • Esegui analisi e monitoraggio di sola lettura: assegna un utente dedicato che possa utilizzare solo GET o altri comandi di sola lettura (ad esempio, SCAN o TYPE) ai motori di analisi o alle applicazioni dashboard. In questo modo si evitano scritture accidentali o eliminazioni di dati.

  • Chiavi di database sicure: limita le applicazioni a interagire solo con le chiavi che corrispondono a pattern specifici (ad esempio, app1:*). In questo modo si ottiene la separazione logica dei dati all'interno di un'istanza.

  • Disattiva gli script Lua: utilizza le policy ACL per gestire le funzionalità di scripting Lua per le tue istanze. La disattivazione o la limitazione degli script Lua può essere utile per ottimizzare le prestazioni, semplificare la funzionalità delle istanze o rispettare le linee guida per la sicurezza della tua organizzazione.

Prima di iniziare

Prima di iniziare a utilizzare i criteri ACL, completa le istruzioni riportate in questa sezione.

Utilizza la console Google Cloud , Google Cloud CLI e le API

Per utilizzare la console Google Cloud , Google Cloud CLI e le API:

  1. Nella console Google Cloud , nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud .

    Nota:se non prevedi di conservare le risorse che crei in questa procedura, crea un progetto invece di selezionarne uno già esistente. Una volta completata questa procedura, puoi eliminare il progetto e tutte le relative risorse.


    Vai al selettore di progetti
  2. Verifica che la fatturazione sia attivata per il tuo progetto. Scopri come verificare se la fatturazione è abilitata per un progetto.
  3. Installa e inizializza Google Cloud CLI.

    Nota:se hai già installato gcloud CLI, assicurati di avere l'ultima versione eseguendo gcloud components update. Per accedere ai comandi gcloud CLI di Memorystore for Valkey, devi disporre almeno della versione 489.0.0 di gcloud CLI.

  4. Abilita l'API Memorystore for Valkey.
    Memorystore for Valkey
  5. Abilita l'API Network Connectivity.
    API Network Connectivity
  6. Abilita l'API Service Consumer Management.
    API Service Consumer Management

Assegnare ruoli Memorystore for Valkey

Assicurati che tu o l'account utente che stai utilizzando disponiate delle autorizzazioni richieste per l'azione che devi eseguire.

Per eseguire tutte le operazioni della policy ACL, utilizza i ruoli Memorystore Admin (roles/memorystore.admin) e Memorystore Editor (roles/memorystore.editor). Per visualizzare solo le policy ACL, utilizza il ruolo Visualizzatore Memorystore (roles/memorystore.viewer).

Assegnare le autorizzazioni Memorystore for Valkey

Oltre ai ruoli Amministratore Memorystore, Editor Memorystore e Visualizzatore Memorystore, per utilizzare i criteri ACL in Memorystore for Valkey, devi disporre delle seguenti autorizzazioni:

Azione Autorizzazione
Crea una policy ACL memorystore.aclPolicies.create
Assegna una policy ACL a un'istanza memorystore.instances.update
Visualizza le informazioni sulle policy ACL memorystore.aclPolicies.list
Visualizzare informazioni su una policy ACL memorystore.aclPolicies.get
Visualizza le informazioni sulle revisioni delle policy ACL memorystore.aclPolicyRevisions.list
Visualizzare le informazioni su una revisione delle policy ACL memorystore.aclPolicyRevisions.get
Modificare una policy ACL memorystore.aclPolicies.update
Rimuovi una policy ACL da un'istanza memorystore.instances.update
Eliminare una policy ACL memorystore.aclPolicies.delete

Crea una policy ACL

Creando criteri ACL in Memorystore for Valkey, aumenti la sicurezza delle tue istanze limitando l'accesso degli utenti a chiavi, comandi e canali Pub/Sub specifici.

Puoi creare una policy ACL utilizzando la console Google Cloud o gcloud CLI.

Console

  1. Nella console Google Cloud , vai alla pagina Memorystore for Valkey.

    Memorystore for Valkey

  2. Nel pannello di navigazione laterale, fai clic su Norme ACL.

  3. Nella pagina Policy ACL, fai clic su Crea policy.

  4. Nella finestra Crea policy, procedi nel seguente modo:

    1. Nel campo Nome policy, inserisci un nome per la policy ACL. Il nome della norma deve contenere solo lettere minuscole, numeri e trattini. Deve inoltre iniziare con una lettera ed essere univoco nella rispettiva regione.

    2. Dal menu Regione, seleziona la regione in cui vuoi che Memorystore for Valkey crei il criterio ACL.

    3. Fai clic su Aggiungi regola.

    4. Nel campo ID utente, inserisci il nome dell'utente a cui deve essere applicata la policy ACL.

    5. Nel campo Stringa di accesso, inserisci la stringa di accesso per la policy. La stringa di accesso è una regola leggibile che definisce le autorizzazioni specifiche per l'utente.

      Ad esempio, se vuoi concedere all'utente default i permessi di lettura e scrittura per tutte le chiavi ACL dell'istanza, compila i campi ID utente e Stringa di accesso nel seguente modo:

      ID utente Stringa di accesso
      default on ~* &* +@all

      Questa regola concede le seguenti autorizzazioni all'utente default:

      • on: l'utente è attivo e abilitato per l'autenticazione
      • ~*: l'utente ha accesso in lettura e scrittura a tutte le chiavi possibili
      • &*: l'utente ha accesso a tutti i canali Pub/Sub
      • +@all: l'utente può eseguire tutti i comandi disponibili

      Per ulteriori informazioni su altre regole e policy ACL che puoi creare, consulta ACL nella documentazione di Valkey.

    6. Ripeti i passaggi da c a e per le altre regole ACL che vuoi creare per la policy.

    7. Fai clic su Crea.

gcloud

Per creare una policy ACL, utilizza il comando gcloud memorystore acl-policies create.

gcloud memorystore acl-policies create ACL_POLICY_NAME \
--location=REGION \
--rules=rule="on ~* +@all",username="lucian" \
--rules=rule="on +get",username="taylor"

Effettua le seguenti sostituzioni:

  • ACL_POLICY_NAME: il nome della policy ACL che stai creando. Il nome della policy deve contenere solo lettere minuscole, numeri e trattini. Deve inoltre iniziare con una lettera ed essere univoco nella rispettiva regione.
  • REGION: la regione in cui vuoi che si trovi la policy ACL.

Questa policy utilizza l'autenticazione di base basata su token e ha regole che eseguono le seguenti azioni:

  • La prima regola concede a lucian l'autorizzazione ~* +@all. Questa autorizzazione consente all'utente di accedere a tutte le chiavi ed eseguire tutti i comandi.
  • La seconda regola concede l'autorizzazione get a taylor. Questa autorizzazione consente all'utente di recuperare i valori associati alle chiavi. Limita l'accesso dell'utente alle operazioni sui dati di sola lettura e impedisce all'utente di modificare le chiavi.

Per creare regole per una policy ACL che utilizza l'autenticazione IAM (Identity and Access Management), ti consigliamo di utilizzare i principal IAM per i nomi utente (ad esempio, gli indirizzi email degli utenti).

gcloud memorystore acl-policies create ACL_POLICY_NAME \
--location=REGION \
--rules=rule="on ~* +@all",username="lucian@example.com" \
--rules=rule="on +get",username="taylor@example.com"

Per creare una regola per un criterio ACL che non utilizza l'autenticazione, l'utente deve essere l'utente default.

gcloud memorystore acl-policies create ACL_POLICY_NAME \
--location=REGION \
--rules=rule="on ~* +@all",username="default"

Per saperne di più sull'autenticazione di base basata su token e sull'autenticazione IAM, consulta Accedere in modo sicuro alle istanze utilizzando l'autenticazione di base basata su token e Informazioni sull'autenticazione IAM.

Per saperne di più su altre regole e policy ACL che puoi creare, consulta ACL nella documentazione di Valkey.

Assegna una policy ACL a un'istanza

Assegnando una policy ACL a un'istanza o sostituendo una policy assegnata, consenti a Memorystore for Valkey di applicare le regole della policy all'istanza. Di conseguenza, limiti l'accesso degli utenti a chiavi, comandi e canali Pub/Sub specifici.

Puoi assegnare una policy ACL a un'istanza utilizzando la consoleGoogle Cloud o gcloud CLI.

Assegna una policy a una nuova istanza

Per creare un'istanza e assegnarle una policy ACL, consulta Crea istanze.

Assegna una policy a un'istanza esistente

Per aumentare la sicurezza di un'istanza esistente, puoi assegnarle una policy ACL.

Console

  1. Nella console Google Cloud , vai alla pagina Memorystore for Valkey.

    Memorystore for Valkey

  2. Fai clic sull'ID dell'istanza a cui vuoi assegnare una policy ACL.

  3. Nella pagina Istanza a colpo d'occhio, scorri fino alla scheda Sicurezza.

  4. Accanto al campo Policy ACL, fai clic su Modifica ().

  5. Nella finestra Modifica policy ACL:

    1. Nel menu Policy, seleziona la policy che vuoi assegnare all'istanza.

    2. Fai clic su Aggiorna istanza.

gcloud

Per assegnare una policy ACL a un'istanza esistente, utilizza il comando gcloud memorystore instances update.

gcloud memorystore instances update INSTANCE_ID \
--update_mask=acl_policy \
--acl-policy=ACL_POLICY_NAME \
--location=REGION

Effettua le seguenti sostituzioni:

  • INSTANCE_ID: l'ID dell'istanza a cui stai assegnando la policy ACL
  • ACL_POLICY_NAME: il nome della policy ACL
  • REGION: la regione in cui si trova l'istanza

Visualizza le informazioni sulle policy ACL

La visualizzazione delle informazioni sulle norme ACL in Memorystore for Valkey ti aiuta a mantenere la sicurezza, garantisce la stabilità operativa del tuo ambiente e ti consente di controllare i dati in memoria. Queste policy definiscono quali utenti possono leggere o modificare determinati pattern di chiavi, eseguire comandi specifici o accedere a canali Pub/Sub specifici.

Puoi visualizzare le informazioni sulle policy ACL utilizzando la consoleGoogle Cloud o gcloud CLI.

Console

  1. Nella console Google Cloud , vai alla pagina Memorystore for Valkey.

    Memorystore for Valkey

  2. Nel pannello di navigazione laterale, fai clic su Norme ACL.

    Nella pagina Policy ACL puoi visualizzare le seguenti informazioni su ciascuna policy ACL:

    • ID policy: l'ID univoco della policy
    • Posizione: la regione in cui si trova la norma
    • Data di creazione: la data e l'ora in cui è stata creata la policy
    • Aggiornato alle ore: la data e l'ora dell'ultimo aggiornamento delle norme
    • Numero di regole: il numero totale di regole per la norma
    • Utilizzata dalle istanze: le istanze assegnate alla policy

gcloud

Per visualizzare informazioni sulle policy ACL, utilizza il comando gcloud memorystore acl-policies list.

gcloud memorystore acl-policies list
--location=REGION

Sostituisci REGION con la regione in cui si trova la policy ACL.

Visualizzare informazioni su una policy ACL

Visualizzando le informazioni su un criterio ACL in Memorystore for Valkey, puoi eseguire audit di sicurezza, risolvere gli errori di accesso e applicare il principio del privilegio minimo verificando i comandi utente, le autorizzazioni delle chiavi e l'accesso ai canali Pub/Sub. Inoltre, gli amministratori possono visualizzare un criterio ACL per garantire che le tue applicazioni abbiano l'accesso appropriato e per rilevare regole eccessivamente permissive.

Puoi visualizzare le informazioni su una policy ACL utilizzando gcloud CLI. Per visualizzare queste informazioni, utilizza il comando gcloud memorystore acl-policies describe.

gcloud memorystore acl-policies describe ACL_POLICY_NAME \
--location=REGION

Effettua le seguenti sostituzioni:

  • ACL_POLICY_NAME: il nome della policy ACL di cui vuoi visualizzare le informazioni
  • REGION: la regione in cui si trova la policy ACL

Visualizza le informazioni sulle revisioni delle policy ACL

Quando crei una policy ACL, Memorystore for Valkey crea una versione (revisione) della policy. Ogni volta che modifica la policy, Memorystore for Valkey crea una revisione successiva della policy.

Poiché Memorystore for Valkey genera automaticamente queste revisioni, puoi utilizzarle per il monitoraggio e il controllo interni. Inoltre, la visualizzazione delle revisioni consente di visualizzare i contenuti esatti della norma ACL in ogni versione storica.

Utilizzando le revisioni delle policy ACL, puoi monitorare quali istanze utilizzano quale revisione di una policy. In questo modo, puoi mantenere la visibilità e assicurarti che le istanze si trovino nella versione corretta durante i periodi di coerenza finale dopo un aggiornamento delle norme.

Puoi visualizzare le informazioni sulle revisioni delle policy ACL utilizzando la consoleGoogle Cloud o gcloud CLI.

Console

  1. Nella console Google Cloud , vai alla pagina Memorystore for Valkey.

    Memorystore for Valkey

  2. Nel pannello di navigazione laterale, fai clic su Norme ACL.

  3. Nella pagina Policy ACL, fai clic sull'ID della policy ACL con le revisioni che vuoi visualizzare. Nella pagina Revisioni delle policy ACL vengono visualizzate le seguenti informazioni:

    • ID revisione: l'ID di ogni revisione della policy ACL
    • Numero di revisione: il numero di ogni revisione della policy ACL
    • Posizione: la regione in cui si trova ogni revisione della policy ACL
    • Data di creazione: la data e l'ora di creazione di ogni revisione della policy ACL
    • Istanze collegate: le istanze assegnate a ogni revisione della policy ACL
    • Snapshot: informazioni dettagliate su ogni revisione della policy ACL

gcloud

Per visualizzare le informazioni sulle revisioni delle policy ACL, utilizza il comando gcloud memorystore acl-policies revisions list.

gcloud memorystore acl-policies revisions list \
--acl-policy=ACL_POLICY_NAME \
--location=REGION

Effettua le seguenti sostituzioni:

  • ACL_POLICY_NAME: il nome della policy ACL che contiene le revisioni di cui vuoi visualizzare le informazioni
  • REGION: la regione in cui si trova la policy ACL

Nell'output, prendi nota degli ID revisione. Questi ID sono necessari per visualizzare le informazioni sulle revisioni specifiche delle policy ACL.

Visualizzare le informazioni su una revisione delle policy ACL

La visualizzazione di una revisione delle norme ACL consente di visualizzare le regole, i metadati e un elenco di tutte le istanze collegate. Puoi visualizzare le informazioni su una revisione delle policy ACL utilizzando la console Google Cloud o gcloud CLI.

Console

  1. Nella console Google Cloud , vai alla pagina Memorystore for Valkey.

    Memorystore for Valkey

  2. Nel pannello di navigazione laterale, fai clic su Norme ACL.

  3. Nella pagina Policy ACL, fai clic sull'ID della policy ACL che ha una revisione che vuoi visualizzare.

  4. Nella pagina Revisioni delle policy ACL, fai clic sul link Snapshot accanto alla revisione della policy ACL che contiene le informazioni che vuoi visualizzare.

gcloud

Per visualizzare le informazioni su una revisione delle policy ACL, utilizza il comando gcloud memorystore acl-policies revisions describe.

gcloud memorystore acl-policies revisions describe ACL_POLICY_REVISION_ID \
--acl-policy=ACL_POLICY_NAME \
--location=REGION

Effettua le seguenti sostituzioni:

  • ACL_POLICY_REVISION_ID: l'ID della revisione della policy ACL di cui vuoi visualizzare le informazioni. Hai annotato questo ID quando hai visualizzato le informazioni sulle revisioni delle policy ACL.
  • ACL_POLICY_NAME: il nome della policy ACL che contiene la revisione.
  • REGION: la regione in cui si trova la policy ACL.

Modificare una policy ACL

Modificando una policy ACL in Memorystore for Valkey, puoi migliorare la sicurezza, applicare l'accesso con privilegi minimi e gestire la sicurezza operativa. Puoi modificare una policy utilizzando la console Google Cloud o gcloud CLI.

Aggiungere una regola a una policy ACL

Per aumentare la sicurezza di una policy ACL, aggiungi una regola.

Console

  1. Nella console Google Cloud , vai alla pagina Memorystore for Valkey.

    Memorystore for Valkey

  2. Nel pannello di navigazione laterale, fai clic su Norme ACL.

  3. Accanto alla policy ACL a cui vuoi aggiungere una regola, fai clic su Altre azioni (), poi seleziona Modifica.

  4. Nella finestra Modifica criterio, fai clic su Aggiungi regola.

  5. Nel campo ID utente, inserisci il nome dell'utente a cui deve essere applicata la policy ACL.

  6. Nel campo Stringa di accesso, inserisci la stringa di accesso per la policy. Per maggiori informazioni sulle stringhe di accesso per le policy ACL, consulta Crea una policy ACL.

  7. Ripeti i passaggi da 4 a 6 per le altre regole ACL che vuoi aggiungere al criterio.

  8. Fai clic su Salva.

gcloud

Per aggiungere una regola a una policy ACL, utilizza il comando gcloud memorystore acl-policies update.

gcloud memorystore acl-policies update ACL_POLICY_NAME \
--location=REGION \
--add-rules=rule="on ~list:*",username="lucian"

Effettua le seguenti sostituzioni:

  • ACL_POLICY_NAME: il nome della policy ACL a cui vuoi aggiungere una regola ACL
  • REGION: la regione in cui si trova la policy ACL

Questa regola concede a lucian l'accesso a tutte le chiavi che iniziano con list:.

Modifica una regola per una policy ACL

La modifica di una regola ACL per un criterio ACL offre una maggiore sicurezza, una migliore sicurezza operativa econtrollo dell'accessoo degli utenti più granulare. Ad esempio, puoi revocare le autorizzazioni durante una risposta agli incidenti o attivare l'accesso temporaneo per scopi di debug.

Console

  1. Nella console Google Cloud , vai alla pagina Memorystore for Valkey.

    Memorystore for Valkey

  2. Nel pannello di navigazione laterale, fai clic su Norme ACL.

  3. Accanto alla norma ACL per cui vuoi modificare una regola, fai clic su Altre azioni () e poi seleziona Modifica.

  4. Nella finestra Modifica criterio, fai clic su Aggiungi regola.

  5. Nei campi ID utente e Stringa di accesso, modifica l'ID utente o la stringa di accesso per le norme. Per saperne di più sulle stringhe di accesso per le policy ACL, consulta Creare una policy ACL.

  6. Ripeti i passaggi 4 e 5 per le altre regole ACL che vuoi modificare per la policy.

  7. Fai clic su Salva.

Sostituisci le regole di una policy ACL

Analogamente alla modifica di una regola per un criterio, la sostituzione delle regole di un criterio offre una maggiore sicurezza, una migliore sicurezza operativa econtrollo dell'accessoo degli utenti più granulare.

gcloud

Per sostituire le regole di una policy ACL, utilizza il comando gcloud memorystore acl-policies update.

gcloud memorystore acl-policies update ACL_POLICY_NAME \
--location=REGION \
--rules=rule="on ~c*che",username="lucian"

Effettua le seguenti sostituzioni:

  • ACL_POLICY_NAME: il nome della policy ACL per cui vuoi sostituire le regole ACL
  • REGION: la regione in cui si trova la policy ACL

La regola che stai sostituendo per la policy concede l'accesso lucian a tutte le chiavi che corrispondono al pattern c*che. Ad esempio: cache, caache e ceche.

Rimuovere una regola da una policy ACL

Se una regola ACL non si applica più a una policy ACL, puoi rimuoverla.

Console

  1. Nella console Google Cloud , vai alla pagina Memorystore for Valkey.

    Memorystore for Valkey

  2. Nel pannello di navigazione laterale, fai clic su Norme ACL.

  3. Accanto alla policy ACL da cui vuoi rimuovere una regola, fai clic su Altre azioni (), quindi seleziona Modifica.

  4. Nella finestra Modifica norma, accanto a una regola che vuoi rimuovere dalla norma, fai clic su Elimina regola ().

  5. Ripeti il passaggio 4 per le altre regole ACL che vuoi rimuovere dalla policy.

  6. Fai clic su Salva.

gcloud

Per rimuovere una regola da una policy ACL, utilizza il comando gcloud memorystore acl-policies update.

gcloud memorystore acl-policies update ACL_POLICY_NAME \
--location=REGION \
--remove-rules=rule="on ~set",username="lucian"

Effettua le seguenti sostituzioni:

  • ACL_POLICY_NAME: il nome della policy ACL da cui vuoi rimuovere una regola ACL
  • REGION: la regione in cui si trova la policy ACL

La rimozione di questa regola revoca le autorizzazioni associate per lucian. Per accedere all'istanza, lucian ora deve connettersi come utente default ed è soggetto alle autorizzazioni di questo utente.

Rimuovi una policy ACL da un'istanza

Se una policy ACL non si applica più a un'istanza Memorystore for Valkey, puoi rimuoverla. Puoi rimuovere una policy utilizzando la consoleGoogle Cloud o gcloud CLI.

Console

  1. Nella console Google Cloud , vai alla pagina Memorystore for Valkey.

    Memorystore for Valkey

  2. Fai clic sull'ID dell'istanza da cui vuoi rimuovere una policy ACL.

  3. Nella pagina Istanza a colpo d'occhio, scorri fino alla scheda Sicurezza.

  4. Accanto al campo Policy ACL, fai clic su Modifica ().

  5. Nella finestra Modifica policy ACL:

    1. Nel menu Norme, seleziona Nessuna norma.

    2. Fai clic su Aggiorna istanza.

gcloud

Per rimuovere una policy ACL da un'istanza, utilizza il comando gcloud memorystore instances update.

gcloud memorystore instances update INSTANCE_ID \
--clear-acl-policy \
--location=REGION

Effettua le seguenti sostituzioni:

  • INSTANCE_ID: l'ID dell'istanza da cui stai rimuovendo la policy ACL
  • REGION: la regione in cui si trova l'istanza

Eliminare una policy ACL

Se non hai più bisogno di una policy ACL, puoi eliminarla. Puoi eliminare un criterio utilizzando la console Google Cloud o gcloud CLI.

Console

  1. Nella console Google Cloud , vai alla pagina Memorystore for Valkey.

    Memorystore for Valkey

  2. Nel pannello di navigazione laterale, fai clic su Norme ACL.

  3. Accanto alla policy ACL che vuoi eliminare, fai clic su Altre azioni () e poi seleziona Elimina.

    Se la voce di menu Elimina è disattivata, il criterio è assegnato alle istanze. Prima di poter eliminare la policy, devi rimuoverla da ogni istanza.

  4. Nella finestra Elimina policy:

    1. Nel campo di testo, inserisci il nome della policy.

    2. Fai clic su Elimina.

gcloud

Per eliminare una policy ACL, utilizza il comando gcloud memorystore acl-policies delete.

gcloud memorystore acl-policies delete ACL_POLICY_NAME \
--location=REGION

Effettua le seguenti sostituzioni:

  • ACL_POLICY_NAME: il nome della policy ACL che vuoi eliminare
  • REGION: la regione in cui si trova la policy ACL

Disabilitare gli script Lua

Puoi utilizzare le policy ACL per gestire le funzionalità di scripting Lua per le tue istanze. La disattivazione o la limitazione degli script Lua può essere utile per ottimizzare le prestazioni, semplificare la funzionalità delle istanze o rispettare le linee guida per la sicurezza della tua organizzazione.

Disattivare i comandi di scripting per gli utenti

Per disattivare gli script Lua in modo che gli utenti non possano eseguirli, devi utilizzare le norme ACL e rimuovere le autorizzazioni per i comandi di scripting dalla stringa della regola ACL dell'utente.

Valkey classifica i comandi in gruppi. Lo scripting Lua rientra nella categoria @scripting. I comandi principali per i quali devi rimuovere le autorizzazioni utente sono:

Puoi disattivare tutti i comandi di scripting o un comando specifico per gli utenti. Per disattivare i comandi di scripting, utilizza gcloud CLI e anteponi al comando o alla categoria un segno meno (-).

Disattivare tutti i comandi di scripting per un utente

Per disattivare tutti i comandi di scripting per un utente, crea un criterio ACL e assegnalo a un'istanza o modifica un criterio ACL assegnato a un'istanza.

Crea un criterio

Per creare una policy ACL per disattivare tutti i comandi di scripting per un utente denominato lucian, utilizza il comando gcloud memorystore acl-policies create.

gcloud memorystore acl-policies create POLICY_NAME \
--location=REGION \
--rules=rule="on ~* +@all -@scripting",username=lucian

Effettua le seguenti sostituzioni:

  • POLICY_NAME: il nome della policy ACL
  • REGION: la regione in cui vuoi che si trovi la policy ACL

Dopo aver creato la policy, devi assegnarla a un'istanza nuova o esistente.

Modificare un criterio

Per modificare una policy ACL in modo da disattivare tutti i comandi di scripting per lucian, utilizza il comando gcloud memorystore acl-policies update.

gcloud memorystore acl-policies update POLICY_NAME \
--location=REGION \
--rules=rule="on ~* +@all -@scripting",username=lucian

Effettua le seguenti sostituzioni:

  • POLICY_NAME: il nome della policy ACL
  • REGION: la regione in cui si trova la policy ACL

Se vuoi concedere solo le autorizzazioni specifiche di cui un utente ha bisogno, modifica il valore +@all. Ad esempio, se vuoi che l'utente abbia accesso solo ai comandi di sola lettura, modifica +@all in +@read. Per saperne di più sulle autorizzazioni utente che puoi impostare, consulta la documentazione ACL di Valkey.

Disattivare un comando di scripting per un utente

Puoi scegliere comandi specifici da disattivare per un utente. Ad esempio, puoi consentire all'utente di eseguire tutti i comandi di scripting, ad eccezione del comando SCRIPT FLUSH. Per disattivare un comando di scripting per un utente, crea un criterio ACL e assegnalo a un'istanza oppure modifica un criterio ACL assegnato a un'istanza.

Puoi disattivare qualsiasi comando di scripting. Per gli esempi in questa sezione, disattiva il comando SCRIPT FLUSH per l'utente. Per un elenco dei comandi di scripting, vedi Disattivare i comandi di scripting per gli utenti.

Crea un criterio

Per creare una policy ACL per disattivare il comando di scripting SCRIPT FLUSH per lucian, utilizza il comando gcloud memorystore acl-policies create.

gcloud memorystore acl-policies create POLICY_NAME \
--location=REGION \
--rules=rule="on ~* -script|flush",username=lucian

Effettua le seguenti sostituzioni:

  • POLICY_NAME: il nome della policy ACL
  • REGION: la regione in cui vuoi che si trovi la policy ACL

Dopo aver creato la policy, devi assegnarla a un'istanza nuova o esistente.

Modificare un criterio

Per modificare una policy ACL in modo da disattivare tutti i comandi di scripting per lucian, utilizza il comando gcloud memorystore acl-policies update.

gcloud memorystore acl-policies update POLICY_NAME \
--location=REGION \
--rules=rule="on ~* -script|flush",username=lucian

Effettua le seguenti sostituzioni:

  • POLICY_NAME: il nome della policy ACL
  • REGION: la regione in cui si trova la policy ACL

Se vuoi concedere solo le autorizzazioni specifiche di cui un utente ha bisogno, modifica il valore +@all. Ad esempio, se vuoi che l'utente abbia accesso solo ai comandi di sola lettura, modifica +@all in +@read. Per saperne di più sulle autorizzazioni utente che puoi impostare, consulta la documentazione ACL di Valkey.

Proteggere l'utente predefinito

Per disattivare le autorizzazioni di scripting per il superutente default, crea una policy ACL e assegnala a un'istanza oppure modifica una policy ACL assegnata a un'istanza.

Crea un criterio

Per creare una policy ACL per disattivare tutti i comandi di scripting per l'utente default, utilizza il comando gcloud memorystore acl-policies create.

gcloud memorystore acl-policies create POLICY_NAME \
--location=REGION \
--rules=rule="on ~* +@all -@scripting",username=default

Effettua le seguenti sostituzioni:

  • POLICY_NAME: il nome della policy ACL
  • REGION: la regione in cui vuoi che si trovi la policy ACL

Dopo aver creato la policy, devi assegnarla a un'istanza nuova o esistente.

Modificare un criterio

Per modificare una policy ACL in modo da disattivare tutti i comandi di scripting per l'utente default, utilizza il comando gcloud memorystore acl-policies update.

gcloud memorystore acl-policies update POLICY_NAME \
--location=REGION \
--rules=rule="on ~* +@all -@scripting",username=default

Effettua le seguenti sostituzioni:

  • POLICY_NAME: il nome della policy ACL
  • REGION: la regione in cui si trova la policy ACL

Se vuoi concedere solo autorizzazioni specifiche di cui ha bisogno l'utente default, modifica il valore +@all. Ad esempio, se vuoi che questo utente abbia accesso solo ai comandi di sola lettura, modifica +@all in +@read. Per saperne di più sulle autorizzazioni utente che puoi impostare, consulta la documentazione ACL di Valkey.

Risoluzione dei problemi

Questa sezione elenca i messaggi di errore che potresti ricevere quando utilizzi i criteri ACL, i motivi di questi messaggi e suggerimenti per la risoluzione dei problemi.

Messaggio di errore Causa Risoluzione dei problemi
username cannot be empty Hai impostato una stringa vuota o una stringa contenente solo spazi vuoti per un nome utente in una policy ACL. Utilizza un nome utente con caratteri alfanumerici o speciali. Poi, crea di nuovo la policy ACL.
duplicate username found in ACL policy Hai nomi utente duplicati in una policy ACL. Utilizza i log degli errori per trovare il nome utente duplicato. Modifica la richiesta di creazione della policy ACL in modo da specificare esattamente una regola per il nome utente. Poi, crea di nuovo la policy ACL.
ACL rule token cannot contain token. use either IAM or Basic Auth features to enable authentication Non puoi utilizzare caratteri password (ad esempio <, >, # e !) o comandi correlati (ad esempio nopass, resetpass e reset) in una norma ACL. Rimuovi tutti i caratteri della password e i comandi correlati dalle regole del criterio ACL. Poi, crea di nuovo la policy ACL. Per configurare l'autenticazione, attiva l'autenticazione di base o l'autenticazione basata su IAM.
passwords not allowed in ACL rules (token starts with char). use either IAM or Basic Auth features to enable authentication Non puoi utilizzare caratteri password (ad esempio <, >, # e !) o comandi correlati (ad esempio nopass, resetpass e reset) in una norma ACL. Rimuovi tutti i caratteri della password e i comandi correlati dalle regole del criterio ACL. Poi, crea di nuovo la policy ACL. Per configurare l'autenticazione, attiva l'autenticazione di base o l'autenticazione basata su IAM.
invalid ACL rule syntax Non hai formattato correttamente una stringa di accesso in una o più regole della norma ACL. Formatta correttamente la stringa di accesso.
ACL policy is in DELETING state and cannot be used Stai tentando di assegnare una policy ACL a un'istanza, ma la policy ha uno stato DELETING. Assegna una policy ACL diversa all'istanza.
ACL_POLICY_IN_USE: ACL policy is in use by 1 or more instances Stai tentando di eliminare una policy ACL assegnata ad almeno un'istanza. Prima di poter eliminare una policy ACL, devi rimuoverla da tutte le istanze a cui è assegnata. Per determinare a quali istanze è assegnata una policy, consulta Visualizzare le informazioni sulle policy ACL.
fast-failing the workflow as the resource is in DELETING state Stai tentando di modificare una policy ACL con stato DELETING. Se una policy ACL ha lo stato DELETING, non puoi modificarla.