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 i set di autorizzazioni standard disponibili nei ruoli predefiniti, consentendoti di configurare le autorizzazioni in modo che soddisfino i 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 alla tua organizzazione, a tutti i progetti o di limitarle a progetti specifici.
- Personalizza l'accesso granulare: seleziona una o più autorizzazioni già disponibili tramite i ruoli predefiniti per personalizzare l'accesso ad attività o responsabilità specifiche.
I ruoli personalizzati sono vincolati dall'ambito in cui vengono creati. L'accesso al ruolo personalizzato può essere concesso solo all'interno della stessa organizzazione o dello stesso progetto in cui è stato creato il ruolo personalizzato.
Questa pagina è rivolta ai membri del gruppo di amministratori della piattaforma, come amministratori IT o tecnici della sicurezza, che vogliono gestire in modo sicuro l'accesso alle risorse dell'organizzazione. Per saperne di più, consulta la documentazione sui segmenti di pubblico per GDC con air gap.
Per saperne di più sui ruoli, consulta Descrizioni dei ruoli predefiniti e Definizioni dei ruoli.
Prima di iniziare
Prima di creare o gestire ruoli personalizzati, devi richiedere le autorizzazioni necessarie e preparare l'ambiente.
Richiedi ruoli IAM dell'organizzazione
Per creare, aggiornare ed eliminare ruoli personalizzati in un'organizzazione o all'interno di un progetto, contatta l'amministratore dell'organizzazione IAM per richiedere il ruolo Amministratore dell'organizzazione con ruoli personalizzati (custom-role-org-admin).
Scopri di più sull'assegnazione delle autorizzazioni dei ruoli per le organizzazioni.
Richiedi ruoli IAM per il progetto
Per creare, aggiornare ed eliminare ruoli personalizzati all'interno di un progetto specifico, contatta l'amministratore del progetto IAM per richiedere il ruolo Custom Role Project Admin (custom-role-project-admin).
Scopri di più sull'assegnazione delle autorizzazioni dei ruoli per i progetti.
prepara l'ambiente
Per utilizzare gli strumenti a riga di comando per creare o gestire ruoli personalizzati, completa la seguente configurazione:
Scarica e installa l'interfaccia a riga di comando gdcloud, se non l'hai ancora fatto.
Per utilizzare l'API con
kubectl, è necessaria una configurazione aggiuntiva:- Installa l'interfaccia a riga di comando kubectl.
- Genera il file kubeconfig per il server API globale
per configurare l'accesso a
kubectl.
Visualizza 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 (sia predefiniti che personalizzati) e visualizzare le relative autorizzazioni. 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 l'interfaccia a riga di comando gdcloud 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 la CLI gdcloud:
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 Identità e accesso > Ruoli.
Viene visualizzato un elenco dei 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 corrente (organizzazione o progetto) sono quelle disponibili per essere incluse in un nuovo ruolo personalizzato.
gdcloud
- Assicurati di aver installato la CLI gdcloud. Per saperne di più, consulta la pagina Panoramica di gdcloud CLI.
Elenca i ruoli disponibili:
gdcloud iam roles list \ --type=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 a livello di 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 ruoloPROJECT: lo spazio dei nomi del progetto in cui vuoi visualizzare le autorizzazioni del ruolo. Ometti il flag--projectper i ruoli con ambito a livello di 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, la CLI gdcloud 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 Identità e accesso > 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 ruolo personalizzato.
Gli ID dei ruoli 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 si applica 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 quali progetti possono 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 tuo 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 la CLI gdcloud. Per saperne di più, consulta la pagina Panoramica di gdcloud CLI.
Crea 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 del tuo ruolo personalizzato. Gli ID ruolo personalizzati possono contenere fino a 10 caratteri alfanumerici minuscoli e possono includere trattini. Gli ID dei ruoli personalizzati non possono essere modificati dopo la creazione del ruolo.TITLE: un titolo facile da usare per il ruolo personalizzatoDESCRIPTION: una descrizione dello scopo del ruolo personalizzatoPERMISSIONS: un elenco separato da virgole delle autorizzazioni che vuoi concedere per il ruolo personalizzatoPer informazioni dettagliate su come trovare le stringhe di autorizzazione corrette, consulta Visualizza i ruoli e le relative autorizzazioni. Ogni stringa di autorizzazione deve essere formattata in base alle indicazioni riportate 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é per 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 ruoloNAMESPACE: lo spazio dei nomi per il ruolo personalizzato. Utilizzaplatformper i ruoli con ambito a livello di organizzazione e per più progetti. Utilizza lo spazio dei nomi del progetto (ad esempiomy-project) per i ruoli con ambito a livello di progetto e per i singoli progetti.DESCRIPTION: una descrizione dello scopo del ruolo personalizzatoROLE_ID: l'identificatore univoco del tuo ruolo personalizzato. Gli ID ruolo personalizzati possono contenere fino a 10 caratteri alfanumerici minuscoli e possono includere 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 usare per il ruolo personalizzatoRULES_TYPE: l'ambito delle regole. Sostituisci conglobalRules(per le autorizzazioni nell'API globale),zonalRules(per le autorizzazioni nell'API di zona) o entrambi.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 Visualizza 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 insieme diverso di autorizzazioni.
Gestisci 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. Gli aggiornamenti come l'eliminazione di un ruolo predefinito o la rimozione delle autorizzazioni da un ruolo predefinito possono rendere non funzionanti 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 Visualizza i ruoli e le relative autorizzazioni.
Modifica di un ruolo personalizzato
Modifica un ruolo personalizzato utilizzando la console GDC, la CLI gdcloud 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 Identità e accesso > 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.
- Facoltativamente, aggiungi o rimuovi le autorizzazioni assegnate.
- Fai clic su Aggiungi autorizzazioni per selezionare dall'elenco delle autorizzazioni disponibili.
- Per rimuovere un'autorizzazione assegnata, seleziona la casella di controllo accanto all'autorizzazione che vuoi 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 la CLI gdcloud. Per saperne di più, consulta la pagina Panoramica di gdcloud CLI.
Modifica 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 del tuo ruolo personalizzatoTITLE: un titolo facile da usare per il ruolo personalizzatoDESCRIPTION: una descrizione dello scopo del ruolo personalizzatoPERMISSIONS: un elenco separato da virgole delle autorizzazioni che vuoi concedere per il ruolo personalizzatoPer informazioni dettagliate su come trovare le stringhe di autorizzazione corrette, consulta Visualizza i ruoli e le relative autorizzazioni. Ogni stringa di autorizzazione deve essere formattata in base alle indicazioni riportate 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é per 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 ruoloNAMESPACE: lo spazio dei nomi per il ruolo personalizzato. Utilizzaplatformper i ruoli con ambito a livello di organizzazione e per più progetti. Utilizza lo spazio dei nomi del progetto (ad esempiomy-project) per i ruoli con ambito a livello di progetto e per i singoli progetti.DESCRIPTION: una descrizione dello scopo del ruolo personalizzatoROLE_ID: l'identificatore univoco del tuo ruolo personalizzato. Gli ID ruolo personalizzati possono contenere fino a 10 caratteri alfanumerici minuscoli e possono includere 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 usare per il ruolo personalizzatoRULES_TYPE: l'ambito delle regole. Sostituisci conglobalRules(per le autorizzazioni nell'API globale),zonalRules(per le autorizzazioni nell'API di zona) o entrambi.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 Visualizza 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 insieme diverso di autorizzazioni.
Disabilita 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.
Disabilita un ruolo personalizzato utilizzando la console GDC, la CLI gdcloud o l'API:
Console
- Accedi alla console GDC.
- Nel selettore di progetti, seleziona l'organizzazione o il progetto in cui vuoi disabilitare un ruolo personalizzato.
- Nel menu di navigazione, fai clic su Identità e accesso > 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 la CLI gdcloud. Per saperne di più, consulta la pagina Panoramica di gdcloud CLI.
Disabilita un ruolo personalizzato:
gdcloud iam roles update ROLE_ID --stage=DISABLEDSostituisci quanto segue:
ROLE_ID: l'identificatore univoco del tuo ruolo personalizzato
Per saperne di più, 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 correnti 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 ruoloNAMESPACE: lo spazio dei nomi per il ruolo personalizzato. Utilizzaplatformper i ruoli con ambito a livello di organizzazione e per più progetti. Utilizza lo spazio dei nomi del progetto (ad esempiomy-project) per i ruoli con ambito a livello di progetto e per i singoli progetti.DESCRIPTION: una descrizione dello scopo del ruolo personalizzatoROLE_ID: l'identificatore univoco del tuo ruolo personalizzato. Gli ID ruolo personalizzati possono contenere fino a 10 caratteri alfanumerici minuscoli e possono includere 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 usare per il ruolo personalizzatoRULES_TYPE: l'ambito delle regole. Sostituisci conglobalRules(per le autorizzazioni nell'API globale),zonalRules(per le autorizzazioni nell'API di zona) o entrambi.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 Visualizza 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 insieme diverso di autorizzazioni.
Eliminazione di un ruolo personalizzato
I ruoli eliminati vengono rimossi definitivamente dal sistema, ma puoi creare un nuovo ruolo con lo stesso nome.
Elimina un ruolo personalizzato utilizzando la CLI gdcloud o l'API:
gdcloud
- Assicurati di aver installato la CLI gdcloud. Per saperne di più, consulta la pagina Panoramica di gdcloud CLI.
Elimina un ruolo personalizzato:
gdcloud iam roles delete ROLE_ID --project=PROJECTSostituisci quanto segue:
ROLE_ID: l'identificatore univoco del tuo ruolo personalizzatoPROJECT: lo spazio dei nomi del progetto in cui vuoi eliminare il ruolo personalizzato. Se il flag--projectnon è specificato, viene eliminato il ruolo con ambito a livello di organizzazione.
Per ulteriori informazioni ed esempi di utilizzo, consulta 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.