Controllo dell'accesso con IAM

Questa pagina descrive come controllare l'accesso alle risorse di Workload Manager.

Workload Manager utilizza Identity and Access Management (IAM) per controllare l'accesso alle risorse. IAM è uno strumento per gestire l'autorizzazione granulare per le tue Google Cloud risorse. In altre parole, IAM ti consente di controllare chi può fare cosa su quali risorse.

Per concedere agli utenti l'accesso a una risorsa con IAM, devi concedere loro ruoli specifici. I ruoli IAM concedono alle entità le autorizzazioni per eseguire attività sulle risorse di Workload Manager.

Per informazioni dettagliate su IAM e sulle sue funzionalità, consulta la documentazione di IAM.

Gestire l'accesso alle risorse di Workload Manager

Il modo più comune per gestire l'accesso con IAM è utilizzare le policy di autorizzazione. Le policy di autorizzazione elencano le entità che hanno accesso alla risorsa e le azioni che possono eseguire sulla risorsa.

Le sezioni seguenti descrivono come concedere e revocare un singolo ruolo con le policy di autorizzazione utilizzando la Google Cloud console e Google Cloud CLI. Puoi anche concedere e revocare più ruoli contemporaneamente. Per saperne di più, consulta Gestire l'accesso a progetti, cartelle e organizzazioni nella documentazione di IAM.

Queste sezioni si concentrano sulla concessione e la revoca dell'accesso a livello di progetto, che controlla l' accesso di un utente al progetto e a tutte le risorse al suo interno.

Puoi anche utilizzare le policy di autorizzazione associate a risorse diverse Google Cloud per gestire l'accesso ad altri livelli della gerarchia delle risorse. Per saperne di più, consulta Utilizzare la gerarchia delle risorse per il controllo dell'accesso nella documentazione di IAM.

Non tutte le risorse supportano le policy di autorizzazione. Per scoprire a quali risorse puoi associare le policy di autorizzazione, consulta Risorse che supportano le policy di autorizzazione nella documentazione di IAM.

Per scoprire di più su altre policy che puoi utilizzare per controllare l'accesso con IAM, come policy di negazione, consulta Tipi di policy in IAM nella documentazione di IAM.

Concedere un singolo ruolo IAM

Per concedere un singolo ruolo a un'entità:

Console

  1. Nella Google Cloud console vai alla pagina IAM.

    Vai a IAM

  2. Seleziona un progetto, una cartella o un'organizzazione.
  3. Seleziona un'entità a cui assegnare un ruolo:
    • Per concedere a un'entità un ruolo aggiuntivo nella risorsa, individua una riga contenente l'entità, fai clic su Modifica entità in quella riga e fai clic su Aggiungi un altro ruolo.

      Per concedere un ruolo a un agente di servizio, seleziona la casella di controllo Includi Google-concessioni di ruoli fornite da per visualizzarne l'indirizzo email.

    • Per concedere un ruolo a un'entità che non ha ruoli esistenti per la risorsa, fai clic su Concedi l'accesso, quindi inserisci un identificatore dell'entità, ad esempio, my-user@example.com o //iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.
  4. Seleziona un ruolo da concedere dall'elenco a discesa. Per le best practice di sicurezza, scegli un ruolo che includa solo le autorizzazioni necessarie all'entità.
  5. (Facoltativo) Aggiungi una condizione al ruolo.
  6. Fai clic su Salva. All'entità viene concesso il ruolo nella risorsa.

gcloud

  1. Nella Google Cloud console, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della Google Cloud console viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già inclusa e installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Il add-iam-policy-binding comando consente di concedere rapidamente un ruolo a un'entità.

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • RESOURCE_TYPE: il tipo di risorsa a cui vuoi gestire l'accesso. Utilizza projects, resource-manager folders o organizations.

    • RESOURCE_ID: l'ID del tuo Google Cloud progetto, della tua cartella, o della tua organizzazione. Gli ID progetto sono alfanumerici, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.

    • PRINCIPAL: un identificatore per l'entità o il membro, che in genere ha il seguente formato: PRINCIPAL_TYPE:ID. Ad esempio, user:my-user@example.com o principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com. Per un elenco completo dei valori che PRINCIPAL può avere, consulta Identificatori delle entità.

      Per il tipo di entità user, il nome di dominio nell'identificatore deve essere un dominio Google Workspace o un dominio Cloud Identity. Per scoprire come configurare un dominio Cloud Identity, consulta la panoramica di Cloud Identity.

    • ROLE_NAME: il nome del ruolo che vuoi concedere. Utilizza uno dei seguenti formati:

      • Ruoli predefiniti: roles/SERVICE.IDENTIFIER
      • Ruoli personalizzati a livello di progetto: projects/PROJECT_ID/roles/IDENTIFIER
      • Ruoli personalizzati a livello di organizzazione: organizations/ORG_ID/roles/IDENTIFIER

      Per un elenco dei ruoli predefiniti, consulta Informazioni sui ruoli.

    • CONDITION: la condizione da aggiungere all'associazione di ruoli. Se non vuoi aggiungere una condizione, utilizza il valore None. Per saperne di più sulle condizioni, consulta la panoramica delle condizioni.

    Esegui il seguente comando:

    Linux, macOS o Cloud Shell

    gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID \
        --member=PRINCIPAL --role=ROLE_NAME \
        --condition=CONDITION

    Windows (PowerShell)

    gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID `
        --member=PRINCIPAL --role=ROLE_NAME `
        --condition=CONDITION

    Windows (cmd.exe)

    gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID ^
        --member=PRINCIPAL --role=ROLE_NAME ^
        --condition=CONDITION

    La risposta contiene la policy di autorizzazione IAM aggiornata.

Revocare un singolo ruolo IAM

Per revocare un singolo ruolo da un'entità:

Console

  1. Nella Google Cloud console vai alla pagina IAM.

    Vai a IAM

  2. Seleziona un progetto, una cartella o un'organizzazione.
  3. Individua la riga contenente l'entità a cui vuoi revocare l'accesso. Quindi, fai clic Modifica entità in quella riga.
  4. Fai clic sul pulsante Elimina per il ruolo che vuoi revocare, quindi fai clic su Salva.

gcloud

  1. Nella Google Cloud console, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della Google Cloud console viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già inclusa e installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per revocare un ruolo a un utente, esegui il remove-iam-policy-binding comando:

    gcloud RESOURCE_TYPE remove-iam-policy-binding RESOURCE_ID \
        --member=PRINCIPAL --role=ROLE_NAME

    Fornisci i seguenti valori:

    • RESOURCE_TYPE: il tipo di risorsa a cui vuoi gestire l'accesso. Utilizza projects, resource-manager folders o organizations.

    • RESOURCE_ID: l'ID del tuo Google Cloud progetto, della tua cartella, o della tua organizzazione. Gli ID progetto sono alfanumerici, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.

    • PRINCIPAL: un identificatore per l'entità o il membro, che in genere ha il seguente formato: PRINCIPAL_TYPE:ID. Ad esempio, user:my-user@example.com o principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.

      Per il tipo di entità user, il nome di dominio nell'identificatore deve essere un dominio Google Workspace o un dominio Cloud Identity. Per scoprire come configurare un dominio Cloud Identity, consulta la panoramica di Cloud Identity.

    • ROLE_NAME: il nome del ruolo che vuoi revocare. Utilizza uno dei seguenti formati:

      • Ruoli predefiniti: roles/SERVICE.IDENTIFIER
      • Ruoli personalizzati a livello di progetto: projects/PROJECT_ID/roles/IDENTIFIER
      • Ruoli personalizzati a livello di organizzazione: organizations/ORG_ID/roles/IDENTIFIER

      Per un elenco dei ruoli predefiniti, consulta Informazioni sui ruoli.

    Ad esempio, per revocare il ruolo Autore progetto dal account di servizio example-service-account@example-project.iam.gserviceaccount.com per il progetto example-project:

    gcloud projects remove-iam-policy-binding example-project \
          --member=serviceAccount:example-service-account@example-project.iam.gserviceaccount.com \
          --role=roles/resourcemanager.projectCreator

Per evitare di revocare ruoli necessari, puoi attivare i consigli sui rischi di modifica. I consigli sui rischi di modifica generano avvisi quando tenti di revocare i ruoli a livello di progetto che Google Cloud sono stati identificati come importanti.

Accesso condizionale

Le condizioni IAM ti consentono di rendere le policy più granulari concedendo l'accesso alle entità solo quando vengono soddisfatte determinate condizioni specificate. Le condizioni si basano su attributi relativi all'entità, alla risorsa e alla richiesta. Ad esempio, puoi concedere l'accesso a un 'entità solo se accede alla risorsa da una località specifica o in un momento specifico.

Le condizioni nelle policy di autorizzazione si basano sui seguenti tipi di attributi:

  • Attributi delle risorse: include il servizio, il tipo o il nome della risorsa. Questi attributi vengono in genere utilizzati per modificare l'ambito di un accesso concesso da un'associazione di ruoli.
  • Attributi delle richieste: include i dettagli della richiesta, come l'ora o il livello di accesso dell'entità che ha effettuato la richiesta. Questi attributi ti consentono di creare condizioni che valutano i dettagli della richiesta, come il livello di accesso, la data e l'ora, l'indirizzo IP di destinazione e la porta o il percorso dell'URL previsto.

Per saperne di più sugli attributi delle condizioni supportati da Workload Manager, consulta la sezione Riferimento agli attributi per le condizioni IAM nella documentazione di IAM.

Non puoi concedere l'accesso condizionale direttamente alle risorse di Workload Manager. Tuttavia, puoi concedere l'accesso condizionale ai tipi di risorse di Workload Manager concedendo ruoli alle entità su una risorsa container, come un progetto, una cartella o un'organizzazione, e aggiungendo condizioni a queste associazioni di ruoli. Le condizioni aggiunte alla policy di autorizzazione di una risorsa container vengono ereditate dalle risorse incluse in quella risorsa container. Per saperne di più sulle condizioni ereditate, consulta Supporto per le condizioni ereditate nella documentazione di IAM.

Per scoprire come aggiungere condizioni alle associazioni di ruoli, consulta Gestire le associazioni di ruoli condizionali nella documentazione di IAM.

Passaggi successivi