Questa pagina descrive come controllare l'accesso e le autorizzazioni ai progetti Memorystore for Redis utilizzando Identity and Access Management (IAM).
Panoramica
Google Cloud offre IAM, che consente di concedere un accesso più granulare a risorse Google Cloud specifiche e impedisce l'accesso indesiderato ad altre risorse. Questa pagina descrive i ruoli e le autorizzazioni IAM di Memorystore for Redis. Per una descrizione dettagliata dei ruoli e delle autorizzazioni, consulta la documentazione IAM.
Memorystore for Redis offre un insieme di ruoli predefiniti progettati per aiutarti a controllare facilmente l'accesso alle risorse Redis. Se i ruoli predefiniti non forniscono le serie di autorizzazioni necessarie, puoi anche creare ruoli personalizzati. Inoltre, puoi ancora accedere ai ruoli di base precedenti (Editor, Visualizzatore e Proprietario), sebbene non offrano lo stesso controllo granulare dei ruoli di Memorystore per Redis. In particolare, i ruoli di base forniscono l'accesso alle risorse in Google Cloud, anziché solo per Memorystore for Redis. Per ulteriori informazioni sui ruoli di base, consulta Ruoli di base.
Autorizzazioni e ruoli
Questa sezione riepiloga le autorizzazioni e i ruoli supportati da Memorystore for Redis.
Ruoli predefiniti
Memorystore for Redis offre alcuni ruoli predefiniti che puoi utilizzare per fornire autorizzazioni più granulari alle entità. Il ruolo assegnato a un'entità controlla le azioni che può eseguire. Le entità possono essere singole persone, gruppi o account di servizio.
Puoi concedere più ruoli alla stessa entità e, se disponi delle autorizzazioni per farlo, puoi modificare i ruoli concessi a un'entità in qualsiasi momento.
I ruoli più ampi comprendono quelli definiti in modo più specifico. Ad esempio, il ruolo Editor Redis include tutte le autorizzazioni del ruolo Visualizzatore Redis, insieme all'aggiunta di autorizzazioni per il ruolo Editor Redis. Analogamente, il ruolo Amministratore Redis include tutte le autorizzazioni del ruolo Editor Redis, insieme alle relative autorizzazioni aggiuntive.
I ruoli di base (Proprietario, Editor, Visualizzatore) forniscono le autorizzazioni in Google Cloud. I ruoli specifici di Memorystore for Redis forniscono solo le autorizzazioni di Memorystore for Redis, ad eccezione delle seguenti autorizzazioni di Google Cloud, necessarie per l'utilizzo generale di Google Cloud:
resourcemanager.projects.get
resourcemanager.projects.list
La tabella seguente elenca i ruoli predefiniti disponibili per Memorystore for Redis, insieme alle relative autorizzazioni di Memorystore for Redis:
Ruolo | Nome | Autorizzazioni Redis | Descrizione |
---|---|---|---|
|
Proprietario |
|
Accesso e controllo completi per tutte le risorse Google Cloud; gestione dell'accesso degli utenti |
|
Editor | Tutte le redis autorizzazioni, tranne *.getIamPolicy e
.setIamPolicy |
Accesso in lettura/scrittura a tutte le risorse Google Cloud e Redis (controllo completo, tranne la possibilità di modificare le autorizzazioni) |
|
Visualizzatore |
|
Accesso in sola lettura a tutte le risorse Google Cloud, comprese le risorse Redis |
|
Amministratore Redis |
|
Controllo completo per tutte le risorse Memorystore for Redis. |
|
Editor Redis | Tutte le autorizzazioni di redis tranne
|
Gestisci le istanze Memorystore for Redis. Non può creare o eliminare istanze. |
|
Visualizzatore Redis | Tutte le autorizzazioni di redis tranne
|
Accesso in sola lettura a tutte le risorse Memorystore for Redis. |
Autorizzazioni e relativi ruoli
La seguente tabella elenca ogni autorizzazione supportata da Memorystore per Redis e i ruoli di Memorystore for Redis che la includono:
Autorizzazione | Ruolo Redis | Ruolo di base |
---|---|---|
|
Amministratore Redis Editor Redis Visualizzatore Redis |
Lettore |
|
Amministratore Redis Editor Redis Visualizzatore Redis |
Lettore |
|
Amministratore Redis | Writer |
|
Amministratore Redis Editor Redis |
Writer |
|
Amministratore Redis | Writer |
|
Amministratore Redis | Writer |
|
Amministratore Redis | Writer |
|
Amministratore Redis | Writer |
|
Amministratore Redis | Writer |
|
Amministratore Redis | Writer |
|
Amministratore Redis Editor Redis Visualizzatore Redis |
Lettore |
|
Amministratore Redis Editor Redis Visualizzatore Redis |
Lettore |
|
Amministratore Redis Editor Redis Visualizzatore Redis |
Lettore |
|
Amministratore Redis Editor Redis Visualizzatore Redis |
Lettore |
|
Amministratore Redis | Writer |
Ruoli personalizzati
Se i ruoli predefiniti non soddisfano i tuoi requisiti aziendali univoci, puoi definire ruoli personalizzati con le autorizzazioni da te specificate. A supporto di ciò, IAM offre ruoli personalizzati. Quando crei ruoli personalizzati
per Memorystore for Redis, assicurati di includere
sia resourcemanager.projects.get
sia resourcemanager.projects.list
.
In caso contrario, la console Google Cloud non funzionerà correttamente
per Memorystore for Redis. Per maggiori informazioni, consulta
Dipendenze delle autorizzazioni.
Per scoprire come creare un ruolo personalizzato, vedi Creare un ruolo personalizzato.
Autorizzazioni richieste per le attività comuni nella console Google Cloud
Per consentire a un utente di lavorare con Memorystore per Redis utilizzando la console Google Cloud, il suo ruolo deve includere le autorizzazioni resourcemanager.projects.get
e resourcemanager.projects.list
.
La tabella seguente fornisce le altre autorizzazioni necessarie per alcune attività comuni nella console Google Cloud:
Attività | Autorizzazioni aggiuntive richieste |
---|---|
Visualizza la pagina di elenco delle istanze |
|
Creazione e modifica di un'istanza |
|
Eliminazione di un'istanza |
|
Connessione a un'istanza da Cloud Shell |
|
Visualizzazione di informazioni sulle istanze |
|
Importazione ed esportazione di file di backup RDB |
|
Upgrade della versione di Redis di un'istanza |
|
Autorizzazioni richieste per i comandi gcloud
Per consentire a un utente di lavorare con Memorystore per Redis utilizzando i comandi gcloud
, il ruolo dell'utente deve includere le autorizzazioni resourcemanager.projects.get
e resourcemanager.projects.list
.
La tabella seguente elenca le autorizzazioni che deve avere l'utente che richiama un comando gcloud
per ogni sottocomando gcloud redis
:
Comando | Autorizzazioni obbligatorie |
---|---|
gcloud redis instances auth |
|
gcloud redis instances create |
|
gcloud redis instances delete |
|
gcloud redis instances update |
|
gcloud redis instances list |
|
gcloud redis instances describe |
|
gcloud redis instances import |
|
gcloud redis instances export |
|
gcloud redis instances upgrade |
|
gcloud redis operations list |
|
gcloud redis operations describe |
|
gcloud redis regions list |
|
gcloud redis regions describe |
|
gcloud redis zones list |
|
Autorizzazioni richieste per i metodi API
La tabella seguente elenca le autorizzazioni di cui il chiamante deve disporre per chiamare ciascun metodo nell'API Memorystore for Redis o per eseguire attività utilizzando gli strumenti di Google Cloud che utilizzano l'API, ad esempio la console Google Cloud o lo gcloud
strumento a riga di comando:
Metodo | Autorizzazioni obbligatorie |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L'account di servizio Memorystore for Redis
Ogni istanza di Memorystore for Redis ha un account di servizio che utilizza per comunicare con altre risorse Google Cloud.
A volte, ad esempio durante l'exporting o mediante CMEK, devi concedere autorizzazioni o ruoli specifici all'account di servizio.
Formato dell'account di servizio Memorystore for Redis
L'account di servizio dell'istanza utilizza uno dei due diversi formati, a seconda di quando è stata creata.
Il primo formato è:
[PROJECT_NUMBER]-compute@developer.gserviceaccount.com
Il secondo formato è:
service-[PROJECT_NUMBER]@cloud-redis.iam.gserviceaccount.com
Per conoscere la fonte attendibile sull'account di servizio utilizzato dall'istanza, vedi Visualizzare l'account di servizio dell'istanza.
Problemi noti
A volte un account di servizio che utilizza il formato [PROJECT_NUMBER]-compute@developer.gserviceaccount.com
può entrare in conflitto con il criterio dell'organizzazione. Per ulteriori informazioni e per la procedura per risolvere il problema, vedi Problemi relativi al criterio dell'organizzazione per la condivisione limitata per i domini.
Visualizza l'account di servizio dell'istanza:
Per visualizzare l'account di servizio per l'istanza, esegui questo comando e prendi nota dell'account di servizio elencato sotto persistenceIamIdentity
:
gcloud redis instances describe [INSTANCE_ID] --region=[REGION]
Autorizzazioni AUTH Redis
La tabella seguente mostra le autorizzazioni minime necessarie a un utente per completare alcune attività di AUTH di base di Memorystore for Redis.
Autorizzazioni necessarie | Crea un'istanza Memorystore con l'autenticazione Redis abilitata | Abilita / disabilita AUTH su un'istanza Redis esistente | Visualizza la stringa AUTH | Visualizza se AUTH è abilitato / disabilitato per un'istanza Redis |
---|---|---|---|---|
redis.instances.create
|
✓ | X | X | X |
redis.instances.update
|
X | ✓ | X | X |
redis.instances.get
|
X | X | X | ✓ |
redis.instances.updateAuth
|
✓ | ✓ | X | X |
redis.instances.getAuthString
|
X | X | ✓ | X |
Autorizzazioni di crittografia dei dati in transito
La tabella seguente mostra le autorizzazioni necessarie per abilitare e gestire la crittografia dei dati in transito per Memorystore per Redis.
Autorizzazioni necessarie | Crea un'istanza Memorystore con crittografia dei dati in transito | Scarica l'autorità di certificazione |
---|---|---|
redis.instances.create
|
✓ | X |
redis.instances.get
|
X | ✓ |
Autorizzazioni dei criteri di manutenzione
La tabella seguente mostra le autorizzazioni necessarie per la gestione dei criteri di manutenzione per Memorystore for Redis.
Autorizzazioni necessarie | Crea un'istanza Memorystore con un criterio di manutenzione abilitato | Crea o modifica i criteri di manutenzione su un'istanza Memorystore esistente | Visualizzazione delle impostazioni dei criteri di manutenzione | Riprogrammazione della manutenzione in corso... |
---|---|---|---|---|
redis.instances.create
|
✓ | X | X | X |
redis.instances.update
|
X | ✓ | X | X |
redis.instances.get
|
X | X | ✓ | X |
redis.instances.rescheduleMaintenance
|
X | X | X | ✓ |
Autorizzazioni richieste per l'importazione e l'esportazione
L'utilizzo di ruoli personalizzati per l'importazione e l'esportazione richiede due ruoli personalizzati separati. Un ruolo personalizzato per l'utente e un altro ruolo personalizzato per l'account di servizio dell'istanza Redis. Il ruolo personalizzato per l'account di servizio utilizza le autorizzazioni a livello di bucket Cloud Storage.
Per trovare l'account di servizio per l'istanza, vedi Visualizzare l'account di servizio dell'istanza
Autorizzazioni per l'account di servizio
Tieni presente che devi concedere le autorizzazioni di archiviazione all'account di servizio solo a livello di bucket, non all'intero progetto. Per le istruzioni, consulta Aggiunta di un'entità a un criterio a livello di bucket.
Dopo aver concesso le autorizzazioni a livello di bucket all'account di servizio, puoi ignorare il messaggio "Memorystore non è in grado di verificare se l'account di servizio xxxx@xxxx.gserviceaccount.com dispone delle autorizzazioni necessarie per eseguire l'importazione/esportazione. Per ricevere assistenza per la verifica o l'aggiornamento delle autorizzazioni, contatta l'amministratore del progetto. Per le autorizzazioni richieste, consulta la documentazione sulle autorizzazioni di importazione/esportazione. Se applichi le autorizzazioni elencate di seguito a ruoli personalizzati per l'account utente e l'account di servizio, l'importazione/esportazione verrà eseguita correttamente.
Autorizzazioni per il ruolo personalizzato per l'account di servizio | Importa con gcloud | Esporta con gcloud | Importa con la console Google Cloud | Esporta con la console Google Cloud |
---|---|---|---|---|
storage.buckets.get |
✓ | ✓ | ✓ | ✓ |
storage.objects.get |
✓ | X | ✓ | X |
storage.objects.create |
X | ✓ | X | ✓ |
storage.objects.delete |
X | Facoltativo. (concede l'autorizzazione a sovrascrivere il file RDB esistente). |
X | Facoltativo. (concede l'autorizzazione a sovrascrivere il file RDB esistente). |
Autorizzazioni per l'account utente
Autorizzazioni per il ruolo personalizzato per l'account utente | Importa con gcloud | Esporta con gcloud | Importa con la console Google Cloud | Esporta con la console Google Cloud |
---|---|---|---|---|
resourcemanager.projects.get |
X | X | ✓ | ✓ |
redis.instances.get |
✓ | ✓ | ✓ | ✓ |
redis.instances.list |
X | X | X | X |
redis.instances.import |
✓ | X | ✓ | X |
redis.instances.export |
X | ✓ | X | ✓ |
redis.operations.get |
X | ✓ | ✓ | ✓ |
redis.operations.list |
X | X | ✓ | ✓ |
redis.operations.cancel |
✓ | ✓ | ✓ | ✓ |
storage.buckets.list |
X | X | ✓ | ✓ |
storage.buckets.get |
X | X | ✓ | ✓ |
storage.objects.list |
X | X | ✓ | ✓ |
storage.objects.get |
X | X | ✓ | ✓ |
Passaggi successivi
- Scopri come concedere e revocare l'accesso.
- Scopri di più su IAM.
- Scopri di più sui ruoli personalizzati.