Questa pagina descrive come controllare l'accesso ai progetti Memorystore for Redis le autorizzazioni usando 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 Google Cloud. 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 di IAM.
Memorystore for Redis offre un insieme di ruoli predefiniti progettata per aiutarti a controllare facilmente l'accesso alle tue risorse Redis. Se i ruoli predefiniti non forniscono gli insiemi di autorizzazioni di cui hai bisogno, puoi anche e creare ruoli personalizzati. Inoltre, i ruoli di base precedenti (Editor, Visualizzatore e Proprietario) sono ancora disponibili per te, anche se lo fanno Non offrono lo stesso controllo granulare dei ruoli di Memorystore for Redis. In particolare, i ruoli di base forniscono 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 riassume le autorizzazioni e i ruoli di Memorystore for Redis Google Cloud.
Ruoli predefiniti
Memorystore for Redis offre alcuni ruoli predefiniti che puoi utilizzare e fornire autorizzazioni più granulari alle entità. Il ruolo concesso a un'entità controlla le azioni che può eseguire. Le entità possono essere singoli, gruppi o account di servizio.
Puoi concedere più ruoli alla stessa entità e, se disponi di autorizzazioni per farlo, puoi modificare i ruoli concessi a un'entità in qualsiasi momento.
Tra i ruoli generali figurano quelli più definiti. Ad esempio, il ruolo Editor Redis include tutte le autorizzazioni del ruolo Visualizzatore Redis, oltre alle autorizzazioni per il ruolo Editor Redis. Analogamente, il ruolo Amministratore Redis include tutte le autorizzazioni del ruolo Editor Redis, oltre alle autorizzazioni aggiuntive.
I ruoli di base (Proprietario, Editor e Visualizzatore) forniscono autorizzazioni in Google Cloud. I ruoli specifici di Memorystore for Redis fornire solo le autorizzazioni Memorystore for Redis, ad eccezione le seguenti autorizzazioni Google Cloud, necessarie utilizzo generale di Google Cloud:
resourcemanager.projects.get
resourcemanager.projects.list
La tabella seguente elenca i ruoli predefiniti disponibili per Memorystore for Redis e Memorystore for Redis autorizzazioni:
Ruolo | Nome | Autorizzazioni Redis | Descrizione |
---|---|---|---|
|
Proprietario |
|
Accesso completo e controllo per tutte le risorse Google Cloud; gestisci accesso utente |
|
Editor | Tutte le redis autorizzazioni tranne *.getIamPolicy e
.setIamPolicy |
Accesso in lettura/scrittura a tutte le risorse Google Cloud e Redis (controllo completo con esclusione della possibilità di modificare le autorizzazioni) |
|
Visualizzatore |
|
Accesso in sola lettura a tutte le risorse Google Cloud, incluso Redis risorse |
|
Amministratore Redis |
|
Controllo completo per tutte le risorse Memorystore for Redis. |
|
Editor Redis | Tutte le autorizzazioni di redis , ad eccezione di
|
Gestire le istanze di Memorystore for Redis. Non può creare o eliminare le istanze. |
|
Visualizzatore Redis | Tutte le autorizzazioni di redis , ad eccezione di
|
Accesso in sola lettura a tutte le risorse Memorystore for Redis. |
Autorizzazioni e relativi ruoli
Nella tabella seguente sono elencate tutte le autorizzazioni supportate da Memorystore for Redis e i ruoli di Memorystore for Redis che lo includono:
Autorizzazione | Ruolo Redis | Ruolo di base |
---|---|---|
|
Redis Admin Redis Editor Redis Viewer |
Reader |
|
Amministratore Redis Editor Redis Visualizzatore Redis |
Reader |
|
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 |
|
Redis Admin Redis Editor Redis Viewer |
Reader |
|
Amministratore Redis Editor Redis Visualizzatore Redis |
Reader |
|
Amministratore Redis Editor Redis Visualizzatore Redis |
Reader |
|
Amministratore Redis Editor Redis Visualizzatore Redis |
Reader |
|
Amministratore Redis | Writer |
Ruoli personalizzati
Se i ruoli predefiniti non soddisfano i tuoi requisiti aziendali specifici,
puoi definire i tuoi ruoli personalizzati con le autorizzazioni da te specificate. Per l'assistenza
Questo, IAM offre ruoli personalizzati. Quando crei ruoli personalizzati
per Memorystore for Redis, assicurati di includere
sia resourcemanager.projects.get
che resourcemanager.projects.list
.
In caso contrario, la console Google Cloud non funzionerà correttamente
per Memorystore for Redis. Per ulteriori informazioni, vedi
Dipendenze per le autorizzazioni.
Per informazioni su come creare un ruolo personalizzato, consulta Creazione di un ruolo personalizzato.
Autorizzazioni richieste per le attività comuni nella console Google Cloud
Per consentire a un utente di lavorare con Memorystore for Redis utilizzando
nella console Google Cloud, il ruolo dell'utente deve includere
resourcemanager.projects.get
e i resourcemanager.projects.list
autorizzazione.
La tabella seguente fornisce le altre autorizzazioni necessarie per alcuni nella console Google Cloud:
Attività | Autorizzazioni aggiuntive richieste |
---|---|
Visualizza la pagina di elenco dell'istanza |
|
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 dei 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 for Redis utilizzando i comandi gcloud
,
il ruolo dell'utente deve includere resourcemanager.projects.get
e
Autorizzazione resourcemanager.projects.list
.
La tabella seguente elenca le autorizzazioni che l'utente che richiama un gcloud
che deve avere 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
Nella tabella seguente sono elencate le autorizzazioni che il chiamante deve avere per chiamare ogni
nell'API Memorystore for Redis o per eseguire attività
con gli strumenti 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 Memorystore for Redis ha un account di servizio che utilizza per comunicare con altre risorse Google Cloud.
A volte (ad esempio durante l'esportazione o l'utilizzo di 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 formati diversi, a seconda quando è stato creato.
Il primo formato è:
[PROJECT_NUMBER]-compute@developer.gserviceaccount.com
Il secondo formato è:
service-[PROJECT_NUMBER]@cloud-redis.iam.gserviceaccount.com
Per vedere la fonte attendibile su cui è utilizzato l'account di servizio utilizzato dall'istanza, consulta Visualizza l'account di servizio dell'istanza.
Problemi noti
A volte un account di servizio che utilizza [PROJECT_NUMBER]-compute@developer.gserviceaccount.com
può essere in conflitto con il criterio dell'organizzazione. Per ulteriori informazioni e
per risolvere il problema, vedi Problemi relativi al criterio dell'organizzazione per la condivisione limitata dei 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 di autenticazione Redis
La tabella seguente mostra le autorizzazioni minime di cui un utente ha bisogno per completare alcune attività di AUTH di Memorystore for Redis di base.
Autorizzazioni necessarie | Creare un'istanza Memorystore con Redis AUTH 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 per la crittografia dei dati in transito
La tabella seguente mostra le autorizzazioni necessarie per abilitare e gestire la crittografia dei dati in transito per Memorystore for Redis.
Autorizzazioni necessarie | Crea un'istanza Memorystore con crittografia 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 del criterio di manutenzione per Memorystore for Redis.
Autorizzazioni necessarie | Crea un'istanza Memorystore con un criterio di manutenzione abilitato | Creare o modificare i criteri di manutenzione in un'istanza Memorystore esistente | Visualizzazione delle impostazioni dei criteri di manutenzione | Nuova pianificazione della manutenzione |
---|---|---|---|---|
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 distinti. Un ruolo personalizzato per l'utente e un ruolo personalizzato aggiuntivo per Redis. l'account di servizio dell'istanza. Il ruolo personalizzato per l'account di servizio utilizza Autorizzazioni a livello di bucket Cloud Storage.
Per trovare l'account di servizio per la tua istanza, vedi Visualizzare l'account di servizio dell'istanza
Autorizzazioni per l'account di servizio
Tieni presente che devi concedere solo le autorizzazioni di archiviazione all'account di servizio all'indirizzo a livello di bucket, non all'intero progetto. Per istruzioni, consulta Aggiunta di un'entità a livello di bucket.
Dopo aver concesso le autorizzazioni a livello di bucket all'account di servizio, puoi ignora il messaggio che indica che "Memorystore non è in grado di verificare se l'account di servizio" xxxx@xxxx.gserviceaccount.com ha le autorizzazioni necessarie per l'importazione/esportazione. Per assistenza per la verifica o l'aggiornamento delle autorizzazioni, contatta l'amministratore del progetto. Per le autorizzazioni richieste, consulta importazione/esportazione documentazione sulle autorizzazioni". Se applichi le autorizzazioni elencate di seguito a ruoli personalizzati per l'account utente e l'account di servizio, avranno successo.
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ù su ruoli personalizzati.