Questa pagina descrive come utilizzare i ruoli IAM (Identity and Access Management) nelle regole di entrata e di uscita per consentire l'accesso alle risorse protette dai perimetri di servizio.
Controlli di servizio VPC utilizza le regole di entrata e di uscita per consentire l'accesso alle risorse e ai client protetti dai perimetri di servizio e viceversa. Se vuoi, puoi limitare le regole per il traffico in entrata e in uscita utilizzando i ruoli IAM. Quando specifichi un ruolo IAM in una regola, la regola consente solo le azioni associate alle autorizzazioni che fanno parte del ruolo IAM.
Prima di iniziare
Scopri di più sulle regole per il traffico in entrata e in uscita.
Se vuoi utilizzare un ruolo personalizzato nelle regole di entrata e di uscita, assicurati di disporre delle autorizzazioni obbligatorie.
Configurare i ruoli IAM nelle regole di ingresso
Console
Quando aggiorni un criterio di ingresso di un perimetro di servizio o ne imposti uno durante la creazione del perimetro utilizzando la console Google Cloud, puoi configurare la regola di ingresso in modo che utilizzi i ruoli IAM:
Quando crei o modifichi un perimetro nella console Google Cloud, seleziona Criterio di ingresso.
Nel riquadro Regole in entrata, seleziona una regola in entrata esistente o fai clic su Aggiungi una regola in entrata.
Nella sezione A del criterio di accesso in entrata, seleziona Seleziona ruoli IAM (anteprima) dall'elenco Operazioni o ruoli IAM.
Fai clic su Aggiungi ruoli IAM.
Nel riquadro Aggiungi ruoli IAM, seleziona i ruoli IAM che vuoi consentire.
Per informazioni sui servizi e sui ruoli supportati, vedi Prodotti supportati.
Fai clic su Aggiungi i ruoli IAM selezionati.
Fai clic su Fine.
Per informazioni sugli altri attributi delle regole di importazione, consulta la sezione Riferimento alle regole di importazione.
gcloud
Puoi configurare una regola di ingresso per utilizzare i ruoli IAM utilizzando un file JSON o un file YAML. Il seguente esempio utilizza il formato YAML:
- ingressFrom:
identityType: ANY_IDENTITY | ANY_USER_ACCOUNT | ANY_SERVICE_ACCOUNT
*OR*
identities:
- PRINCIPAL_IDENTIFIER
sources:
- resource: RESOURCE
*OR*
- accessLevel: ACCESS_LEVEL
ingressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
*OR*
roles:
- ROLE_NAME
resources:
- projects/PROJECT_NUMBER
Sostituisci ROLE_NAME
con i ruoli IAM
che definiscono l'ambito di accesso per i servizi specificati nella regola.
Specifica un singolo ruolo o una combinazione di ruoli che includa tutte le autorizzazioni richieste per accedere ai servizi. Per specificare un ruolo, utilizza i formati dei nomi dei ruoli indicati in Componenti dei ruoli,
tranne il seguente formato: projects/PROJECT_ID/roles/IDENTIFIER
.
Per informazioni sui servizi e sui ruoli supportati, vedi Prodotti supportati.
Per informazioni sugli altri attributi delle regole di importazione, consulta la sezione Riferimento alle regole di importazione.
Dopo aver aggiornato una regola di ingresso esistente per configurare i ruoli IAM, devi aggiornare i criteri delle regole del perimetro di servizio:
gcloud access-context-manager perimeters update PERIMETER_ID --set-ingress-policies=RULE_POLICY.yaml
Sostituisci quanto segue:
PERIMETER_ID
: l'ID del perimetro di servizio che vuoi aggiornare.RULE_POLICY
: il percorso del file della regola di ingresso modificata.
Per ulteriori informazioni, consulta Aggiornare i criteri di ingresso e uscita per un perimetro di servizio.
Configurare i ruoli IAM nelle regole di uscita
Console
Quando aggiorni un criterio di uscita di un perimetro di servizio o ne imposti uno durante la creazione del perimetro utilizzando la console Google Cloud, puoi configurare la regola di uscita in modo che utilizzi i ruoli IAM:
Quando crei o modifichi un perimetro nella console Google Cloud, seleziona Criterio di uscita.
Nel riquadro Regole in uscita, seleziona una regola in uscita esistente o fai clic su Aggiungi una regola in uscita.
Nella sezione A del criterio di uscita, seleziona Seleziona ruoli IAM (anteprima) dall'elenco Operazioni o ruoli IAM.
Fai clic su Aggiungi ruoli IAM.
Nel riquadro Aggiungi ruoli IAM, seleziona i ruoli IAM che vuoi consentire.
Per informazioni sui servizi e sui ruoli supportati, vedi Prodotti supportati.
Fai clic su Aggiungi i ruoli IAM selezionati.
Fai clic su Fine.
Per informazioni sugli altri attributi delle regole in uscita, consulta la sezione Riferimento alle regole in uscita.
gcloud
Puoi configurare una regola di uscita per utilizzare i ruoli IAM utilizzando un file JSON o un file YAML. Il seguente esempio utilizza il formato YAML:
- egressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
*OR*
roles:
- ROLE_NAME
resources:
- projects/PROJECT_NUMBER
egressFrom:
identityType: ANY_IDENTITY | ANY_USER_ACCOUNT | ANY_SERVICE_ACCOUNT
*OR*
identities:
- PRINCIPAL_IDENTIFIER
sources:
- resource: RESOURCE
*OR*
- accessLevel: ACCESS_LEVEL
sourceRestriction: RESTRICTION_STATUS
Sostituisci ROLE_NAME
con i ruoli IAM
che definiscono l'ambito di accesso per i servizi specificati nella regola.
Specifica un singolo ruolo o una combinazione di ruoli che includa tutte le autorizzazioni richieste per accedere ai servizi. Per specificare un ruolo, utilizza i formati dei nomi dei ruoli indicati in Componenti dei ruoli,
tranne il seguente formato: projects/PROJECT_ID/roles/IDENTIFIER
.
Per informazioni sui servizi e sui ruoli supportati, vedi Prodotti supportati.
Per informazioni sugli altri attributi delle regole in uscita, consulta la sezione Riferimento alle regole in uscita.
Dopo aver aggiornato una regola di uscita esistente per configurare i ruoli IAM, devi aggiornare i criteri delle regole del perimetro del servizio:
gcloud access-context-manager perimeters update PERIMETER_ID --set-egress-policies=RULE_POLICY.yaml
Sostituisci quanto segue:
PERIMETER_ID
: l'ID del perimetro di servizio che vuoi aggiornare.RULE_POLICY
: il percorso del file della regola in uscita modificata.
Per ulteriori informazioni, consulta Aggiornare i criteri di ingresso e di uscita per un perimetro di servizio.
Prodotti supportati
Puoi utilizzare i ruoli IAM dei seguenti Google Cloud servizi nelle regole di entrata e di uscita:
Prodotto | Limitazioni |
---|---|
Artifact Registryartifactregistry.googleapis.com |
|
BigQuerybigquery.googleapis.com |
|
BigQuery Data Transfer Servicebigquerydatatransfer.googleapis.com |
|
Bigtablebigtable.googleapis.com |
|
Autorizzazione binariabinaryauthorization.googleapis.com |
|
Cloud Composercomposer.googleapis.com |
|
Cloud Key Management Servicecloudkms.googleapis.com |
|
Cloud Logginglogging.googleapis.com |
|
Monitoraggio cloudmonitoring.googleapis.com |
|
Cloud Runrun.googleapis.com |
|
Funzioni Cloud Runcloudfunctions.googleapis.com |
|
Cloud SQLsqladmin.googleapis.com |
|
Cloud Storagestorage.googleapis.com |
|
Compute Enginecompute.googleapis.com |
|
Dataflowdataflow.googleapis.com |
|
Dataprocdataproc.googleapis.com |
|
Google Kubernetes Enginecontainer.googleapis.com |
|
Gestione di identità e accessiiam.googleapis.com |
|
Pub/Subpubsub.googleapis.com |
|
Resource Managercloudresourcemanager.googleapis.com |
|
Secret Managersecretmanager.googleapis.com |
|
Chiave a brugolaspanner.googleapis.com |
|
Per l'elenco dei ruoli IAM predefiniti di questi servizi che puoi utilizzare nelle regole di ingresso e di uscita, consulta Ruoli predefiniti.
Tuttavia, in questi servizi sono presenti alcuni ruoli IAM parzialmente supportati o non supportati per l'utilizzo nelle regole di ingresso e di uscita, perché alcune o tutte le autorizzazioni sottostanti non sono supportate:
L'utilizzo di un ruolo IAM parzialmente supportato in una regola di entrata o di uscita rende la regola non efficace per le richieste o le azioni specifiche delle autorizzazioni di base non supportate.
Per l'elenco dei ruoli parzialmente supportati e delle autorizzazioni non supportate associate, consulta Ruoli IAM parzialmente supportati.
L'utilizzo di un ruolo IAM non supportato in una regola di ingresso o di uscita rende la regola inefficace.
Per l'elenco dei ruoli non supportati, consulta Ruoli IAM non supportati.
Se vuoi utilizzare un ruolo personalizzato nelle regole di entrata e di uscita, assicurati che il ruolo personalizzato contenga solo le autorizzazioni supportate che fanno parte dei servizi supportati. Per l'elenco delle autorizzazioni non supportate per i servizi supportati, consulta Ruoli IAM parzialmente supportati e Ruoli IAM non supportati.
Non puoi utilizzare i ruoli personalizzati che hai creato a livello di progetto. In altre
parole, non puoi utilizzare un ruolo personalizzato nel seguente formato: projects/PROJECT_ID/roles/IDENTIFIER
.
Ruoli IAM parzialmente supportati
La tabella seguente elenca i ruoli IAM parzialmente supportati di servizi specifici:
Prodotto | Ruoli parzialmente supportati | Autorizzazioni non supportate |
---|---|---|
Cloud SQL |
|
|
|
|
|
Cloud Storage |
|
|
Identity and Access Management |
|
|
Resource Manager |
|
|
|
|
|
|
|
|
Spanner |
|
|
Altri ruoli parzialmente supportati |
|
|
Ruoli IAM non supportati
La tabella seguente elenca i ruoli IAM non supportati di servizi specifici:
Prodotto | Ruoli non supportati |
---|---|
Identity and Access Management |
|
Limitazioni
Non puoi utilizzare una regola di ingresso o di uscita basata sui ruoli per consentire alle richieste di impostare il criterio di autorizzazione IAM di un progetto nel confine del perimetro.
Se riscontri problemi con il caricamento della pagina di modifica dei servizi nella console Google Cloud a causa delle limitazioni di Controlli di servizio VPC, l'utilizzo dei ruoli IAM nelle regole di ingresso potrebbe non risolvere il problema. Questa limitazione non influisce sulla pagina di sola visualizzazione per questi servizi.
Quando una richiesta coinvolge più tipi di risorse di progetti diversi, la regola di ingresso o uscita che utilizza i ruoli IAM potrebbe non funzionare. Ad esempio, quando avvii un modello Dataflow che legge il testo da Cloud Storage in un altro progetto.
Se elimini un ruolo personalizzato dopo avervi fatto riferimento nella regola di entrata o di uscita di un perimetro, il perimetro diventa non modificabile.