Concedere e revocare l'accesso

Ogni soggetto, un utente o un gruppo, segue una procedura in due passaggi per ottenere l'accesso al server API globale. Concedi a un soggetto le autorizzazioni nel server API globale utilizzando IAMRoleBinding per un IAMRole predefinito. Tutte le associazioni di ruoli e ruoli sono globali.

Questa pagina è rivolta ai segmenti di pubblico del gruppo di amministratori della piattaforma che gestiscono le autorizzazioni all'interno della propria organizzazione. Per saperne di più, consulta la documentazione sui segmenti di pubblico per GDC con air gap.

Prima di iniziare

Prima di gestire le associazioni dei ruoli o revocare l'accesso, devi richiedere le autorizzazioni necessarie e preparare l'ambiente. I ruoli specifici richiesti dipendono dal fatto che tu stia gestendo le associazioni dei ruoli o revocando l'accesso degli utenti.

Richiedi ruoli IAM

Contatta l'amministratore dell'organizzazione IAM per richiedere i ruoli in base alle attività che devi eseguire:

  • IAM Org Admin (organization-iam-admin): crea, aggiorna ed elimina le associazioni dei ruoli a livello di organizzazione e di progetto.
  • Amministratore sessione organizzazione (org-session-admin): revoca le sessioni attive e l'accesso di un utente all'interno di una zona specifica.

prepara l'ambiente

Per utilizzare gli strumenti a riga di comando per gestire le associazioni dei ruoli o revocare l'accesso, completa la seguente configurazione.

Configura le associazioni di ruoli

Puoi configurare associazioni di ruoli che consentono ai membri del team di accedere alle risorse a livello di organizzazione o di progetto.

Assegna un ruolo a un membro autorizzato:

Console

  1. Accedi alla console GDC.
  2. Seleziona un'organizzazione o un progetto dal selettore dell'ambito.
    • Per configurare le associazioni dei ruoli per un'organizzazione, seleziona un'organizzazione.
    • Per configurare le associazioni dei ruoli per un progetto, seleziona un progetto.
  3. Nel menu di navigazione, fai clic su Identità e accesso > Accesso.
  4. Fai clic su Aggiungi membro.
  5. Scegli se aggiungere singoli utenti o gruppi.
  6. Nell'elenco Provider di identità, seleziona un provider di identità.
  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 Organization Viewer a livello di organizzazione o Autore progetto a livello di progetto.
  9. Fai clic su Aggiungi.

Il membro viene visualizzato nell'elenco Membro autorizzato.

gdcloud

  1. Assicurati di aver installato la CLI gdcloud.

  2. Accedi utilizzando il comando gdcloud auth login per eseguire l'autenticazione con il tuo provider di identità. Per saperne di più, consulta Autenticazione con la CLI gdcloud.

  3. Configura le associazioni di ruoli.

    • Configura le associazioni dei ruoli per un'organizzazione:

      gdcloud organizations add-iam-policy-binding ORGANIZATION \
        --member=USER_ACCOUNT \
        --role=ROLE
      

      Sostituisci le seguenti variabili:

      • ORGANIZATION: il nome dell'organizzazione per cui stai configurando l'associazione dei ruoli.
      • USER_ACCOUNT: l'account utente a cui vuoi concedere il ruolo. Questo flag accetta un indirizzo email utente con il prefisso del provider di identità (user:idpprefix-user@example.com) o un nome di account di servizio con il progetto del account di servizio (serviceAccount:projectName:serviceAccountName).
      • ROLE: il nome del ruolo predefinito o personalizzato che vuoi assegnare all'utente.
    • Configura le associazioni dei ruoli per un progetto:

      gdcloud projects add-iam-policy-binding PROJECT \
        --member=USER_ACCOUNT \
        --role=ROLE
      

      Sostituisci le seguenti variabili:

      • PROJECT: il nome del progetto per cui stai configurando l'associazione dei ruoli.
      • USER_ACCOUNT: l'account utente a cui vuoi concedere il ruolo. Questo flag accetta un indirizzo email utente con il prefisso del provider di identità (user:idpprefix-user@example.com) o un nome di account di servizio con il progetto del account di servizio (serviceAccount:projectName:serviceAccountName).
      • ROLE: il nome del ruolo predefinito o personalizzato che vuoi assegnare all'utente.

API

  1. Esporta le variabili di ambiente per l'associazione dei ruoli:

    export GLOBAL_API_SERVER_KUBECONFIG=GLOBAL_API_SERVER_KUBECONFIG
    export USERNAME=IDP_PREFIX-USERNAME
    export ROLE_NAME=ROLE_NAME
    export BINDING_NAMESPACE=BINDING_NAMESPACE
    export USER_EMAIL=IDP_PREFIX-USER_EMAIL
    

    Sostituisci quanto segue:

    • GLOBAL_API_SERVER_KUBECONFIG: il percorso del file kubeconfig per il server API globale.
    • IDP_PREFIX: il prefisso del provider di identità.
    • USERNAME: la parte del nome utente dell'indirizzo email dell'utente prima del simbolo @ (ad esempio paul da paul@example.com).
    • ROLE_NAME: il nome del ruolo di cui l'utente ha bisogno (ad esempio project-creator). Consulta Definizioni dei ruoli per un elenco dei ruoli e del relativo ambito.
    • BINDING_NAMESPACE: platform per i ruoli con ambito a livello di organizzazione o il nome dello spazio dei nomi del progetto di destinazione per i ruoli con ambito a livello di progetto.
    • USER_EMAIL: l'indirizzo email dell'account utente a cui vuoi assegnare il ruolo (ad esempio paul@example.com).
  2. Crea e applica una risorsa personalizzata IAMRoleBinding:

    cat <<EOF | kubectl --kubeconfig ${GLOBAL_API_SERVER_KUBECONFIG} apply -f -
    apiVersion: iam.global.gdc.goog/v1
    kind: IAMRoleBinding
    metadata:
      name: ${USERNAME}-${ROLE_NAME}-binding
      namespace: ${BINDING_NAMESPACE}
    spec:
      roleRef:
        apiGroup: iam.global.gdc.goog
        kind: IAMRole
        name: ${ROLE_NAME}
      subjects:
      - apiGroup: rbac.authorization.k8s.io
        kind: User
        name: ${USER_EMAIL}
    EOF
    

Rimuovi le associazioni dei ruoli

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

Per rimuovere i membri, segui questi passaggi:

Console

  1. Accedi alla console GDC.
  2. Nel menu di navigazione, fai clic su Identità e accesso > Accesso.
  3. Nell'elenco Membri autorizzati, seleziona un membro.
  4. Fai clic su Rimuovi membro.
  5. Quando richiesto, fai clic su Rimuovi membro per confermare.

gdcloud

  1. Assicurati di aver installato la CLI gdcloud.

  2. Accedi utilizzando il comando gdcloud auth login per eseguire l'autenticazione con il tuo provider di identità. Per saperne di più, consulta Autenticazione con la CLI gdcloud.

  3. Rimuovi le associazioni dei ruoli.

    • Rimuovi le associazioni dei ruoli per un'organizzazione:

      gdcloud organizations remove-iam-policy-binding ORGANIZATION \
        --member=USER_ACCOUNT \
        --role=ROLE
      

      Sostituisci le seguenti variabili:

      • ORGANIZATION: il nome dell'organizzazione da cui stai rimuovendo l'associazione del ruolo.
      • USER_ACCOUNT: l'account utente da cui vuoi rimuovere il ruolo. Questo flag accetta un indirizzo email utente con il prefisso del provider di identità (user:idpprefix-user@example.com) o un nome di account di servizio con il progetto del account di servizio (serviceAccount:projectName:serviceAccountName).
      • ROLE: il nome del ruolo predefinito o personalizzato che vuoi rimuovere dall'account utente.
    • Rimuovi le associazioni dei ruoli per un progetto:

      gdcloud projects remove-iam-policy-binding PROJECT \
        --member=USER_ACCOUNT \
        --role=ROLE
      

      Sostituisci le seguenti variabili:

      • PROJECT: il nome del progetto da cui rimuovi l'associazione del ruolo.
      • USER_ACCOUNT: l'account utente da cui vuoi rimuovere il ruolo. Questo flag accetta un indirizzo email utente con il prefisso del provider di identità (user:idpprefix-user@example.com) o un nome di account di servizio con il progetto del account di servizio (serviceAccount:projectName:serviceAccountName).
      • ROLE: il nome del ruolo predefinito o personalizzato che vuoi rimuovere dall'account utente.

kubectl

Elimina IAMRoleBinding per revocare l'autorizzazione concessa all'account PA:

kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG \
delete iamrolebinding IDP_PREFIX-USERNAME-ROLE_NAME-binding -n BINDING_NAMESPACE

Sostituisci quanto segue:

  • GLOBAL_API_SERVER_KUBECONFIG: il percorso del file kubeconfig per il server API globale.
  • IDP_PREFIX: il prefisso del provider di identità.
  • USERNAME: la parte del nome utente dell'indirizzo email dell'utente prima del simbolo @ (ad esempio paul da paul@example.com).
  • ROLE_NAME: il nome del ruolo che vuoi rimuovere, ad esempio project-creator.
  • BINDING_NAMESPACE: sostituisci con platform per i ruoli con ambito a livello di organizzazione o con il nome dello spazio dei nomi del progetto di destinazione per i ruoli con ambito a livello di progetto.

Revoca l'accesso degli utenti

Se un membro lascia la tua organizzazione o il tuo team, puoi revocare il suo accesso a Google Distributed Cloud (GDC) con air gap. La revoca dell'accesso di un utente comporta la disconnessione da Distributed Cloud e la rimozione dei suoi ruoli e delle sue autorizzazioni. Puoi anche elencare le attività e le sessioni dell'utente in base all'ora di inizio e di fine.

Per revocare l'accesso di un utente in un universo GDC, devi revocare l'accesso per ogni singola zona separatamente. Completa i seguenti passaggi per ogni zona:

  1. Assicurati di aver eseguito l'accesso alla zona per cui vuoi revocare l'accesso. Ad esempio, imposta la configurazione dell'URL di zona per la CLI gdcloud, quindi accedi:

    gdcloud config set organization_console_url ZONE_URL
    gdcloud auth login
    

    Sostituisci ZONE_URL con l'URL della console GDC per la zona per cui revocare l'accesso utente, simile a https://console.ORG_NAME.ZONE_NAME.ORG_SUFFIX.

    Per saperne di più sul cambio di contesti di zona, consulta Accedi alle zone con i tuoi strumenti.

  2. Revoca l'accesso dell'utente alla zona:

    gdcloud admin auth revoke --accounts USER_EMAIL
    

    Sostituisci USER_EMAIL con l'indirizzo email dell'utente a cui revocare l'accesso.

    Dopo aver eseguito il comando, viene visualizzato un output simile al seguente. Questo esempio revoca l'accesso all'utente ariel@example.com:

    Success: NUMBER of sessions revoked for user ariel@example.com
    

    In questo esempio, la variabile NUMBER si riferisce al numero di sessioni di attività attive dell'utente.

  3. Conferma di aver revocato l'accesso dell'utente eseguendo di nuovo il comando gdcloud admin auth revoke. Se l'operazione ha esito positivo, viene visualizzato quanto segue:

    No sessions found for account: ariel@example.com
    
  4. Ripeti i passaggi precedenti per ogni zona dell'universo.