Prerequisiti per l'utilizzo dell'orchestratore delle norme

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

Configurare un progetto 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 nelle cartelle o nell'organizzazione, invii richieste a un'API basata su client. Per le API basate su client è necessario un progetto quota. Per ulteriori informazioni sulle API basate su client e sulla configurazione dei progetti quota, consulta la Panoramica dei progetti quota.

Quando utilizzi l'interfaccia a riga di comando gcloud o l'API REST per chiamare i metodi dell'orchestratore delle norme, specifica il progetto quota come segue:

gcloud

Imposta il progetto quota nella proprietà di configurazione dell'interfaccia a riga di comando gcloud:

gcloud config set billing/quota_project QUOTA_PROJECT_ID

Sostituisci QUOTA_PROJECT_ID con l'ID del progetto quota.

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

REST

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

Abilita l'API OS Config

Per utilizzare la funzionalità di orchestrazione delle policy in VM Manager, attiva 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 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 Google Cloud, seleziona il progetto Google Cloud per cui vuoi attivare 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 graduale".

  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 il seguente 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 è attivata.

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

     gcloud services enable progressiverollout.googleapis.com
    

    Per ulteriori informazioni, consulta 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 ulteriori informazioni, consulta 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. Controlla 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 dei criteri.

    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 agenti di orchestrazione dei criteri.

    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 agenti di orchestrazione dei criteri.

  2. Per creare l'agente di servizio per un'API e una risorsa specificate, usa 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 i ruoli IAM agli agenti di servizio

Affinché l'orchestratore dei criteri funzioni correttamente, devi concedere tutti i ruoli degli agenti di servizio richiesti ai rispettivi account di servizio, nella risorsa principale dell'orchestratore:

  • Agente di servizio OSConfig (roles/osconfig.serviceAgent) per l'account @gcp-sa-osconfig.iam.gserviceaccount.com
  • Agente di servizio di implementazione di OS Config (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 ulteriori informazioni, 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 Gestire l'accesso a progetti, cartelle e organizzazioni.

    Questi ruoli predefiniti contengono le autorizzazioni necessarie per concedere l'accesso agli agenti di servizio. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

    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
    • Concedi 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 come segue:

Progetto

gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig-rollout.iam.gserviceaccount.com" \
 --role="roles/osconfig.rolloutServiceAgent"
 gcloud projects add-iam-policy-binding PROJECT_ID \
 --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
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 del criterio IAM.

Cartella

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"
 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"
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 del criterio IAM.

Organizzazione

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"
 gcloud organizations add-iam-policy-binding ORGANIZATION_NUMBER \
 --member="serviceAccount:service-org-ORGANIZATION_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com" \
 --role="roles/osconfig.serviceAgent"
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 aggiunto il vincolo del criterio IAM.

Passaggi successivi