Prerequisiti per l'utilizzo dell'orchestratore delle norme

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

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

Quando utilizzi gli agenti di orchestrazione delle policy per gestire le risorse delle policy del sistema operativo nella tua organizzazione o nelle cartelle, effettui richieste a un'API basata su client. Per le API basate sul 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 del progetto di quota.

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

gcloud

Imposta il progetto di quota nella proprietà di configurazione 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 Impostare il progetto di quota con una richiesta REST.

Abilita l'API OS Config

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

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

Per ulteriori informazioni, vedi Attivare l'API OS Config.

Abilita l'API Progressive Rollout per i progetti

Console

  1. Nella console Trusted Cloud , seleziona il progetto Trusted Cloud per cui vuoi abilitare l'API e poi 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, esegui questo comando dopo aver sostituito PROJECT_ID con l'ID del progetto per cui vuoi abilitare l'API:

     gcloud services list --project=PROJECT_ID
    

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

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

     gcloud services enable progressiverollout.googleapis.com
    

    Per ulteriori informazioni, 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 service agent. Per saperne di più, vedi Agenti di servizio.

Devi creare gli agenti di servizio per ogni progetto, cartella o organizzazione in cui crei l'orchestratore dei criteri.

Per creare gli agenti di servizio:

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

    Progetto

    • service-PROJECT_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com
    • service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
    • service-PROJECT_NUMBER@gcp-sa-progrollout.s3ns-system.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.s3ns-system.iam.gserviceaccount.com
    • service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
    • service-folder-FOLDER_NUMBER@gcp-sa-progrollout.s3ns-system.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.s3ns-system.iam.gserviceaccount.com
    • service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com
    • service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.s3ns-system.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

    gcloud beta services identity create --service=osconfig.googleapis.com  --project=PROJECT_NUMBER
    
    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

    gcloud beta services identity create --service=osconfig.googleapis.com  --folder=FOLDER_NUMBER
    
    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

    gcloud beta services identity create --service=osconfig.googleapis.com --organization=ORGANIZATION_NUMBER
    
    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 ruoli IAM agli agenti di servizio

Affinché l'orchestratore dei criteri funzioni correttamente, devi concedere tutti i ruoli dell'agente di servizio ai rispettivi service account nella risorsa padre dell'orchestratore:

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

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

Ruoli obbligatori

  • Per ottenere le autorizzazioni necessarie per concedere l'accesso agli agenti di servizio, chiedi all'amministratore di concederti i seguenti ruoli IAM per il progetto, la cartella o l'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: Amministratore cartella (roles/resourcemanager.folderAdmin)
    • Concedi agli agenti di servizio l'accesso a progetti, cartelle e organizzazioni: Amministratore dell'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 agli agenti di servizio l'accesso a una cartella:
      • resourcemanager.folders.getIamPolicy
      • resourcemanager.folders.setIamPolicy
    • Concedere agli agenti di servizio 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 nel seguente modo:

Progetto

gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"
 gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

Sostituisci PROJECT_NUMBER con l'ID numerico del progetto a cui viene aggiunto il binding della policy IAM.

Cartella

gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
 --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"
 gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
 --member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
gcloud resource-manager folders add-iam-policy-binding FOLDER_NUMBER \
--member="serviceAccount:service-folder-FOLDER_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

Sostituisci FOLDER_NUMBER con l'ID numerico della cartella a cui viene aggiunto il binding del criterio IAM.

Organizzazione

gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
 --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig-rollout.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"
 gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
 --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.s3ns-system.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
--member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-progrollout.s3ns-system.iam.gserviceaccount.com" \
--role="roles/progressiverollout.serviceAgent"

Sostituisci ORGANIZATION_NUMBER con l'ID numerico dell'organizzazione a cui viene aggiunto il binding del criterio IAM.

Passaggi successivi