Prerequisiti per l'utilizzo dell'orchestratore delle norme

Questa pagina descrive i prerequisiti per l'utilizzo della funzionalità dell'orchestratore delle policy in VM Manager.

Ruoli e autorizzazioni richiesti per creare e gestire gli orchestratori delle policy

Poiché gli orchestratori delle policy possono installare e gestire pacchetti software su istanze di macchine virtuali (VM) in progetti, cartelle o un'organizzazione, la concessione dell'autorizzazione per creare o aggiornare un orchestratore delle policy equivale alla concessione dell'accesso all'esecuzione di codice remoto sulle VM target. Quando configuri gli orchestratori delle policy, le autorizzazioni di Identity and Access Management (IAM) controllano l'accesso alle risorse degli orchestratori delle policy. Segui il principio del privilegio minimo e concedi solo l'accesso richiesto a ogni entità.

Per ottenere le autorizzazioni necessarie per creare e gestire gli orchestratori delle policy, chiedi all'amministratore di concederti i seguenti ruoli IAM:

  • Crea, aggiorna, elimina, visualizza ed elenca gli orchestratori delle policy: PolicyOrchestrator Admin (roles/osconfig.policyOrchestratorAdmin) sul progetto, sulla cartella o sull'organizzazione
  • Visualizza ed elenca gli orchestratori delle policy: PolicyOrchestrator Viewer (roles/osconfig.policyOrchestratorViewer) sul progetto, sulla cartella o sull'organizzazione
  • Utilizza un progetto di quota per le orchestrazioni a livello di cartella e di organizzazione: Service Usage Consumer (roles/serviceusage.serviceUsageConsumer) nel progetto di quota

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare e gestire gli orchestratori delle policy. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per creare e gestire gli orchestratori delle policy sono necessarie le seguenti autorizzazioni:

  • Crea orchestratori delle policy:
    • osconfig.policyOrchestrators.create
    • osconfig.operations.get
  • Aggiorna gli orchestratori delle policy:
    • osconfig.policyOrchestrators.update
    • osconfig.operations.get
  • Elimina gli orchestratori delle policy:
    • osconfig.policyOrchestrators.delete
    • osconfig.operations.get
  • Visualizza ed elenca gli orchestratori delle policy:
    • osconfig.policyOrchestrators.get
    • osconfig.policyOrchestrators.list
    • osconfig.locations.get
    • osconfig.locations.list
    • osconfig.operations.get
  • Utilizza un progetto di quota per le orchestrazioni a livello di cartella e di organizzazione: serviceusage.services.use

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Configura i prerequisiti dell'orchestratore delle policy utilizzando i comandi di gcloud CLI

Questa sezione elenca tutti i comandi gcloud che devi eseguire prima di poter utilizzare la funzionalità dell'orchestratore delle policy.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per eseguire i comandi dei prerequisiti per l'orchestratore delle policy, chiedi all'amministratore di concederti i seguenti ruoli IAM:

  • Configura e utilizza un progetto di quota per le orchestrazioni a livello di cartella e di organizzazione: Service Usage Consumer (roles/serviceusage.serviceUsageConsumer) nel progetto di quota
  • Abilitare l'API OS Config e l'API Progressive Rollout: Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin) sul progetto o sul progetto di quota
  • Creare gli agenti di servizio OS Config e Progressive Rollout: Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin) sul progetto, sulla cartella o sull'organizzazione
  • Concedi agli agenti di servizio l'accesso a un progetto: Project IAM Admin (roles/resourcemanager.projectIamAdmin) sul progetto
  • Concedi agli agenti di servizio l'accesso a una cartella: Folder IAM Admin (roles/resourcemanager.folderIamAdmin) o Amministratore cartelle (roles/resourcemanager.folderAdmin) sulla cartella
  • Concedi agli agenti di servizio l'accesso a un'organizzazione: Organization Admin (roles/resourcemanager.organizationAdmin) sull'organizzazione

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire i comandi dei prerequisiti per l'agente di orchestrazione delle policy. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per eseguire i comandi dei prerequisiti per l'orchestratore delle policy sono necessarie le seguenti autorizzazioni:

  • Configura e utilizza un progetto di quota per le orchestrazioni a livello di cartella e di organizzazione: serviceusage.services.use
  • Abilita l'API OS Config e l'API Progressive Rollout: serviceusage.services.enable
  • Crea agenti di servizio: serviceusage.services.generateServiceIdentity
  • Concedi agli agenti di servizio l'accesso a un progetto:
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • Concedi ai service agent l'accesso a una cartella:
    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.setIamPolicy
  • Concedi ai service agent l'accesso a un'organizzazione:
    • resourcemanager.organizations.getIamPolicy
    • resourcemanager.organizations.setIamPolicy

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Progetto

I seguenti comandi eseguono le attività necessarie per creare orchestrazioni a livello di progetto:

  # Enable OS Config API
  gcloud services enable osconfig.googleapis.com

  # Enable Progressive Rollout API
  gcloud services enable progressiverollout.googleapis.com

  # Create an OS config service agent
  gcloud beta services identity create --service=osconfig.googleapis.com  --project=PROJECT_NUMBER

  # Create a Progressive Rollout service agent
  gcloud beta services identity create --service=progressiverollout.googleapis.com  --project=PROJECT_NUMBER

  # Grant the required role to the OS config rollout service agent
  gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com" \
  --role="roles/osconfig.rolloutServiceAgent"

  # Grant the required role to the OS config service agent
  gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
  --role="roles/osconfig.serviceAgent"

  # Grant the required role to the Progressive Rollout service agent
  gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com" \
  --role="roles/progressiverollout.serviceAgent"

Sostituisci quanto segue:

  • PROJECT_ID: l'ID numerico del progetto in cui vuoi creare l'agente di servizio.
  • PROJECT_NUMBER: il numero di risorsa del progetto assegnato da Google al momento della creazione del progetto.

Per saperne di più, consulta La risorsa progetto.

Cartella

I seguenti comandi eseguono le attività necessarie per creare orchestrazioni a livello di cartella:

  # Set up the quota project
  gcloud config set billing/quota_project QUOTA_PROJECT_ID

  # Enable OS Config API
  gcloud services enable osconfig.googleapis.com

  # Create an OS config service agent
  gcloud beta services identity create --service=osconfig.googleapis.com  --folder=FOLDER_NUMBER

  # Create a Progressive Rollout service agent
  gcloud beta services identity create --service=progressiverollout.googleapis.com  --folder=FOLDER_NUMBER

  # Grant the required role to the OS config rollout service agent
  gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
  --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com" \
  --role="roles/osconfig.rolloutServiceAgent"

  # Grant the required role to the OS config service agent
  gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
  --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
  --role="roles/osconfig.serviceAgent"

  # Grant the required role to the Progressive Rollout service agent
  gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
  --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com" \
  --role="roles/progressiverollout.serviceAgent"
  

Sostituisci quanto segue:

  • QUOTA_PROJECT_ID: l'ID progetto del progetto di quota. Puoi scegliere qualsiasi progetto con la fatturazione abilitata.
  • FOLDER_NUMBER: l'ID numerico della cartella in cui vuoi creare l'agente di servizio.

Organizzazione

I seguenti comandi eseguono le attività necessarie per creare orchestrazioni a livello di organizzazione:

  # Set up the quota project
  gcloud config set billing/quota_project QUOTA_PROJECT_ID

  # Enable OS Config API
  gcloud services enable osconfig.googleapis.com

  # Create an OS config service agent
  gcloud beta services identity create --service=osconfig.googleapis.com --organization=ORGANIZATION_NUMBER

  # Create a Progressive Rollout service agent
  gcloud beta services identity create --service=progressiverollout.googleapis.com  --organization=ORGANIZATION_NUMBER

  # Grant the required role to the OS config rollout service agent
  gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
  --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com" \
  --role="roles/osconfig.rolloutServiceAgent"

  # Grant the required role to the OS config service agent
  gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
  --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
  --role="roles/osconfig.serviceAgent"

  # Grant the required role to the Progressive Rollout service agent
  gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
  --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com" \
  --role="roles/progressiverollout.serviceAgent"

Sostituisci quanto segue:

  • QUOTA_PROJECT_ID: l'ID progetto del progetto di quota. Puoi scegliere qualsiasi progetto con la fatturazione abilitata.
  • ORGANIZATION_NUMBER con l'ID numerico dell'organizzazione in cui vuoi creare l'agente di servizio.

Configura un progetto di quota o di fatturazione per le orchestrazioni di organizzazioni e cartelle

Quando utilizzi gli orchestratori delle policy per gestire le risorse delle policy del sistema operativo nella tua organizzazione o nelle tue cartelle, effettui richieste a un'API basata su client. Per le API basate su client è necessario un progetto di quota. Per saperne di più sulle API basate su client e sulla configurazione dei progetti di quota, consulta la panoramica dei progetti di quota.

Ruoli obbligatori

Per ottenere l'autorizzazione necessaria per utilizzare un progetto di quota per le orchestrazioni a livello di organizzazione e di cartella, chiedi all'amministratore di concederti il ruolo IAM Service Usage Consumer (roles/serviceusage.serviceUsageConsumer) nel progetto di quota. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione serviceusage.services.use, necessaria per utilizzare un progetto di quota per le orchestrazioni a livello di organizzazione e di cartella.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Quando utilizzi gcloud CLI o l'API REST per chiamare i metodi dell'orchestratore delle policy, specifica il progetto di quota come segue:

gcloud

Imposta il progetto di quota nella proprietà di configurazione di gcloud CLI:

gcloud config set billing/quota_project QUOTA_PROJECT_ID

Sostituisci QUOTA_PROJECT_ID con l'ID progetto del progetto di quota.

In alternativa, imposta il progetto di quota per un comando specifico utilizzando il flag --billing-project, che ha la precedenza sulla proprietà di configurazione.

REST

Aggiungi l'intestazione HTTP x-goog-user-project per specificare un progetto di quota in ogni richiesta. Per maggiori dettagli, consulta Imposta il progetto di quota con una richiesta REST.

Abilita l'API OS Config

Per utilizzare la funzionalità dell'agente di orchestrazione delle policy in VM Manager, abilita l'API OS Config nei seguenti progetti:

  • Per le orchestrazioni a livello di organizzazione e di cartella, abilita l'API OS Config per il progetto di quota.
  • Per le orchestrazioni a livello di progetto, abilita l'API OS Config nel progetto in cui crei gli orchestratori delle policy.

Ruoli obbligatori

Per ottenere l'autorizzazione necessaria per abilitare l'API OS Config, chiedi all'amministratore di concederti il ruolo IAM Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin) nel progetto o nel progetto di quota. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione serviceusage.services.enable, necessaria per abilitare l'API OS Config.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Per saperne di più, consulta Abilita l'API OS Config.

Abilita l'API Progressive Rollout per i progetti

Ruoli obbligatori

Per ottenere l'autorizzazione necessaria per abilitare l'API Progressive Rollout, chiedi all'amministratore di concederti il ruolo IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione serviceusage.services.enable, necessaria per attivare l'API Progressive Rollout.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Console

  1. Nella console Google Cloud , seleziona il progetto Google Cloud per cui vuoi abilitare l'API, quindi vai alla pagina API e servizi:

    Vai ad API e servizi

  2. Fai clic su Abilita API e servizi.

  3. Cerca "Implementazione progressiva".

  4. Nei risultati di ricerca, fai clic su API Progressive Rollout.

  5. Se l'API non è già abilitata, fai clic su Abilita.

gcloud

  1. Per verificare se l'API Progressive Rollout è abilitata, elenca i servizi abilitati per il tuo progetto:

     gcloud services list --project=PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID del progetto per il quale vuoi abilitare l'API.

    Se nell'output viene visualizzato progressiverollout.googleapis.com, l'API è abilitata.

  2. Se l'API non è abilitata, esegui questo comando per abilitarla:

     gcloud services enable progressiverollout.googleapis.com
    

    Per saperne di più, vedi gcloud services.

Configura gli agenti di servizio OS Config

L'agente di orchestrazione delle policy utilizza gli agenti di servizio OS Config per eseguire azioni nei tuoi progetti. Dipende anche dall'API Progressive Rollout, che ha i propri agenti di servizio. Per saperne di più, consulta Agenti di servizio.

Devi creare gli agenti di servizio per ogni progetto, cartella o organizzazione in cui crei l'orchestratore delle policy. Affinché l'orchestratore delle policy funzioni correttamente, concedi a questi agenti di servizio i ruoli IAM richiesti nella risorsa padre dell'orchestratore:

  • OSConfig Service Agent (roles/osconfig.serviceAgent) per l'account @gcp-sa-osconfig.iam.gserviceaccount.com
  • OSConfig Rollout Service Agent (roles/osconfig.rolloutServiceAgent) per l'account @gcp-sa-osconfig-rollout.iam.gserviceaccount.com
  • Agente di servizio Progressiverollout (roles/progressiverollout.serviceAgent) per l'account @gcp-sa-progrollout.iam.gserviceaccount.com

Per concedere i ruoli IAM agli agenti di servizio, utilizza la console Google Cloud o il comando add-iam-policy-binding. Per saperne di più, consulta Concedi un ruolo all'agente di servizio.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare gli agenti di servizio e concedere loro l'accesso, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto, nella cartella o nell'organizzazione in cui crei l'orchestratore delle policy:

  • Creazione di agenti di servizio: Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin)
  • Concedi agli agenti di servizio l'accesso a un progetto: Project IAM Admin (roles/resourcemanager.projectIamAdmin)
  • Concedi agli agenti di servizio l'accesso a una cartella: Folder IAM Admin (roles/resourcemanager.folderIamAdmin) o Amministratore cartelle (roles/resourcemanager.folderAdmin)
  • Concedi agli agenti di servizio l'accesso a progetti, cartelle e organizzazioni: Amministratore organizzazione (roles/resourcemanager.organizationAdmin)

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare gli agenti di servizio e concedere loro l'accesso. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per creare gli agenti di servizio e concedere loro l'accesso sono necessarie le seguenti autorizzazioni:

  • Crea agenti di servizio: serviceusage.services.generateServiceIdentity
  • Concedi agli agenti di servizio l'accesso a un progetto:
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • Concedi ai service agent l'accesso a una cartella:
    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.setIamPolicy
  • Concedi ai service agent l'accesso a un'organizzazione:
    • resourcemanager.organizations.getIamPolicy
    • resourcemanager.organizations.setIamPolicy

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Per creare gli agenti di servizio, segui questi passaggi.

  1. Esamina il formato dell'indirizzo email dell'agente di servizio per ogni risorsa:

    Progetto

    • service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com
    • service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com
    • service-PROJECT_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com

    Sostituisci PROJECT_NUMBER con l'ID numerico del progetto in cui crei gli orchestratori delle policy.

    Cartella

    • service-folder-FOLDER_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com
    • service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com
    • service-folder-FOLDER_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com

    Sostituisci FOLDER_NUMBER con l'ID numerico della cartella in cui crei gli orchestratori delle policy.

    Organizzazione

    • service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com
    • service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com
    • service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com

    Sostituisci ORGANIZATION_NUMBER con l'ID numerico dell'organizzazione in cui crei gli orchestratori delle policy.

  2. Per creare l'agente di servizio per un'API e una risorsa specificate, utilizza il comando gcloud beta services identity create:

    Progetto

    # Create an OS config service agent
    gcloud beta services identity create --service=osconfig.googleapis.com  --project=PROJECT_NUMBER
    
    # Create a Progressive Rollout service agent
    gcloud beta services identity create --service=progressiverollout.googleapis.com  --project=PROJECT_NUMBER
    

    Sostituisci PROJECT_NUMBER con l'ID numerico del progetto in cui vuoi creare l'agente di servizio.

    Cartella

    # Create an OS config service agent
    gcloud beta services identity create --service=osconfig.googleapis.com  --folder=FOLDER_NUMBER
    
    # Create a Progressive Rollout service agent
    gcloud beta services identity create --service=progressiverollout.googleapis.com  --folder=FOLDER_NUMBER
    

    Sostituisci FOLDER_NUMBER con l'ID numerico della cartella in cui vuoi creare l'agente di servizio.

    Organizzazione

    # Create an OS config service agent
    gcloud beta services identity create --service=osconfig.googleapis.com --organization=ORGANIZATION_NUMBER
    
    # Create a Progressive Rollout service agent
    gcloud beta services identity create --service=progressiverollout.googleapis.com  --organization=ORGANIZATION_NUMBER
    

    Sostituisci ORGANIZATION_NUMBER con l'ID numerico dell'organizzazione in cui vuoi creare l'agente di servizio.

Concedi i ruoli IAM agli agenti di servizio

Dopo aver creato gli agenti di servizio OS Config e Progressive Rollout, concedi loro i ruoli IAM richiesti (roles/osconfig.serviceAgent, roles/osconfig.rolloutServiceAgent e roles/progressiverollout.serviceAgent) sul progetto, sulla cartella o sull'organizzazione in cui crei l'orchestratore delle policy.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per concedere l'accesso agli agenti di servizio, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto, nella cartella o nell'organizzazione a cui stai concedendo l'accesso:

  • Concedi agli agenti di servizio l'accesso a un progetto: Project IAM Admin (roles/resourcemanager.projectIamAdmin)
  • Concedi agli agenti di servizio l'accesso a una cartella: Folder IAM Admin (roles/resourcemanager.folderIamAdmin) o Amministratore cartelle (roles/resourcemanager.folderAdmin)
  • Concedi agli agenti di servizio l'accesso a progetti, cartelle e organizzazioni: Amministratore organizzazione (roles/resourcemanager.organizationAdmin)

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per concedere l'accesso agli agenti di servizio. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per concedere l'accesso agli agenti di servizio sono necessarie le seguenti autorizzazioni:

  • Concedi agli agenti di servizio l'accesso a un progetto:
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • Concedi ai service agent l'accesso a una cartella:
    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.setIamPolicy
  • Concedi ai service agent l'accesso a un'organizzazione:
    • resourcemanager.organizations.getIamPolicy
    • resourcemanager.organizations.setIamPolicy

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Per concedere i ruoli dell'agente di servizio, esegui gcloud add-iam-policy-binding come segue:

Progetto

# Grant the required role to the OS config rollout service agent
 gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"

 # Grant the required role to the OS config service agent
 gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"

 # Grant the required role to the Progressive Rollout service agent
 gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

Sostituisci PROJECT_NUMBER con l'ID numerico del progetto a cui viene aggiunta l'associazione della policy IAM.

Cartella

# Grant the required role to the OS config rollout service agent
gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
 --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"

# Grant the required role to the OS config service agent
gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
 --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"

# Grant the required role to the Progressive Rollout service agent
gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
--member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

Sostituisci FOLDER_NUMBER con l'ID numerico della cartella a cui viene aggiunta l'associazione della policy IAM.

Organizzazione

# Grant the required role to the OS config rollout service agent
gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
 --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"

 # Grant the required role to the OS config service agent
 gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
 --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"

 # Grant the required role to the Progressive Rollout service agent
 gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
--member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

Sostituisci ORGANIZATION_NUMBER con l'ID numerico dell'organizzazione a cui viene aggiunta l'associazione della policy IAM.

Configura l'accesso per i progetti nei perimetri dei Controlli di servizio VPC

Se utilizzi orchestratori delle policy a livello di organizzazione o di cartella in progetti protetti dai Controlli di servizio VPC, devi concedere all'agente di servizio OSConfig Rollout l'accesso al perimetro di servizio dei Controlli di servizio VPC. Se non concedi questo accesso, l'orchestratore delle policy non riesce a creare, aggiornare o eliminare le assegnazioni delle policy del sistema operativo per questi progetti.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare gli orchestratori delle policy del sistema operativo da utilizzare all'interno dei perimetri dei Controlli di servizio VPC, chiedi all'amministratore di concederti il ruolo IAM Gestore contesto accesso Editor (roles/accesscontextmanager.policyEditor) sull'organizzazione. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per configurare gli orchestratori delle policy del sistema operativo da utilizzare all'interno dei perimetri dei Controlli di servizio VPC. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per configurare gli orchestratori delle policy del sistema operativo da utilizzare all'interno dei perimetri dei Controlli di servizio VPC, sono necessarie le seguenti autorizzazioni:

  • accesscontextmanager.servicePerimeters.get
  • accesscontextmanager.servicePerimeters.update

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Crea le regole in entrata

Per consentire all'agente di servizio di accedere alle risorse protette dai Controlli di servizio VPC, aggiungi una regola in entrata al perimetro di servizio pertinente.

Per saperne di più su come creare regole in entrata, consulta Configurazione delle policy in entrata e in uscita.

Cartella

Console

  1. Nella console Google Cloud , vai alla pagina Controlli di servizio VPC.

    Vai a Controlli di servizio VPC

  2. Seleziona la tua organizzazione.
  3. Nella pagina Controlli di servizio VPC, seleziona la policy di accesso che contiene il perimetro di servizio che vuoi aggiornare.
  4. Fai clic sul nome del perimetro di servizio che vuoi aggiornare, quindi su Modifica.
  5. Fai clic su Criterio in entrata.
  6. Fai clic su Aggiungi una regola in entrata.
  7. Nella sezione Da, specifica l'identità dell'agente di servizio:
    1. In Identità > Identità, seleziona Seleziona identità e gruppi.
    2. Fai clic su Aggiungi identità.
    3. Inserisci l'indirizzo email che identifica il seguente agente di servizio di implementazione OSConfig:

      service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com

      Sostituisci FOLDER_NUMBER con l'ID numerico della cartella.

  8. Nella sezione A, specifica le operazioni consentite:
    1. In Risorse > Progetti, seleziona Tutti i progetti.
    2. In Operazioni o ruoli IAM, seleziona Seleziona operazioni.
    3. Fai clic su Aggiungi operazioni e poi aggiungi la seguente operazione:
      1. Aggiungi il servizio osconfig.googleapis.com.
      2. Fai clic su Tutti i metodi.
  9. Fai clic su Fine.
  10. Fai clic su Salva.

gcloud

Per aggiungere la regola in entrata, crea un file YAML contenente la regola in entrata e utilizza il comando gcloud access-context-manager perimeters update con il flag --set-ingress-policies.

  1. Crea un file YAML della policy in entrata denominato ingress_policy.yaml con i seguenti contenuti:

     - ingressFrom:
         identities:
         - serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com
         sources:
         - accessLevel: '*'
       ingressTo:
         operations:
         - serviceName: osconfig.googleapis.com
           methodSelectors:
           - method: "*"
         resources:
         - "*"
    

    Sostituisci FOLDER_NUMBER con l'ID numerico della cartella.

  2. Aggiungi la policy in entrata al perimetro:

    gcloud access-context-manager perimeters update PERIMETER_NAME \
       --set-ingress-policies=ingress_policy.yaml
    

    Sostituisci PERIMETER_NAME con il nome del perimetro di servizio. Ad esempio, accessPolicies/1234567890/servicePerimeters/example_perimeter.

Organizzazione

Console

  1. Nella console Google Cloud , vai alla pagina Controlli di servizio VPC.

    Vai a Controlli di servizio VPC

  2. Seleziona la tua organizzazione.
  3. Nella pagina Controlli di servizio VPC, seleziona la policy di accesso che contiene il perimetro di servizio che vuoi aggiornare.
  4. Fai clic sul nome del perimetro di servizio che vuoi aggiornare, quindi su Modifica.
  5. Fai clic su Criterio in entrata.
  6. Fai clic su Aggiungi una regola in entrata.
  7. Nella sezione Da, specifica l'identità dell'agente di servizio:
    1. In Identità > Identità, seleziona Seleziona identità e gruppi.
    2. Fai clic su Aggiungi identità.
    3. Inserisci l'indirizzo email che identifica il seguente agente di servizio di implementazione OSConfig:

      service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com

      Sostituisci ORGANIZATION_NUMBER con l'ID numerico dell'organizzazione.

  8. Nella sezione A, specifica le operazioni consentite:
    1. In Risorse > Progetti, seleziona Tutti i progetti.
    2. In Operazioni o ruoli IAM, seleziona Seleziona operazioni.
    3. Fai clic su Aggiungi operazioni e poi aggiungi la seguente operazione:
      1. Aggiungi il servizio osconfig.googleapis.com.
      2. Fai clic su Tutti i metodi.
  9. Fai clic su Fine.
  10. Fai clic su Salva.

gcloud

Per aggiungere la regola in entrata, crea un file YAML contenente la regola in entrata e utilizza il comando gcloud access-context-manager perimeters update con il flag --set-ingress-policies.

  1. Crea un file YAML della policy in entrata denominato ingress_policy.yaml con i seguenti contenuti:

     - ingressFrom:
         identities:
         - serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com
         sources:
         - accessLevel: '*'
       ingressTo:
         operations:
         - serviceName: osconfig.googleapis.com
           methodSelectors:
           - method: "*"
         resources:
         - "*"
    

    Sostituisci ORGANIZATION_NUMBER con l'ID numerico dell'organizzazione.

  2. Aggiungi la policy in entrata al perimetro:

    gcloud access-context-manager perimeters update PERIMETER_NAME \
      --set-ingress-policies=ingress_policy.yaml
    

    Sostituisci PERIMETER_NAME con il nome del perimetro di servizio. Ad esempio, accessPolicies/1234567890/servicePerimeters/example_perimeter.

Passaggi successivi