Questa pagina descrive come creare e gestire i ruoli personalizzati in Google Distributed Cloud (GDC) con air gap. I ruoli personalizzati ti consentono di gestire l'accesso oltre gli insiemi di autorizzazioni standard disponibili nei ruoli predefiniti, consentendoti di configurare le autorizzazioni in base ai tuoi criteri specifici.
I ruoli personalizzati seguono il principio del privilegio minimo e sono utili per concedere l'accesso minimo richiesto per le attività sensibili, mitigando i rischi per la sicurezza e prevenendo i conflitti di interesse.
La creazione di un ruolo personalizzato ti consente di:
- Definisci l'ambito di accesso: scegli di applicare le autorizzazioni all'intera organizzazione, a tutti i progetti o di limitarle a progetti specifici.
- Personalizza l'accesso granulare: seleziona una o più autorizzazioni già disponibili tramite ruoli predefiniti per personalizzare l'accesso a responsabilità o attività specifiche.
Questa pagina è rivolta ai membri del gruppo di amministratori della piattaforma, ad esempio amministratori IT o ingegneri della sicurezza, che vogliono gestire in modo sicuro l'accesso alle risorse dell'organizzazione. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC air-gap.
Visita le sezioni Descrizioni dei ruoli predefiniti e Definizioni dei ruoli per ulteriori informazioni sui ruoli.
Prima di iniziare
L'accesso ai ruoli personalizzati viene gestito a livello di organizzazione e progetto. L'accesso può essere concesso solo all'interno della stessa organizzazione o dello stesso progetto in cui è stato creato il ruolo personalizzato.
Per disporre delle autorizzazioni necessarie per creare e gestire ruoli personalizzati, chiedi all'amministratore di concederti uno dei seguenti ruoli:
Amministratore dell'organizzazione con ruolo personalizzato: crea e gestisce ruoli personalizzati all'interno di un'organizzazione o di un progetto. Questo ruolo include la possibilità di aggiornare, elencare, visualizzare, disattivare ed eliminare i ruoli personalizzati.
Gli utenti amministratore IAM dell'organizzazione possono concedere questo ruolo.
Amministratore progetto con ruolo personalizzato: crea e gestisce ruoli personalizzati all'interno di un progetto. Questo ruolo include la possibilità di aggiornare, elencare, visualizzare, disattivare ed eliminare i ruoli personalizzati.
Gli utenti amministratore IAM del progetto possono concedere questo ruolo.
Scopri di più sull'assegnazione delle autorizzazioni dei ruoli per organizzazioni e progetti.
Visualizzare i ruoli e le relative autorizzazioni
Un ruolo personalizzato è costituito da un gruppo di autorizzazioni che puoi assegnare agli utenti. Per creare un ruolo personalizzato, seleziona le autorizzazioni dai ruoli predefiniti esistenti e combinale in base alle tue esigenze. Le autorizzazioni che puoi includere in un ruolo personalizzato dipendono dall'ambito in cui crei il ruolo: organizzazione o progetto.
Questa sezione spiega come elencare i ruoli disponibili (predefiniti e personalizzati) e visualizzare le autorizzazioni al loro interno. Puoi utilizzare queste informazioni per:
- Identifica le autorizzazioni per i nuovi ruoli personalizzati: scopri le stringhe di autorizzazione specifiche richieste per il flag
--permissionsquando utilizzi gcloud CLI per creare un ruolo personalizzato. - Esamina i ruoli esistenti: esamina le autorizzazioni associate a qualsiasi ruolo predefinito o personalizzato nell'ambito selezionato (organizzazione o progetto).
Elenca i ruoli ed esamina le relative autorizzazioni utilizzando la console GDC o gcloud CLI:
Console
- Accedi alla console GDC.
- Nel selettore di progetti, seleziona l'organizzazione o il progetto in cui vuoi visualizzare i ruoli.
Nel menu di navigazione, fai clic su Identity & Access Management > Ruoli.
Viene visualizzato un elenco di ruoli predefiniti e personalizzati disponibili.
Fai clic sul nome di un ruolo per visualizzarne i dettagli, incluse le autorizzazioni assegnate.
Le autorizzazioni elencate per i ruoli predefiniti nell'ambito attuale (organizzazione o progetto) sono quelle disponibili per essere incluse in un nuovo ruolo personalizzato.
gdcloud
- Assicurati di aver installato gcloud CLI. Per ulteriori informazioni, consulta la pagina Panoramica di gcloud CLI.
Elenca i ruoli disponibili:
gdcloud iam roles list ROLE_TYPE \ --project=PROJECTSostituisci quanto segue:
ROLE_TYPE: il tipo di ruoli da elencare. I valori validi sonopredefined,customoall.PROJECT: lo spazio dei nomi del progetto in cui vuoi visualizzare i ruoli. Ometti il flag--projectper i ruoli con ambito organizzazione.
Visualizza le autorizzazioni specifiche all'interno di un ruolo:
gdcloud iam roles describe ROLE_NAME \ --project=PROJECTSostituisci quanto segue:
ROLE_NAME: il nome della risorsa Kubernetes del ruolo.PROJECT: lo spazio dei nomi del progetto in cui vuoi visualizzare le autorizzazioni del ruolo. Ometti il flag--projectper i ruoli con ambito organizzazione.
Per ulteriori dettagli sui comandi ed esempi di utilizzo, consulta gdcloud iam roles list e gdcloud iam roles describe.
Creare un ruolo personalizzato
Crea un nuovo ruolo personalizzato raggruppando le autorizzazioni dei ruoli predefiniti. I ruoli personalizzati ereditano le funzionalità multizona di IAM dei ruoli predefiniti su cui si basano. Dopo aver creato un ruolo personalizzato, puoi concedere l'accesso agli utenti.
Crea un ruolo personalizzato utilizzando la console GDC, gcloud CLI o l'API:
Console
- Accedi alla console GDC.
- Nel selettore di progetti, seleziona l'organizzazione o il progetto in cui vuoi creare un ruolo personalizzato.
- Nel menu di navigazione, fai clic su Identity & Access Management > Ruoli.
- Fai clic su Crea ruolo personalizzato.
- Nel campo Titolo, inserisci il titolo del ruolo personalizzato.
- Nel campo Descrizione, fornisci una descrizione dello scopo del ruolo personalizzato.
Nel campo ID, inserisci l'identificatore univoco del tuo ruolo personalizzato.
Gli ID ruolo personalizzati possono contenere fino a 10 caratteri alfanumerici minuscoli e non possono essere modificati dopo la creazione del ruolo.
Seleziona una Fase di lancio.
Seleziona l'ambito del ruolo personalizzato.
Se selezioni Organizzazione, il ruolo personalizzato viene applicato a tutte le risorse dell'organizzazione. Se selezioni Progetti, il ruolo personalizzato viene applicato a tutti i progetti attuali e futuri dell'organizzazione. Puoi selezionare Limita ai progetti selezionati se vuoi specificare a quali progetti è possibile accedere al ruolo personalizzato.
Fai clic su Aggiungi autorizzazioni.
Seleziona la casella di controllo accanto a una o più autorizzazioni supportate che vuoi assegnare al ruolo personalizzato.
Le autorizzazioni disponibili sono limitate all'ambito selezionato. Se modifichi l'ambito dopo aver aggiunto le autorizzazioni, devi confermare che tutte le autorizzazioni assegnate in precedenza vengano reimpostate.
Fai clic su Salva.
Fai clic su Crea.
Il nuovo ruolo personalizzato viene visualizzato nella pagina Ruoli.
gdcloud
- Assicurati di aver installato gcloud CLI. Per ulteriori informazioni, consulta la pagina Panoramica di gcloud CLI.
Per creare un ruolo personalizzato:
gdcloud iam roles create ROLE_ID \ --title=TITLE \ --description=DESCRIPTION \ --permissions=PERMISSIONS --stage=LAUNCH_STAGESostituisci quanto segue:
ROLE_ID: l'identificatore univoco per il tuo ruolo personalizzato. Gli ID ruolo personalizzato possono contenere fino a 10 caratteri alfanumerici minuscoli e trattini. Gli ID dei ruoli personalizzati non possono essere modificati dopo la creazione del ruolo.TITLE: un titolo facile da ricordare per il ruolo personalizzato.DESCRIPTION: una descrizione dello scopo del ruolo personalizzato.PERMISSIONS: un elenco separato da virgole dei permessi che vuoi concedere per il ruolo personalizzato.Per informazioni dettagliate su come trovare le stringhe di autorizzazione corrette, vedi Visualizzare i ruoli e le relative autorizzazioni. Ogni stringa di autorizzazione deve essere formattata in base alle indicazioni in gdcloud iam roles create, dove
iamRoleNameè il nome della risorsa Kubernetes del ruolo predefinito contenente l'autorizzazione. Puoi trovare il nome della risorsa Kubernetes di un ruolo nella pagina Definizioni dei ruoli o utilizzando il comando gdcloud iam roles list.LAUNCH_STAGE: (Facoltativo) La fase di rilascio del ruolo personalizzato. I valori validi sonoALPHA,BETA,GAoDISABLED. Se questo flag viene omesso, il valore predefinito èALPHA.
Consulta gdcloud iam roles create per un elenco completo dei flag obbligatori e facoltativi, nonché esempi di utilizzo.
In alternativa, puoi definire il ruolo personalizzato in un file YAML e utilizzare il flag
--file:gdcloud iam roles create ROLE_ID --file=YAML_FILE_PATHSostituisci
YAML_FILE_PATHcon il percorso del file YAML contenente i flag obbligatori e facoltativi. Se utilizzi il flag--file, tutti gli altri flag come--title,--descriptione--permissionsvengono ignorati.
API
Crea e applica la risorsa personalizzata CustomRole utilizzando kubectl:
kubectl apply -f - <<EOF
apiVersion: iam.global.gdc.goog/v1
kind: CustomRole
metadata:
name: ROLE_NAME
namespace: NAMESPACE
spec:
metadata:
description: DESCRIPTION
id: ROLE_ID
scope: SCOPE
stage: LAUNCH_STAGE
title: TITLE
RULES_TYPE:
- RULES_LIST
EOF
Sostituisci quanto segue:
ROLE_NAME: il nome della risorsa Kubernetes del ruolo.NAMESPACE: Lo spazio dei nomi per il ruolo personalizzato. Utilizzaplatformper i ruoli con ambito organizzazione e per più progetti. Utilizza lo spazio dei nomi del progetto (ad esempiomy-project) per ruoli con ambito progetto e singoli progetti.DESCRIPTION: una descrizione dello scopo del ruolo personalizzato.ROLE_ID: l'identificatore univoco per il tuo ruolo personalizzato. Gli ID ruolo personalizzato possono contenere fino a 10 caratteri alfanumerici minuscoli e trattini. Gli ID dei ruoli personalizzati non possono essere modificati dopo la creazione del ruolo.SCOPE: utilizzaorganizationper i ruoli creati nello spazio dei nomiplatform. Utilizzaprojectper i ruoli creati in uno spazio dei nomi del progetto.LAUNCH_STAGE: (Facoltativo) La fase di rilascio del ruolo personalizzato. I valori validi sonoALPHA,BETA,GAoDISABLED. Se questo campo viene omesso, il valore predefinito èALPHA.TITLE: un titolo facile da ricordare per il ruolo personalizzato.RULES_TYPE: questo campo definisce l'ambito delle regole. Sostituisci conglobalRules(per le autorizzazioni nell'API globale) ozonalRules(per le autorizzazioni nell'API zonale). Non puoi utilizzare entrambi nella stessa risorsaCustomRole.RULES_LIST: un elenco rientrato di oggetti regola RBAC Kubernetes standard. Ogni oggetto nell'elenco concede autorizzazioni. Puoi determinare i valori corretti diapiGroups,resourceseverbsesaminando le autorizzazioni all'interno dei ruoli predefiniti utilizzandogdcloud iam roles describe, come mostrato in Visualizzare i ruoli e le relative autorizzazioni.L'esempio seguente mostra la struttura di un singolo elemento all'interno di un oggetto
globalRules:globalRules: - apiGroups: ["storage.global.gdc.goog"] resources: ["buckettypes"] verbs: ["get", "list", "watch"]Puoi includere più elementi nell'elenco, ognuno dei quali definisce un diverso insieme di autorizzazioni.
Gestire un ruolo personalizzato
Sei responsabile della gestione del ciclo di vita dei tuoi ruoli personalizzati. Quando Distributed Cloud aggiunge nuove autorizzazioni, funzionalità o servizi, aggiorna i ruoli predefiniti. Aggiornamenti come l'eliminazione di un ruolo predefinito o la rimozione delle autorizzazioni da un ruolo predefinito possono rendere non funzionali i ruoli personalizzati che si basano su queste autorizzazioni. Devi monitorare questi aggiornamenti e modificare manualmente i ruoli personalizzati interessati per assicurarti che continuino a funzionare come previsto.
Puoi modificare, disattivare o eliminare un ruolo personalizzato, ma non puoi modificare, disattivare o eliminare un ruolo predefinito. Per visualizzare un elenco di tutti i ruoli e delle relative autorizzazioni specifiche, consulta Visualizzare i ruoli e le relative autorizzazioni.
Modifica di un ruolo personalizzato
Modifica un ruolo personalizzato utilizzando la console GDC, gcloud CLI o l'API:
Console
- Accedi alla console GDC.
- Nel selettore di progetti, seleziona l'organizzazione o il progetto in cui vuoi modificare un ruolo personalizzato.
- Nel menu di navigazione, fai clic su Identity & Access Management > Ruoli.
- Dall'elenco dei ruoli, seleziona il ruolo personalizzato che vuoi modificare.
- Nella pagina dei dettagli del ruolo personalizzato, fai clic su Modifica.
- Modifica i dettagli del ruolo personalizzato, ad esempio titolo, descrizione, ID o fase di lancio.
- Se vuoi, aggiungi o rimuovi le autorizzazioni assegnate.
- Fai clic su Aggiungi autorizzazioni per selezionare le autorizzazioni disponibili dall'elenco.
- Per rimuovere un'autorizzazione assegnata, seleziona la casella di controllo accanto all'autorizzazione da rimuovere e fai clic su Rimuovi.
Fai clic su Salva.
Viene visualizzato un messaggio che conferma il salvataggio delle modifiche.
gdcloud
- Assicurati di aver installato gcloud CLI. Per ulteriori informazioni, consulta la pagina Panoramica di gcloud CLI.
Modificare un ruolo personalizzato:
gdcloud iam roles update ROLE_ID \ --title=TITLE \ --description=DESCRIPTION \ --permissions=PERMISSIONS --stage=LAUNCH_STAGESostituisci quanto segue:
ROLE_ID: l'identificatore univoco per il tuo ruolo personalizzato.TITLE: un titolo facile da ricordare per il ruolo personalizzato.DESCRIPTION: una descrizione dello scopo del ruolo personalizzato.PERMISSIONS: un elenco separato da virgole dei permessi che vuoi concedere per il ruolo personalizzato.Per informazioni dettagliate su come trovare le stringhe di autorizzazione corrette, vedi Visualizzare i ruoli e le relative autorizzazioni. Ogni stringa di autorizzazione deve essere formattata in base alle indicazioni in gdcloud iam roles create, dove
iamRoleNameè il nome della risorsa Kubernetes del ruolo predefinito contenente l'autorizzazione. Puoi trovare il nome della risorsa Kubernetes di un ruolo nella pagina Definizioni dei ruoli o utilizzando il comando gdcloud iam roles list.LAUNCH_STAGE: (Facoltativo) La fase di rilascio del ruolo personalizzato. I valori validi sonoALPHA,BETA,GAoDISABLED. Se questo flag viene omesso, il valore predefinito èALPHA.
Consulta gdcloud iam roles update per un elenco completo dei flag obbligatori e facoltativi, nonché esempi di utilizzo.
In alternativa, puoi aggiornare il ruolo personalizzato nel relativo file YAML e utilizzare il flag
--file:gdcloud iam roles update ROLE_ID --file=YAML_FILE_PATHSostituisci
YAML_FILE_PATHcon il percorso del file YAML contenente i flag obbligatori e facoltativi aggiornati. Se utilizzi il flag--file, tutti gli altri flag come--title,--descriptione--permissionsvengono ignorati.
API
Modifica una risorsa personalizzata CustomRole utilizzando kubectl:
kubectl apply -f - <<EOF
apiVersion: iam.global.gdc.goog/v1
kind: CustomRole
metadata:
name: ROLE_NAME
namespace: NAMESPACE
spec:
metadata:
description: DESCRIPTION
id: ROLE_ID
scope: SCOPE
stage: LAUNCH_STAGE
title: TITLE
RULES_TYPE:
- RULES_LIST
EOF
Sostituisci quanto segue:
ROLE_NAME: il nome della risorsa Kubernetes del ruolo.NAMESPACE: Lo spazio dei nomi per il ruolo personalizzato. Utilizzaplatformper i ruoli con ambito organizzazione e per più progetti. Utilizza lo spazio dei nomi del progetto (ad esempiomy-project) per ruoli con ambito progetto e singoli progetti.DESCRIPTION: una descrizione dello scopo del ruolo personalizzato.ROLE_ID: l'identificatore univoco per il tuo ruolo personalizzato. Gli ID ruolo personalizzato possono contenere fino a 10 caratteri alfanumerici minuscoli e trattini. Gli ID dei ruoli personalizzati non possono essere modificati dopo la creazione del ruolo.SCOPE: utilizzaorganizationper i ruoli creati nello spazio dei nomiplatform. Utilizzaprojectper i ruoli creati in uno spazio dei nomi del progetto.LAUNCH_STAGE: (Facoltativo) La fase di rilascio del ruolo personalizzato. I valori validi sonoALPHA,BETA,GAoDISABLED. Se questo campo viene omesso, il valore predefinito èALPHA.TITLE: un titolo facile da ricordare per il ruolo personalizzato.RULES_TYPE: questo campo definisce l'ambito delle regole. Sostituisci conglobalRules(per le autorizzazioni nell'API globale) ozonalRules(per le autorizzazioni nell'API zonale). Non puoi utilizzare entrambi nella stessa risorsaCustomRole.RULES_LIST: un elenco rientrato di oggetti regola RBAC Kubernetes standard. Ogni oggetto nell'elenco concede autorizzazioni. Puoi determinare i valori corretti diapiGroups,resourceseverbsesaminando le autorizzazioni all'interno dei ruoli predefiniti utilizzandogdcloud iam roles describe, come mostrato in Visualizzare i ruoli e le relative autorizzazioni.L'esempio seguente mostra la struttura di un singolo elemento all'interno di un oggetto
globalRules:globalRules: - apiGroups: ["storage.global.gdc.goog"] resources: ["buckettypes"] verbs: ["get", "list", "watch"]Puoi includere più elementi nell'elenco, ognuno dei quali definisce un diverso insieme di autorizzazioni.
Disabilitare un ruolo personalizzato
I ruoli personalizzati disattivati rimangono nell'elenco dei ruoli e possono comunque essere assegnati agli utenti, ma non hanno alcun effetto. Puoi riattivare il ruolo personalizzato in qualsiasi momento.
Disattiva un ruolo personalizzato utilizzando la console GDC, gcloud CLI o l'API:
Console
- Accedi alla console GDC.
- Nel selettore di progetti, seleziona l'organizzazione o il progetto in cui vuoi disattivare un ruolo personalizzato.
- Nel menu di navigazione, fai clic su Identity & Access Management > Ruoli.
- Nell'elenco dei ruoli, seleziona il ruolo personalizzato che vuoi disabilitare.
- Nella pagina dei dettagli del ruolo personalizzato, fai clic su Disattiva.
gdcloud
- Assicurati di aver installato gcloud CLI. Per ulteriori informazioni, consulta la pagina Panoramica di gcloud CLI.
Per disattivare un ruolo personalizzato:
gdcloud iam roles update ROLE_ID --stage=DISABLEDSostituisci quanto segue:
ROLE_ID: l'identificatore univoco per il tuo ruolo personalizzato.
Per ulteriori informazioni, consulta gdcloud iam roles update.
API
Disattiva una risorsa personalizzata CustomRole modificando il campo stage in
DISABLED. Assicurati che tutti gli altri campi corrispondano ai valori attuali del
ruolo personalizzato che vuoi disattivare.
kubectl apply -f - <<EOF
apiVersion: iam.global.gdc.goog/v1
kind: CustomRole
metadata:
name: ROLE_NAME
namespace: NAMESPACE
spec:
metadata:
description: DESCRIPTION
id: ROLE_ID
scope: SCOPE
stage: DISABLED
title: TITLE
RULES_TYPE:
- RULES_LIST
EOF
Sostituisci quanto segue:
ROLE_NAME: il nome della risorsa Kubernetes del ruolo.NAMESPACE: Lo spazio dei nomi per il ruolo personalizzato. Utilizzaplatformper i ruoli con ambito organizzazione e per più progetti. Utilizza lo spazio dei nomi del progetto (ad esempiomy-project) per ruoli con ambito progetto e singoli progetti.DESCRIPTION: una descrizione dello scopo del ruolo personalizzato.ROLE_ID: l'identificatore univoco per il tuo ruolo personalizzato. Gli ID ruolo personalizzato possono contenere fino a 10 caratteri alfanumerici minuscoli e trattini. Gli ID dei ruoli personalizzati non possono essere modificati dopo la creazione del ruolo.SCOPE: utilizzaorganizationper i ruoli creati nello spazio dei nomiplatform. Utilizzaprojectper i ruoli creati in uno spazio dei nomi del progetto.TITLE: un titolo facile da ricordare per il ruolo personalizzato.RULES_TYPE: questo campo definisce l'ambito delle regole. Sostituisci conglobalRules(per le autorizzazioni nell'API globale) ozonalRules(per le autorizzazioni nell'API zonale). Non puoi utilizzare entrambi nella stessa risorsaCustomRole.RULES_LIST: un elenco rientrato di oggetti regola RBAC Kubernetes standard. Ogni oggetto nell'elenco concede autorizzazioni. Puoi determinare i valori corretti diapiGroups,resourceseverbsesaminando le autorizzazioni all'interno dei ruoli predefiniti utilizzandogdcloud iam roles describe, come mostrato in Visualizzare i ruoli e le relative autorizzazioni.L'esempio seguente mostra la struttura di un singolo elemento all'interno di un oggetto
globalRules:globalRules: - apiGroups: ["storage.global.gdc.goog"] resources: ["buckettypes"] verbs: ["get", "list", "watch"]Puoi includere più elementi nell'elenco, ognuno dei quali definisce un diverso insieme di autorizzazioni.
Eliminazione di un ruolo personalizzato
I ruoli eliminati vengono rimossi definitivamente dal sistema, ma puoi crearne uno nuovo con lo stesso nome.
Elimina un ruolo personalizzato utilizzando gcloud CLI o l'API:
gdcloud
- Assicurati di aver installato gcloud CLI. Per ulteriori informazioni, consulta la pagina Panoramica di gcloud CLI.
Elimina un ruolo personalizzato:
gdcloud iam roles delete ROLE_ID --project=PROJECTSostituisci quanto segue:
ROLE_ID: l'identificatore univoco per il tuo ruolo personalizzato.PROJECT: lo spazio dei nomi del progetto in cui vuoi eliminare il ruolo personalizzato. Se il flag--projectnon è specificato, il ruolo con ambito organizzazione viene eliminato.
Per ulteriori informazioni ed esempi di utilizzo, vedi gdcloud iam roles delete.
API
Elimina una risorsa personalizzata CustomRole utilizzando kubectl:
kubectl delete -f CUSTOM_ROLE
Sostituisci CUSTOM_ROLE con il percorso del file YAML CustomRole. Si tratta dello stesso file che hai utilizzato per creare o
aggiornare il ruolo.