Gestire l'identità e l'accesso per il progetto

Questa pagina descrive le pratiche di Identity and Access Management (IAM) per l'operatore di applicazioni (AO) sull'appliance air-gapped Google Distributed Cloud (GDC).

Un provider di identità (IdP) è un'entità di sistema che crea, gestisce e amministra le informazioni sull'identità per i principal. L'IdP fornisce anche servizi di autenticazione alle applicazioni all'interno di una federazione o di una rete distribuita.

Accedi

Questa sezione descrive come accedere ai tuoi workload tramite l'interfaccia utente web o l'interfaccia a riga di comando.

Accedere all'interfaccia utente web

Questa pagina descrive come accedere e gestire i tuoi carichi di lavoro e le tue risorse all'interno dell'appliance air-gap di Google Distributed Cloud (GDC). Descrive come autenticarsi, generare file kubeconfig sia per un server API Management sia per un cluster Kubernetes e gestire l'inattività della sessione. La comprensione di questi processi garantisce un accesso sicuro e affidabile ai tuoi progetti e workload.

Accedi ai tuoi carichi di lavoro tramite la console GDC o gdcloud CLI.

Accedi

Per accedere alla console GDC o a un cluster, segui questi passaggi:

Console

Apri il seguente URL in una nuova scheda del browser per accedere all'interfaccia utente (UI) dell'appliance GDC air-gapped:

https://GDC_URL

Sostituisci GDC_URL con il nome di dominio che utilizzi per accedere a GDC fornito dall'operatore dell'infrastruttura (IO). Quando apri un URL per la prima volta, GDC ti reindirizza alla pagina di accesso del tuo provider di identità se l'operatore dell'infrastruttura (IO) ha configurato la pagina.

Ad esempio, la seguente pagina viene visualizzata dopo l'accesso alla console per un'organizzazione denominata `org-1: Console che mostra la schermata di benvenuto per il progetto org-1.

Interfaccia a riga di comando

Puoi accedere a qualsiasi cluster per cui disponi dell'autorizzazione. La procedura di accesso alla CLI per tutti i cluster è la stessa. Devi fornire solo il nome del cluster e il relativo file kubeconfig e accedere separatamente a ogni cluster.

Prima di accedere, assicurati di:

  • Scarica il file binario di gcloud CLI e installalo nel sistema. Per saperne di più, vedi Scaricare gcloud CLI.
  • Configura e inizializza la configurazione predefinita di gcloud CLI. Assicurati di impostare l'URL dell'organizzazione corretto, che viene utilizzato per recuperare l'endpoint di configurazione di accesso. Per saperne di più, consulta la sezione Installazione di gcloud CLI.
  • Installa il plug-in di autenticazione gdcloud-k8s-auth-plugin. Per ulteriori informazioni, consulta Autenticazione di gcloud CLI.

Per accedere a un cluster:

  1. Autentica l'istanza di gcloud CLI per accedere. Esistono due modi per autenticarsi:

    • Accesso standard al browser:utilizza questo flusso di autenticazione quando accedi da un browser.

      gdcloud auth login
      
    • Accesso da un dispositivo secondario:utilizza questo flusso di autenticazione se il tuo dispositivo principale non dispone di un browser. Questo flusso avvia l'accesso sul dispositivo principale senza accesso al browser e continua l'accesso con il dispositivo secondario che ha accesso al browser.

      1. Avvia l'accesso sul tuo dispositivo principale senza browser:

        gdcloud auth login --no-browser
        

        Il comando nel dispositivo principale stampa un altro comando gdcloud che devi eseguire sul dispositivo secondario nel passaggio c.

      2. Ripeti il passaggio 1 di Accedi a un cluster per scaricare il certificato sul dispositivo secondario.

      3. Completa l'accesso sul dispositivo secondario inserendo il comando stampato sul dispositivo principale nel passaggio a.

    Questa azione apre un browser per accedere al provider di identità (IdP) configurato. Fornisci l'utente e la password che hai impostato durante la configurazione iniziale di gcloud CLI per accedere.

  2. Esporta il file kubeconfig dell'identità utente come variabile:

    export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
    
  3. Genera un file kubeconfig con l'identità utente:

    gdcloud clusters get-credentials CLUSTER_NAME
    

    Viene generato un file kubeconfig con la tua identità utente. Il seguente file YAML mostra un esempio:

    apiVersion: v1
    clusters:
    - cluster:
        certificate-authority-data: <REDACTED>
        server: https://10.200.0.32:443
      name: cluster-name
    contexts:
    - context:
        cluster: cluster-name
        user: cluster-name-anthos-default-user
      name: cluster-name-cluster-name-anthos-default-user
    current-context: cluster-name-cluster-name-anthos-default-user
    kind: Config
    preferences: {}
    users:
    - name: cluster-name-anthos-default-user
      user:
        exec:
            apiVersion: client.authentication.k8s.io/v1
            args:
            - --audience=root-admin
            command: gdcloud-k8s-auth-plugin
            env: null
            installHint: Run 'gdcloud components install gdcloud-k8s-auth-plugin' to use plugin
            interactiveMode: Never
            provideClusterInfo: false
    
  4. Per verificare di poter accedere al cluster, accedi con il file kubeconfig generato con un'identità utente:

    kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
    

Esci

Per uscire dalla console GDC:

Console

Fai clic su Disconnetti nella barra dei menu.

Interfaccia a riga di comando

Esci dalla CLI:

gdcloud auth revoke

Generare manualmente il file kubeconfig

Se gestisci le risorse con la CLI kubectl chiamando direttamente le API KRM, devi generare il file kubeconfig per il cluster che ospita la risorsa, a seconda del tipo di risorsa che stai gestendo. Consulta la documentazione della risorsa per determinare il file kubeconfig di cui hai bisogno.

Completa la configurazione applicabile in base al tipo di risorsa.

Risorse del server API di gestione

Completa i seguenti passaggi per generare il file kubeconfig per il server API Management:

  1. Imposta la variabile di ambiente MANAGEMENT_API_SERVER:

    export MANAGEMENT_API_SERVER="root-admin"
    
  2. Genera il file kubeconfig del server API Management e convalida le credenziali:

    export KUBECONFIG=${HOME}/${MANAGEMENT_API_SERVER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${MANAGEMENT_API_SERVER:?}
    [[ $(kubectl config current-context) == *${MANAGEMENT_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    Il comando rm ${KUBECONFIG:?} rimuove il file kubeconfig esistente nella home directory. Quando generi un nuovo file kubeconfig, quello esistente viene sovrascritto. Se non vuoi sovrascrivere o rimuovere il file esistente, esegui il backup in un'altra posizione sicura.

Risorse del cluster Kubernetes

Completa i seguenti passaggi per generare il file kubeconfig per il cluster Kubernetes Bare Metal:

  1. Imposta la variabile di ambiente KUBERNETES_CLUSTER:

    export KUBERNETES_CLUSTER="root-infra"
    
  2. Genera il file kubeconfig del cluster Kubernetes e convalida le credenziali:

    export KUBECONFIG=${HOME}/${KUBERNETES_CLUSTER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${KUBERNETES_CLUSTER:?}
    [[ $(kubectl config current-context) == *${KUBERNETES_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    Il comando rm ${KUBECONFIG:?} rimuove il file kubeconfig esistente nella home directory. Quando generi un nuovo file kubeconfig, quello esistente viene sovrascritto. Se non vuoi sovrascrivere o rimuovere il file esistente, esegui il backup in un'altra posizione sicura.

Disconnessione per inattività della sessione

Dopo quindici o più minuti di inattività in una sessione, la console GDC e gcloud CLI ti disconnettono. GDC considera l'inattività della sessione come un periodo durante una sessione aperta senza coinvolgimento attivo da parte tua, ad esempio nessun movimento del cursore o della tastiera. Una sessione attiva dura fino a 12 ore con l'attività dell'utente.

Console

Per inattività della sessione, la console GDC ti disconnette. Due minuti prima che la console GDC ti disconnetta per inattività, ricevi una finestra di dialogo che ti avvisa della disconnessione:

Interfaccia utente della console che mostra una finestra di dialogo con un timer di 99 secondi prima di disconnettere l&#39;utente per inattività.

Dopo la disconnessione per inattività, viene visualizzata la seguente schermata:

Interfaccia utente della console che mostra la schermata di accesso con un banner contenente il testo relativo alla disconnessione dalla sessione: &quot;Il tuo account è stato disconnesso dal sistema perché la sessione è rimasta inattiva troppo a lungo. Accedi di nuovo o contatta l&#39;amministratore per ricevere assistenza.&quot;

Per accedere di nuovo alla console GDC, seleziona il tuo identity provider e aggiungi le tue credenziali di accesso. Se utilizzi un servizio, ad esempio la dashboard di monitoraggio, e la console GDC ti disconnette per inattività, accedi di nuovo per ottenere l'accesso.

Interfaccia a riga di comando

Per inattività della sessione, gcloud CLI ti disconnette. Dopo che gcloud CLI ti disconnette e provi a eseguire un comando, ricevi un errore di autorizzazione:

Error: error when creating kube client: unable to create k8sclient: Unauthorized

Per accedere nuovamente a gcloud CLI, segui i passaggi della CLI descritti in Accedi.

kubectl

L'interfaccia a riga di comando gdcloud fa scadere i file kubeconfig dopo l'inattività della sessione. Se tenti di eseguire un comando kubectl dopo un periodo di inattività, ricevi un errore di autorizzazione:

error: You must be logged in to the server (Unauthorized)

Per accedere di nuovo e utilizzare il file kubeconfig, segui i passaggi della CLI descritti in Accedi. Per ogni timeout della sessione, devi rigenerare i file kubeconfig.

Imposta criteri di autorizzazione IAM

Descrizioni dei ruoli predefiniti

Un operatore di applicazioni (AO) è un membro del team di sviluppo all'interno dell'organizzazione dell'amministratore della piattaforma (PA). Le AO interagiscono con le risorse a livello di progetto. Puoi assegnare i seguenti ruoli predefiniti ai membri del team:

  • Amministratore IAM progetto:gestisce i criteri di autorizzazione IAM dei progetti.
  • AI OCR Developer: accedi al servizio di riconoscimento ottico dei caratteri per rilevare il testo nelle immagini.
  • AI Speech Developer: accedi al servizio Speech-to-Text per riconoscere la voce e trascrivere l'audio.
  • Sviluppatore AI Translation: accedi al servizio Vertex AI Translation per tradurre il testo.
  • Amministratore della gestione degli artefatti: dispone dell'accesso amministrativo alle risorse in tutti i progetti Harbor nello spazio dei nomi del progetto.
  • Editor di gestione degli artefatti: ha accesso in lettura e scrittura alle risorse in tutti i progetti Harbor nello spazio dei nomi del progetto.
  • Amministratore Certificate Authority Service: ha accesso alla gestione di autorità di certificazione e richieste di certificati nel proprio progetto.
  • Amministratore del servizio di certificati: ha accesso alla gestione dei certificati e degli emittenti di certificati nel proprio progetto.
  • Editor dashboard: ha accesso in lettura e scrittura alle risorse personalizzate Dashboard.
  • Visualizzatore dashboard: dispone dell'accesso di sola lettura alle risorse personalizzate Dashboard.
  • Amministratore istanza Harbor: ha accesso completo alla gestione delle istanze Harbor in un progetto.
  • Visualizzatore istanze Harbor: dispone dell'accesso di sola lettura per visualizzare le istanze Harbor in un progetto.
  • Creatore di progetti Harbor: ha accesso per gestire i progetti dell'istanza Harbor.
  • Amministratore criteri di rete K8s: gestisce i criteri di rete nei cluster Kubernetes.
  • LoggingRule Creator: crea risorse personalizzate LoggingRule nello spazio dei nomi del progetto.
  • Editor LoggingRule: modifica le risorse personalizzate LoggingRule nello spazio dei nomi del progetto.
  • Visualizzatore LoggingRule: visualizza le risorse personalizzate LoggingRule nello spazio dei nomi del progetto.
  • LoggingTarget Creator: crea risorse personalizzate LoggingTarget nello spazio dei nomi del progetto.
  • LoggingTarget Editor: modifica le risorse personalizzate LoggingTarget nello spazio dei nomi del progetto.
  • LoggingTarget Viewer: visualizza le risorse personalizzate LoggingTarget nello spazio dei nomi del progetto.
  • Amministratore del bilanciatore del carico: dispone delle autorizzazioni di lettura e scrittura su tutte le risorse del bilanciatore del carico nello spazio dei nomi del progetto.
  • Editor regole di monitoraggio: ha accesso in lettura e scrittura alle risorse MonitoringRule.
  • Visualizzatore MonitoringRule: dispone dell'accesso in sola lettura alle risorse personalizzate MonitoringRule.
  • Editor MonitoringTarget: ha accesso in lettura e scrittura alle risorse personalizzate MonitoringTarget.
  • Visualizzatore MonitoringTarget: dispone dell'accesso in sola lettura alle risorse personalizzate MonitoringTarget.
  • Visualizzatore NAT: dispone dell'accesso in sola lettura ai deployment nei cluster Kubernetes.
  • Amministratore spazio dei nomi: gestisce tutte le risorse all'interno dello spazio dei nomi del progetto.
  • Editor pipeline di osservabilità: ha accesso in lettura e scrittura alle risorse personalizzate ObservabilityPipeine.
  • Visualizzatore ObservabilityPipeline: dispone dell'accesso di sola lettura alle risorse personalizzate ObservabilityPipeline.
  • Amministratore bucket progetto: gestisce i bucket di archiviazione e gli oggetti all'interno dei bucket.
  • Amministratore oggetti bucket progetto: dispone dell'accesso di sola lettura ai bucket all'interno di un progetto e dell'accesso in lettura/scrittura agli oggetti in questi bucket.
  • Visualizzatore oggetti bucket progetto: dispone dell'accesso di sola lettura ai bucket all'interno di un progetto e agli oggetti in questi bucket.
  • Editor di Project Cortex Alertmanager: concede le autorizzazioni per modificare l'istanza di Cortex Alertmanager nello spazio dei nomi del progetto.
  • Visualizzatore di Project Cortex Alertmanager: concede le autorizzazioni per accedere all'istanza di Cortex Alertmanager nello spazio dei nomi del progetto.
  • Project Cortex Prometheus Viewer: concede le autorizzazioni per accedere all'istanza Cortex Prometheus nello spazio dei nomi del progetto.
  • Visualizzatore Grafana del progetto: accede all'istanza Grafana nello spazio dei nomi del progetto del cluster di amministrazione del parco risorse.
  • Amministratore NetworkPolicy progetto:gestisce le policy di rete del progetto nello spazio dei nomi del progetto.
  • Visualizzatore progetto:ha accesso di sola lettura a tutte le risorse all'interno degli spazi dei nomi del progetto.
  • Amministratore VirtualMachine progetto: gestisce le VM nello spazio dei nomi del progetto.
  • Amministratore immagini macchina virtuale progetto: gestisce le immagini VM nello spazio dei nomi del progetto.
  • Amministratore dei secret: gestisce i secret Kubernetes nei progetti.
  • Visualizzatore secret: visualizza i secret Kubernetes nei progetti.
  • Amministratore configurazione servizio: ha accesso in lettura e scrittura alle configurazioni del servizio all'interno di uno spazio dei nomi del progetto.
  • Visualizzatore configurazione servizio: dispone dell'accesso in lettura alle configurazioni di servizio all'interno di uno spazio dei nomi del progetto.
  • Amministratore della replica del volume: gestisce le risorse di replica del volume.
  • Amministratore di Workbench Notebooks: ottieni l'accesso in lettura e scrittura a tutte le risorse notebook all'interno di uno spazio dei nomi del progetto.
  • Visualizzatore notebook Workbench: ottieni l'accesso in sola lettura a tutte le risorse del notebook all'interno di uno spazio dei nomi del progetto e visualizza l'interfaccia utente di Vertex AI Workbench.
  • Visualizzatore workload: dispone dell'accesso in lettura ai workload in un progetto.

Ruoli comuni

I seguenti ruoli comuni predefiniti si applicano a tutti gli utenti autenticati:

  • AI Platform Viewer: concede le autorizzazioni per visualizzare i servizi pre-addestrati.
  • Visualizzatore suffissi DNS: accede alla mappa di configurazione del suffisso del servizio di nomi di dominio (DNS).
  • Amministratore log di flusso: ha accesso in lettura e scrittura a tutte le risorse dei log di flusso.
  • Visualizzatore log di flusso: dispone dell'accesso di sola lettura a tutte le risorse di log di flusso.
  • Visualizzatore di Project Discovery: dispone dell'accesso in lettura per tutti gli utenti autenticati alla visualizzazione del progetto.
  • Visualizzatore immagini pubbliche: dispone dell'accesso in lettura per tutti gli utenti autenticati alle immagini VM pubbliche nello spazio dei nomi vm-images.
  • System Artifact Registry anthos-creds secret Monitor: dispone dell'accesso in sola lettura ai secret nello spazio dei nomi anthos-creds.
  • System Artifact Registry gpc-system secret Monitor: dispone dell'accesso in sola lettura ai secret nello spazio dei nomi gpc-system.
  • Monitoraggio secret harbor-system di System Artifact Registry: ha accesso in sola lettura ai secret nello spazio dei nomi harbor-system.
  • Visualizzatore del tipo di macchina virtuale: dispone dell'accesso in lettura ai tipi di macchine virtuali con ambito cluster.
  • Visualizzatore tipi di VM: dispone dell'accesso in lettura ai tipi di macchine virtuali predefiniti nei cluster di amministrazione.

Definizioni dei ruoli

Le tabelle di questa sezione descrivono i diversi ruoli predefiniti e le relative autorizzazioni. Le tabelle contengono le seguenti colonne:

  • Nome:il nome di un ruolo visualizzato nell'interfaccia utente.
  • Nome risorsa Kubernetes:il nome della risorsa personalizzata Kubernetes corrispondente.
  • Livello:la specifica che indica se questo ruolo è limitato all'organizzazione o a un progetto.
  • Type: il tipo di questo ruolo. Ad esempio, alcuni valori possibili sono Role, ProjectRole, ClusterRole o ProjectClusterRole.
  • Tipo di binding:il tipo di binding che devi applicare a questo ruolo.
  • Autorizzazioni del server API di gestione o del cluster Kubernetes: le autorizzazioni che questo ruolo ha per il server API di gestione o per il cluster Kubernetes. Ad esempio, alcuni valori possibili sono lettura, scrittura, lettura e scrittura o non applicabile (N/A).
  • Riassegnazione a: la specifica se questo ruolo viene riassegnato ad altri ruoli o meno.

Persona AO, identità predefinita e ruoli di accesso

AO persona
Nome Nome risorsa Kubernetes Amministratore iniziale Livello Tipo
Amministratore IAM progetto project-iam-admin Vero Progetto Role
Sviluppatore OCR AI ai-ocr-developer Falso Progetto Role
Visualizzatore AI Platform ai-platform-viewer Falso Progetto Role
AI Speech Developer ai-speech-developer Falso Progetto Role
AI Translation Developer ai-translation-developer Falso Progetto Role
Amministratore gestione artefatti artifact-management-admin Falso Progetto Role
Editor gestione artefatti artifact-management-editor Falso Progetto Role
Amministratore di Certificate Authority Service certificate-authority-service-admin Falso Progetto Role
Certificate Service Admin certificate-service-admin Falso Progetto Role
Editor dashboard dashboard-editor Falso Progetto Role
Visualizzatore dashboard dashboard-viewer Falso Progetto Role
Amministratore istanza Harbor harbor-instance-admin Falso Progetto Role
Harbor Instance Viewer harbor-instance-viewer Falso Progetto Role
Harbor Project Creator harbor-project-creator Falso Progetto Role
K8s Network Policy Admin k8s-networkpolicy-admin Falso Progetto ProjectRole
Amministratore bilanciatore del carico load-balancer-admin Falso Progetto ProjectRole
LoggingRule Creator loggingrule-creator Falso Progetto Role
LoggingRule Editor loggingrule-editor Falso Progetto Role
Visualizzatore LoggingRule loggingrule-viewer Falso Progetto Role
LoggingTarget Creator loggingtarget-creator Falso Progetto Role
LoggingTarget Editor loggingtarget-editor Falso Progetto Role
Visualizzatore LoggingTarget loggingtarget-viewer Falso Progetto Role
MonitoringRule Editor monitoringrule-editor Falso Progetto Role
MonitoringRule Viewer monitoringrule-viewer Falso Progetto Role
MonitoringTarget Editor monitoringtarget-editor Falso Progetto Role
MonitoringTarget Viewer monitoringtarget-viewer Falso Progetto Role
Amministratore spazio dei nomi namespace-admin Falso Progetto ProjectRole
Visualizzatore NAT nat-viewer Falso Progetto ProjectRole
ObservabilityPipeline Editor observabilitypipeline-editor Falso Progetto Role
Visualizzatore ObservabilityPipeline observabilitypipeline-viewer Falso Progetto Role
Project Bucket Admin project-bucket-admin Falso Progetto Role
Project Bucket Object Admin project-bucket-object-admin Falso Progetto Role
Project Bucket Object Viewer project-bucket-object-viewer Falso Progetto Role
Editor di Project Cortex Alertmanager project-cortex-alertmanager-editor Falso Progetto Role
Project Cortex Alertmanager Viewer project-cortex-alertmanager-viewer Falso Progetto Role
Visualizzatore Prometheus di Project Cortex project-cortex-prometheus-viewer Falso Progetto Role
Project Grafana Viewer project-grafana-viewer Falso Progetto Role
Amministratore NetworkPolicy progetto project-networkpolicy-admin Falso Progetto Role
Visualizzatore progetto project-viewer Falso Progetto Role
Project VirtualMachine Admin project-vm-admin Falso Progetto Role
Project VirtualMachine Image Admin project-vm-image-admin Falso Progetto Role
Amministratore dei secret secret-admin Falso Progetto Role
Visualizzatore di secret secret-viewer Falso Progetto Role
Service Configuration Admin service-configuration-admin Falso Progetto Role
Visualizzatore configurazione servizio service-configuration-viewer Falso Progetto Role
Workbench Notebooks Admin workbench-notebooks-admin Falso Progetto Role
Amministratore replica volume app-volume-replication-admin Falso Cluster Role
Visualizzatore di Workbench Notebooks workbench-notebooks-viewer Falso Progetto Role
Workload Viewer workload-viewer Falso Progetto Role

Persona AO, identità predefinita e ruoli di accesso

AO persona
Nome Tipo di associazione Autorizzazioni del server API Management Autorizzazioni del cluster Kubernetes Riassegnazione a
Amministratore IAM progetto RoleBinding
  • RoleBinding, ClusterRoleBinding, Role, ClusterRole, ProjectRole, ProjectClusterRole, ProjectRoleBinding e ProjectClusterRoleBinding: crea, leggi, aggiorna, elimina e associa
  • ProjectServiceAccount: crea, leggi, aggiorna ed elimina
  • Elenca spazio dei nomi del progetto
N/D Tutti gli altri ruoli AO
Sviluppatore OCR AI RoleBinding Risorse OCR: lettura e scrittura N/D N/D
AI Speech Developer RoleBinding Risorse vocali:lettura e scrittura N/D N/D
AI Translation Developer RoleBinding Risorse di traduzione: lettura e scrittura N/D N/D
Amministratore gestione artefatti RoleBinding HarborProjects: amministratore, crea, leggi, scrivi, elimina e visualizza N/D N/D
Editor gestione artefatti RoleBinding HarborProjects: lettura, scrittura e visualizzazione N/D N/D
Amministratore di Certificate Authority Service RoleBinding Autorità di certificazione e richieste di certificati: get, list, watch, update, create, delete e patch N/D N/D
Certificate Service Admin RoleBinding Certificati ed emittenti di certificati:ottieni, elenca, monitora, aggiorna, crea, elimina e applica patch N/D N/D
Editor dashboard RoleBinding Risorse personalizzate:recupera, leggi, crea, aggiorna, elimina e applica patchDashboard N/D N/D
Visualizzatore dashboard RoleBinding Dashboard: ricevi e leggi N/D N/D
Amministratore istanza Harbor RoleBinding Istanze Harbor:crea, leggi, aggiorna, elimina e applica patch N/D N/D
Harbor Instance Viewer RoleBinding Istanze Harbor: lettura N/D N/D
Harbor Project Creator RoleBinding Progetti di istanze Harbor: crea, ottieni e guarda N/D N/D
Amministratore NetworkPolicy K8s ProjectRoleBinding N/D Risorse NetworkPolicy: crea, leggi, ottieni, aggiorna, elimina e applica patch N/D
Amministratore bilanciatore del carico RoleBinding N/D
  • Backend: Get, watch, list, create, patch, update, and delete
  • HealthCheck: Get, watch, list, create, patch, update, and delete
  • BackendService: Get, watch, list, create, patch, update, and delete
  • ForwardingRuleExternal: Get, watch, list, create, patch, update, and delete
  • ForwardingRuleInternal: Get, watch, list, create, patch, update, and delete
N/D
LoggingRule Creator RoleBinding Risorse personalizzate LoggingRule:crea, leggi, aggiorna, elimina e applica patch N/D N/D
LoggingRule Editor RoleBinding Risorse personalizzate LoggingRule:crea, leggi, aggiorna, elimina e applica patch N/D N/D
Visualizzatore LoggingRule RoleBinding Risorse personalizzate LoggingRule: lettura N/D N/D
LoggingTarget Creator RoleBinding Risorse personalizzate LoggingTarget:crea, leggi, aggiorna, elimina e applica patch N/D N/D
LoggingTarget Editor RoleBinding Risorse personalizzate LoggingTarget:crea, leggi, aggiorna, elimina e applica patch N/D N/D
Visualizzatore LoggingTarget RoleBinding Risorse personalizzate LoggingTarget: lettura N/D N/D
MonitoringRule Editor RoleBinding Risorse personalizzate MonitoringRule:crea, leggi, aggiorna, elimina e applica patch N/D N/D
MonitoringRule Viewer RoleBinding Risorse personalizzate MonitoringRule: lettura N/D N/D
MonitoringTarget Editor RoleBinding Risorse personalizzate MonitoringTarget:crea, leggi, aggiorna, elimina e applica patch N/D N/D
MonitoringTarget Viewer RoleBinding Risorse personalizzate MonitoringTarget: lettura N/D N/D
Amministratore spazio dei nomi ProjectRoleBinding N/D Tutte le risorse:accesso in lettura e scrittura nello spazio dei nomi del progetto N/D
Visualizzatore NAT ProjectRoleBinding N/D Deployment: ottieni e leggi N/D
ObservabilityPipeline Editor RoleBinding Risorse ObservabilityPipeline:recupera, leggi, crea, aggiorna, elimina e applica patch N/D N/D
Visualizzatore ObservabilityPipeline RoleBinding Risorse ObservabilityPipeline: ottieni e leggi N/D N/D
Project Bucket Admin RoleBinding Bucket:lettura e scrittura nello spazio dei nomi del progetto N/D N/D
Project Bucket Object Admin RoleBinding
  • Bucket: lettura
  • Oggetti: lettura e scrittura
N/D N/D
Project Bucket Object Viewer RoleBinding Bucket e oggetti: lettura N/D N/D
Editor di Project Cortex Alertmanager RoleBinding Sistema Cortex e Cortex Alertmanager: lettura e scrittura N/D N/D
Project Cortex Alertmanager Viewer RoleBinding Sistema Cortex e Cortex Alertmanager: lettura N/D N/D
Visualizzatore Prometheus di Project Cortex RoleBinding Sistema Cortex e Cortex Prometheus: leggi N/D N/D
Project Grafana Viewer RoleBinding Sistema Grafana e Grafana: lettura e scrittura N/D N/D
Amministratore NetworkPolicy progetto RoleBinding Project network policies:lettura e scrittura nello spazio dei nomi del progetto N/D N/D
Visualizzatore progetto RoleBinding Tutte le risorse nello spazio dei nomi del progetto: lettura N/D N/D
Project VirtualMachine Admin RoleBinding
  • Macchine virtuali, dischi, richieste di accesso, accesso esterno, richieste di backup, backup, richieste di ripristino, richieste di eliminazione del backup, ripristini e richieste di reimpostazione della password: lettura, creazione, aggiornamento ed eliminazione
  • Riavvio della macchina virtuale: inserisci
  • Immagini di macchine virtuali, piani di backup e modelli di piani di backup:lettura
N/D N/D
Project VirtualMachine Image Admin RoleBinding
  • Immagini VM: lettura
  • Importazioni di immagini VM:lettura e scrittura
N/D N/D
Amministratore dei secret RoleBinding Secret Kubernetes:lettura, creazione, aggiornamento, eliminazione e applicazione di patch N/D N/D
Visualizzatore di secret RoleBinding Secret Kubernetes: lettura N/D N/D
Service Configuration Admin RoleBinding ServiceConfigurations: lettura e scrittura N/D N/D
Visualizzatore configurazione servizio RoleBinding ServiceConfigurations: Letto N/D N/D
Amministratore replica volume ClusterRoleBinding Volume failovers, volume relationship replicas: Create, get, list, watch, delete N/D N/D
Workbench Notebooks Admin RoleBinding N/D
  • Risorse personalizzate (CR) del notebook nello spazio dei nomi del progetto: crea, leggi, aggiorna ed elimina
  • ClusterInfo oggetti: lettura
N/D
Visualizzatore di Workbench Notebooks RoleBinding N/D
  • Risorse personalizzate (CR) del notebook nello spazio dei nomi del progetto: lettura
N/D
Workload Viewer ProjectRoleBinding N/D
  • Risorse personalizzate dei pod nello spazio dei nomi del progetto: lettura
  • Risorse personalizzate di deployment nello spazio dei nomi del progetto: lettura
N/D

Ruoli comuni predefiniti per l'identità e l'accesso

Ruoli comuni
Nome Nome risorsa Kubernetes Amministratore iniziale Livello Tipo
Visualizzatore AI Platform ai-platform-viewer Falso Progetto Role
Visualizzatore del suffisso DNS dnssuffix-viewer Falso Organizzazione Role
Flow Log Admin flowlog-admin Falso Organizzazione ClusterRole
Visualizzatore log di flusso flowlog-viewer Falso Progetto ClusterRole
Project Discovery Viewer projectdiscovery-viewer Falso Progetto ClusterRole
Visualizzatore immagini pubblico public-image-viewer Falso Organizzazione Role
Monitoraggio del secret anthos-creds di Artifact Registry di sistema sar-anthos-creds-secret-monitor Falso Organizzazione Role
System Artifact Registry gpc-system secret Monitor sar-gpc-system-secret-monitor Falso Organizzazione Role
Monitoraggio del secret di sistema Artifact Registry harbor-system sar-harbor-system-secret-monitor Falso Organizzazione Role
Visualizzatore del tipo di macchina virtuale virtualmachinetype-viewer Falso Organizzazione OrganizationRole
Visualizzatore tipo di VM vmtype-viewer Falso Organizzazione Role

Ruoli comuni predefiniti per l'identità e l'accesso

Ruoli comuni
Nome Tipo di associazione Autorizzazioni del cluster di amministrazione Autorizzazioni del cluster Kubernetes Riassegnazione a
Visualizzatore AI Platform RoleBinding Servizi preaddestrati: lettura N/D N/D
Visualizzatore del suffisso DNS ClusterRoleBinding Config Maps del suffisso DNS:lettura N/D N/D
Flow Log Admin ClusterRoleBinding Risorse dei log di flusso:ottieni e leggi Risorse dei log di flusso:ottieni e leggi N/D
Visualizzatore log di flusso ClusterRoleBinding Risorse di log di flusso:crea, ottieni, leggi, applica patch, aggiorna ed elimina Risorse di log di flusso:crea, ottieni, leggi, applica patch, aggiorna ed elimina N/D
Project Discovery Viewer ClusterRoleBinding Progetti: lettura N/D N/D
Visualizzatore immagini pubblico RoleBinding Immagini VM: lettura N/D N/D
Monitoraggio del secret anthos-creds di Artifact Registry di sistema RoleBinding anthos-creds secrets: ottieni e leggi anthos-creds secrets: ottieni e leggi N/D
System Artifact Registry gpc-system secret Monitor RoleBinding gpc-system secrets: ottieni e leggi gpc-system secrets: ottieni e leggi N/D
Monitoraggio del secret di sistema Artifact Registry harbor-system RoleBinding harbor-system secrets: ottieni e leggi harbor-system secrets: ottieni e leggi N/D
Visualizzatore del tipo di macchina virtuale OrganizationRoleBinding N/D Tipi di VM:lettura N/D
Visualizzatore tipo di VM ClusterRoleBinding Tipi di VM:lettura N/D N/D

Esistono due modi per concedere l'accesso alle risorse:

Configurare i binding dei ruoli utilizzando la CLI

Accesso AO nel cluster di amministrazione

A differenza degli operatori di infrastruttura (IO) e degli amministratori della piattaforma (PA), GDC associa gli operatori delle applicazioni (AO) a un Project tramite un RoleBinding, anziché un ClusterRoleBinding.

Per concedere a un AO l'accesso al cluster di amministrazione, completa i seguenti passaggi:

  1. Esporta l'email che utilizzi per l'accesso AO. Ad esempio, un'email come ao-alice@example.com.

    export AO_EMAIL=AO_EMAIL
    
  2. Crea un'associazione dei ruoli per concedere l'accesso all'amministratore IAM progetto nello spazio dei nomi iam-test:${AO_EMAIL}

    kubectl create --kubeconfig PA_KUBECONFIG \
    rolebinding $AO_EMAIL-project-iam-admin \
    --role=project-iam-admin --user=$AO_EMAIL \
    --namespace=iam-test
    

    Il ruolo project-iam-admin è un ruolo predefinito per GDC. Lo spazio dei nomi Kubernetes iam-test corrisponde al progetto iam-test nel cluster di amministrazione.

  3. Verifica che l'account AO disponga delle autorizzazioni per creare associazioni di ruoli nello spazio dei nomi iam-test:

    kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n iam-test
    

    Viene visualizzato l'output seguente:

    yes
    
  4. Crea un'associazione dei ruoli per concedere l'accesso al ruolo Visualizzatore progetto nello spazio dei nomi bar:${AO_EMAIL}

    kubectl create --kubeconfig PA_KUBECONFIG \
    rolebinding $AO_EMAIL-project-viewer \
    --role=project-viewer --user=$AO_EMAIL \
    --namespace=bar
    

    Il ruolo project-viewer è un ruolo preimpostato per GDC. Lo spazio dei nomi Kubernetes bar corrisponde al progetto bar nel cluster di amministrazione dell'organizzazione.

  5. Verifica che l'account AO non disponga delle autorizzazioni per creare associazioni di ruoli nello spazio dei nomi bar:

    kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n bar
    

    Viene visualizzato l'output seguente:

    no
    
  6. (Facoltativo) Elimina l'associazione di ruolo per revocare l'autorizzazione concessa all'account AO:

    kubectl --kubeconfig PA_KUBECONFIG delete rolebinding $AO_EMAIL-project-iam-admin -n iam-test
    

Accesso AO nei cluster utente

Un AO utilizza le risorse ProjectRole e ProjectRoleBinding per ottenere l'accesso allo spazio dei nomi ai cluster utente. Tuttavia, gli amministratori delegati possono concedere all'organizzazione autorizzazioni a livello di organizzazione nei cluster di utenti utilizzando le risorse preimpostate OrganizationRole e ProjectRoleBinding.

Completa i seguenti passaggi per fornire agli AO l'accesso ai cluster di utenti:

Per concedere l'accesso ai cluster utente, devi disporre del ruolo Amministratore IAM progetto.

  1. Crea una risorsa ProjectRoleBinding per concedere l'accesso di amministratore dello spazio dei nomi ${AO_EMAIL} in tutti i cluster utente nello spazio dei nomi iam-test:

    kubectl --kubeconfig AO_KUBECONFIG apply -f - <<EOF
    apiVersion: resourcemanager.gdc.goog/v1
    kind: ProjectRoleBinding
    metadata:
      name: ${AO_EMAIL%@*}-namespace-admin
      namespace: iam-test
    spec:
      roleRef:
        apiGroup: resourcemanager.gdc.goog
        kind: ProjectRole
        name: namespace-admin
      subjects:
      - apiGroup: rbac.authorization.k8s.io
        kind: User
        name: ${AO_EMAIL}
    EOF
    
  2. Segui le istruzioni della sezione Accedere con la CLI e kubectl per ottenere le credenziali utente per il cluster utente ed esportarle nella variabile AO_USER_CLUSTER_KUBECONFIG:

    export AO_USER_CLUSTER_KUBECONFIG=GENERATED_KUBECONFIG
    
  3. Verifica che l'account AO disponga delle autorizzazioni per creare deployment nello spazio dei nomi iam-test:

    kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} auth can-i create deployment -n iam-test
    

    Viene visualizzato l'output seguente:

    yes
    
  4. (Facoltativo) Elimina i binding dei ruoli del progetto per revocare l'autorizzazione concessa all'account AO di test:

    kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} delete projectrolebinding ${AO_EMAIL%@*}-namespace-admin -n iam-test
    

Configura i binding dei ruoli a livello di progetto utilizzando la UI

Un operatore dell'applicazione aggiunge altri operatori dell'applicazione al progetto in modo che abbiano accesso alle risorse del progetto.

Per ottenere le autorizzazioni necessarie per configurare i binding dei ruoli, chiedi all'amministratore IAM del progetto di concederti il ruolo Amministratore IAM del progetto.

Segui questi passaggi per configurare i binding dei ruoli:

  1. Accedi alla console dell'appliance GDC con air gap.
  2. Seleziona un progetto.
  3. Nel menu di navigazione, fai clic su Gestione accessi.
  4. Fai clic su Aggiungi membro.
  5. Nell'elenco Provider di identità, seleziona un provider di identità.
  6. Scegli se aggiungere singoli utenti o gruppi.
  7. Nel campo Nome utente o alias del gruppo, inserisci il nome utente, l'indirizzo email o l'alias.
  8. Nell'elenco Ruolo, seleziona il ruolo che vuoi assegnare all'utente o al gruppo, ad esempio Visualizzatore progetto.
  9. Fai clic su Aggiungi.

Rimuovere le associazioni di ruoli utilizzando la UI

Quando l'accesso non è più necessario, rimuovi un membro e i relativi ruoli, autorizzazioni e accesso.

Per rimuovere i membri, segui questi passaggi:

  1. Accedi alla console dell'appliance GDC con air gap.
  2. Seleziona un progetto.
  3. Nel menu di navigazione, fai clic su Gestione accessi.
  4. Nell'elenco Membri autorizzati, seleziona un membro.
  5. Fai clic su Rimuovi membro.
  6. Quando richiesto, fai clic su Rimuovi membro per confermare.