Creare un ruolo personalizzato

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 --permissions quando 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

  1. Accedi alla console GDC.
  2. Nel selettore di progetti, seleziona l'organizzazione o il progetto in cui vuoi visualizzare i ruoli.
  3. Nel menu di navigazione, fai clic su Identity & Access Management > Ruoli.

    Viene visualizzato un elenco di ruoli predefiniti e personalizzati disponibili.

  4. 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

  1. Assicurati di aver installato gcloud CLI. Per ulteriori informazioni, consulta la pagina Panoramica di gcloud CLI.
  2. Elenca i ruoli disponibili:

    gdcloud iam roles list ROLE_TYPE \
      --project=PROJECT
    

    Sostituisci quanto segue:

    • ROLE_TYPE: il tipo di ruoli da elencare. I valori validi sono predefined, custom o all.
    • PROJECT: lo spazio dei nomi del progetto in cui vuoi visualizzare i ruoli. Ometti il flag --project per i ruoli con ambito organizzazione.
  3. Visualizza le autorizzazioni specifiche all'interno di un ruolo:

    gdcloud iam roles describe ROLE_NAME \
      --project=PROJECT
    

    Sostituisci 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 --project per 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

  1. Accedi alla console GDC.
  2. Nel selettore di progetti, seleziona l'organizzazione o il progetto in cui vuoi creare un ruolo personalizzato.
  3. Nel menu di navigazione, fai clic su Identity & Access Management > Ruoli.
  4. Fai clic su Crea ruolo personalizzato.
  5. Nel campo Titolo, inserisci il titolo del ruolo personalizzato.
  6. Nel campo Descrizione, fornisci una descrizione dello scopo del ruolo personalizzato.
  7. 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.

  8. Seleziona una Fase di lancio.

  9. 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.

  10. Fai clic su Aggiungi autorizzazioni.

  11. 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.

  12. Fai clic su Salva.

  13. Fai clic su Crea.

    Il nuovo ruolo personalizzato viene visualizzato nella pagina Ruoli.

gdcloud

  1. Assicurati di aver installato gcloud CLI. Per ulteriori informazioni, consulta la pagina Panoramica di gcloud CLI.
  2. Per creare un ruolo personalizzato:

    gdcloud iam roles create ROLE_ID \
      --title=TITLE \
      --description=DESCRIPTION \
      --permissions=PERMISSIONS
      --stage=LAUNCH_STAGE
    

    Sostituisci 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 sono ALPHA, BETA, GA o DISABLED. 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_PATH
    

    Sostituisci YAML_FILE_PATH con il percorso del file YAML contenente i flag obbligatori e facoltativi. Se utilizzi il flag --file, tutti gli altri flag come --title, --description e --permissions vengono 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. Utilizza platform per i ruoli con ambito organizzazione e per più progetti. Utilizza lo spazio dei nomi del progetto (ad esempio my-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: utilizza organization per i ruoli creati nello spazio dei nomi platform. Utilizza project per i ruoli creati in uno spazio dei nomi del progetto.
  • LAUNCH_STAGE: (Facoltativo) La fase di rilascio del ruolo personalizzato. I valori validi sono ALPHA, BETA, GA o DISABLED. 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 con globalRules (per le autorizzazioni nell'API globale) o zonalRules (per le autorizzazioni nell'API zonale). Non puoi utilizzare entrambi nella stessa risorsa CustomRole.
  • RULES_LIST: un elenco rientrato di oggetti regola RBAC Kubernetes standard. Ogni oggetto nell'elenco concede autorizzazioni. Puoi determinare i valori corretti di apiGroups, resources e verbs esaminando le autorizzazioni all'interno dei ruoli predefiniti utilizzando gdcloud 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

  1. Accedi alla console GDC.
  2. Nel selettore di progetti, seleziona l'organizzazione o il progetto in cui vuoi modificare un ruolo personalizzato.
  3. Nel menu di navigazione, fai clic su Identity & Access Management > Ruoli.
  4. Dall'elenco dei ruoli, seleziona il ruolo personalizzato che vuoi modificare.
  5. Nella pagina dei dettagli del ruolo personalizzato, fai clic su Modifica.
  6. Modifica i dettagli del ruolo personalizzato, ad esempio titolo, descrizione, ID o fase di lancio.
  7. Se vuoi, aggiungi o rimuovi le autorizzazioni assegnate.
    1. Fai clic su Aggiungi autorizzazioni per selezionare le autorizzazioni disponibili dall'elenco.
    2. Per rimuovere un'autorizzazione assegnata, seleziona la casella di controllo accanto all'autorizzazione da rimuovere e fai clic su Rimuovi.
  8. Fai clic su Salva.

    Viene visualizzato un messaggio che conferma il salvataggio delle modifiche.

gdcloud

  1. Assicurati di aver installato gcloud CLI. Per ulteriori informazioni, consulta la pagina Panoramica di gcloud CLI.
  2. Modificare un ruolo personalizzato:

    gdcloud iam roles update ROLE_ID \
      --title=TITLE \
      --description=DESCRIPTION \
      --permissions=PERMISSIONS
      --stage=LAUNCH_STAGE
    

    Sostituisci 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 sono ALPHA, BETA, GA o DISABLED. 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_PATH
    

    Sostituisci YAML_FILE_PATH con il percorso del file YAML contenente i flag obbligatori e facoltativi aggiornati. Se utilizzi il flag --file, tutti gli altri flag come --title, --description e --permissions vengono 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. Utilizza platform per i ruoli con ambito organizzazione e per più progetti. Utilizza lo spazio dei nomi del progetto (ad esempio my-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: utilizza organization per i ruoli creati nello spazio dei nomi platform. Utilizza project per i ruoli creati in uno spazio dei nomi del progetto.
  • LAUNCH_STAGE: (Facoltativo) La fase di rilascio del ruolo personalizzato. I valori validi sono ALPHA, BETA, GA o DISABLED. 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 con globalRules (per le autorizzazioni nell'API globale) o zonalRules (per le autorizzazioni nell'API zonale). Non puoi utilizzare entrambi nella stessa risorsa CustomRole.
  • RULES_LIST: un elenco rientrato di oggetti regola RBAC Kubernetes standard. Ogni oggetto nell'elenco concede autorizzazioni. Puoi determinare i valori corretti di apiGroups, resources e verbs esaminando le autorizzazioni all'interno dei ruoli predefiniti utilizzando gdcloud 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

  1. Accedi alla console GDC.
  2. Nel selettore di progetti, seleziona l'organizzazione o il progetto in cui vuoi disattivare un ruolo personalizzato.
  3. Nel menu di navigazione, fai clic su Identity & Access Management > Ruoli.
  4. Nell'elenco dei ruoli, seleziona il ruolo personalizzato che vuoi disabilitare.
  5. Nella pagina dei dettagli del ruolo personalizzato, fai clic su Disattiva.

gdcloud

  1. Assicurati di aver installato gcloud CLI. Per ulteriori informazioni, consulta la pagina Panoramica di gcloud CLI.
  2. Per disattivare un ruolo personalizzato:

    gdcloud iam roles update ROLE_ID --stage=DISABLED
    

    Sostituisci 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. Utilizza platform per i ruoli con ambito organizzazione e per più progetti. Utilizza lo spazio dei nomi del progetto (ad esempio my-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: utilizza organization per i ruoli creati nello spazio dei nomi platform. Utilizza project per 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 con globalRules (per le autorizzazioni nell'API globale) o zonalRules (per le autorizzazioni nell'API zonale). Non puoi utilizzare entrambi nella stessa risorsa CustomRole.
  • RULES_LIST: un elenco rientrato di oggetti regola RBAC Kubernetes standard. Ogni oggetto nell'elenco concede autorizzazioni. Puoi determinare i valori corretti di apiGroups, resources e verbs esaminando le autorizzazioni all'interno dei ruoli predefiniti utilizzando gdcloud 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

  1. Assicurati di aver installato gcloud CLI. Per ulteriori informazioni, consulta la pagina Panoramica di gcloud CLI.
  2. Elimina un ruolo personalizzato:

    gdcloud iam roles delete ROLE_ID --project=PROJECT
    

    Sostituisci 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 --project non è 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.