Conditions préalables à l'utilisation de l'orchestrateur de règles

Cette page décrit les conditions préalables à l'utilisation de la fonctionnalité d'orchestrateur de règles dans VM Manager.

Rôles et autorisations requis pour créer et gérer des orchestrateurs de règles

Étant donné que les outils d'orchestration des règles peuvent installer et gérer des packages logiciels sur des instances de machine virtuelle (VM) dans des projets, des dossiers ou une organisation, accorder l'autorisation de créer ou de mettre à jour un outil d'orchestration des règles équivaut à accorder l'accès à l'exécution de code à distance sur les VM ciblées. Lorsque vous configurez des orchestrateurs de règles, les autorisations IAM (Identity and Access Management) contrôlent l'accès aux ressources de l'orchestrateur de règles. Suivez le principe du moindre privilège et n'accordez que l'accès requis à chaque compte principal.

Pour obtenir les autorisations nécessaires pour créer et gérer des orchestrateurs de règles, demandez à votre administrateur de vous accorder les rôles IAM suivants :

  • Créer, mettre à jour, supprimer, afficher et lister des orchestrateurs de règles : Administrateur PolicyOrchestrator (roles/osconfig.policyOrchestratorAdmin) sur le projet, le dossier ou l'organisation
  • Afficher et lister les orchestrateurs de règles : Lecteur PolicyOrchestrator (roles/osconfig.policyOrchestratorViewer) sur le projet, le dossier ou l'organisation
  • Utilisez un projet de quota pour les orchestrations au niveau du dossier et de l'organisation : Consommateur Service Usage (roles/serviceusage.serviceUsageConsumer) sur le projet de quota.

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour créer et gérer des orchestrateurs de règles. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer et gérer des orchestrateurs de règles :

  • Créer des outils d'orchestration des règles :
    • osconfig.policyOrchestrators.create
    • osconfig.operations.get
  • Mettre à jour les outils d'orchestration des règles :
    • osconfig.policyOrchestrators.update
    • osconfig.operations.get
  • Supprimer les outils d'orchestration des règles :
    • osconfig.policyOrchestrators.delete
    • osconfig.operations.get
  • Afficher et lister les outils d'orchestration des règles :
    • osconfig.policyOrchestrators.get
    • osconfig.policyOrchestrators.list
    • osconfig.locations.get
    • osconfig.locations.list
    • osconfig.operations.get
  • Utilisez un projet de quota pour les orchestrations au niveau du dossier et de l'organisation : serviceusage.services.use

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Configurer les conditions préalables de l'outil d'orchestration des règles à l'aide des commandes de la gcloud CLI

Cette section répertorie toutes les commandes gcloud que vous devez exécuter avant de pouvoir utiliser la fonctionnalité d'orchestrateur de règles.

Rôles requis

Pour obtenir les autorisations nécessaires pour exécuter les commandes préalables pour l'outil d'orchestration des règles, demandez à votre administrateur de vous accorder les rôles IAM suivants :

  • Configurer et utiliser un projet de quota pour les orchestrations au niveau du dossier et de l'organisation : Consommateur Service Usage (roles/serviceusage.serviceUsageConsumer) sur le projet de quota
  • Activer l'API OS Config et l'API Progressive Rollout : Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin) sur le projet ou le projet de quota
  • Créer les agents de service OS Config et Progressive Rollout : Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin) sur le projet, le dossier ou l'organisation
  • Autoriser les agents de service à accéder à un projet : Administrateur de projet IAM (roles/resourcemanager.projectIamAdmin) sur le projet
  • Autoriser les agents de service à accéder à un dossier : Administrateur IAM de dossier (roles/resourcemanager.folderIamAdmin) ou Administrateur de dossier (roles/resourcemanager.folderAdmin) sur le dossier
  • Autoriser les agents de service à accéder à une organisation : Administrateur de l'organisation (roles/resourcemanager.organizationAdmin) sur l'organisation

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour exécuter les commandes préalables pour l'outil d'orchestration des règles. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour exécuter les commandes préalables pour l'outil d'orchestration des règles :

  • Configurez et utilisez un projet de quota pour les orchestrations au niveau du dossier et de l'organisation : serviceusage.services.use
  • Activez l'API OS Config et l'API Progressive Rollout : serviceusage.services.enable
  • Créez des agents de service : serviceusage.services.generateServiceIdentity
  • Autoriser les agents de service à accéder à un projet :
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • Autoriser les agents de service à accéder à un dossier :
    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.setIamPolicy
  • Autoriser les agents de service à accéder à une organisation :
    • resourcemanager.organizations.getIamPolicy
    • resourcemanager.organizations.setIamPolicy

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Projet

Les commandes suivantes effectuent les tâches requises pour créer des orchestrations au niveau du projet :

  # 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"

Remplacez les éléments suivants :

  • PROJECT_ID : ID numérique du projet dans lequel vous souhaitez créer l'agent de service.
  • PROJECT_NUMBER : numéro de ressource du projet attribué par Google lors de la création du projet.

Pour en savoir plus, consultez La ressource de projet.

Dossier

Les commandes suivantes effectuent les tâches requises pour créer des orchestrations au niveau du dossier :

  # 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"
  

Remplacez les éléments suivants :

  • QUOTA_PROJECT_ID : ID du projet de quota. Vous pouvez choisir n'importe quel projet pour lequel la facturation est activée.
  • FOLDER_NUMBER : ID numérique du dossier dans lequel vous souhaitez créer l'agent de service.

Organisation

Les commandes suivantes effectuent les tâches requises pour créer des orchestrations au niveau de l'organisation :

  # 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"

Remplacez les éléments suivants :

  • QUOTA_PROJECT_ID : ID du projet de quota. Vous pouvez choisir n'importe quel projet pour lequel la facturation est activée.
  • ORGANIZATION_NUMBER par l'ID numérique de l'organisation dans laquelle vous souhaitez créer l'agent de service.

Configurer un projet de quota ou de facturation pour les orchestrations d'organisation et de dossier

Lorsque vous utilisez des outils d'orchestration de règles pour gérer les ressources de règles d'OS dans votre organisation ou vos dossiers, vous envoyez des requêtes à une API basée sur le client. Un projet de quota est requis pour les API basées sur le client. Pour en savoir plus sur les API basées sur le client et la configuration des projets de quota, consultez Présentation des projets de quota.

Rôles requis

Pour obtenir l'autorisation nécessaire pour utiliser un projet de quota pour les orchestrations au niveau de l'organisation et du dossier, demandez à votre administrateur de vous accorder le rôle IAM Consommateur Service Usage (roles/serviceusage.serviceUsageConsumer) sur le projet de quota. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient l'autorisation serviceusage.services.use, qui est nécessaire pour utiliser un projet de quota pour les orchestrations au niveau de l'organisation et du dossier.

Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.

Lorsque vous utilisez la gcloud CLI ou l'API REST pour appeler les méthodes de l'orchestrateur de règles, spécifiez le projet de quota comme suit :

gcloud

Définissez votre projet de quota dans la propriété de configuration de la gcloud CLI :

gcloud config set billing/quota_project QUOTA_PROJECT_ID

Remplacez QUOTA_PROJECT_ID par l'ID du projet de quota.

Vous pouvez également définir le projet de quota pour une commande spécifique à l'aide de l'option --billing-project, qui est prioritaire sur la propriété de configuration.

REST

Ajoutez l'en-tête HTTP x-goog-user-project pour spécifier un projet de quota dans chaque requête. Pour en savoir plus, consultez la section Définir le projet de quota avec une requête REST.

Activer l'API OS Config

Pour utiliser la fonctionnalité d'outil d'orchestration de règles dans VM Manager, activez l'API OS Config dans les projets suivants :

  • Pour les orchestrations au niveau de l'organisation et du dossier, activez l'API OS Config pour le projet de quota.
  • Pour les orchestrations au niveau du projet, activez l'API OS Config dans le projet où vous créez des orchestrateurs de règles.

Rôles requis

Pour obtenir l'autorisation nécessaire pour activer l'API OS Config, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin) sur le projet ou le projet de quota. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient l'autorisation serviceusage.services.enable, qui est requise pour activer l'API OS Config.

Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour en savoir plus, consultez Activer l'API OS Config.

Activer l'API Progressive Rollout pour les projets

Rôles requis

Pour obtenir l'autorisation nécessaire pour activer l'API Progressive Rollout, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient l'autorisation serviceusage.services.enable, qui est requise pour activer l'API Progressive Rollout.

Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.

Console

  1. Dans la console Google Cloud , sélectionnez le projet Google Cloud pour lequel vous souhaitez activer l'API, puis accédez à la page API et services :

    Accéder à API et services

  2. Cliquez sur Activer les API et les services.

  3. Recherchez "Déploiement progressif".

  4. Dans les résultats de recherche, cliquez sur API Progressive Rollout.

  5. Si l'API n'est pas déjà activée, cliquez sur Activer.

gcloud

  1. Pour vérifier si l'API Progressive Rollout est activée, listez les services activés pour votre projet :

     gcloud services list --project=PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID du projet pour lequel vous souhaitez activer l'API.

    Si progressiverollout.googleapis.com apparaît dans le résultat, l'API est activée.

  2. Si l'API n'est pas activée, exécutez la commande suivante pour l'activer :

     gcloud services enable progressiverollout.googleapis.com
    

    Pour en savoir plus, consultez les sections sur gcloud services

Configurer les agents de service OS Config

L'outil d'orchestration de règles utilise les agents de service OS Config pour effectuer des actions dans vos projets. Il dépend également de l'API Progressive Rollout, qui possède ses propres agents de service. Pour plus d'informations, consultez la page Agents de service.

Vous devez créer les agents de service pour chaque projet, dossier ou organisation dans lequel vous créez l'orchestrateur de règles. Pour que l'orchestrateur de règles fonctionne correctement, attribuez à ces agents de service les rôles IAM requis au niveau de la ressource parente de l'orchestrateur :

  • Agent de service OSConfig (roles/osconfig.serviceAgent) pour le compte @gcp-sa-osconfig.iam.gserviceaccount.com
  • Agent de service de déploiement OSConfig (roles/osconfig.rolloutServiceAgent) pour le compte @gcp-sa-osconfig-rollout.iam.gserviceaccount.com
  • Agent de service Progressiverollout (roles/progressiverollout.serviceAgent) pour le compte @gcp-sa-progrollout.iam.gserviceaccount.com

Pour attribuer des rôles IAM aux agents de service, utilisez la console Google Cloud ou la commande add-iam-policy-binding. Pour en savoir plus, consultez Attribuer un rôle à l'agent de service.

Rôles requis

Pour obtenir les autorisations nécessaires pour créer les agents de service et leur accorder l'accès, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet, le dossier ou l'organisation où vous créez l'orchestrateur de règles :

  • Créer des agents de service : Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin)
  • Autoriser les agents de service à accéder à un projet : Administrateur de projet IAM (roles/resourcemanager.projectIamAdmin)
  • Autoriser les agents de service à accéder à un dossier : Administrateur IAM de dossier (roles/resourcemanager.folderIamAdmin) ou Administrateur de dossier (roles/resourcemanager.folderAdmin)
  • Autoriser les agents de service à accéder aux projets, aux dossiers et aux organisations : Administrateur d'organisation (roles/resourcemanager.organizationAdmin)

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour créer les agents de service et leur accorder l'accès. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Vous devez disposer des autorisations suivantes pour créer les agents de service et leur accorder l'accès :

  • Créez des agents de service : serviceusage.services.generateServiceIdentity
  • Autoriser les agents de service à accéder à un projet :
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • Autoriser les agents de service à accéder à un dossier :
    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.setIamPolicy
  • Autoriser les agents de service à accéder à une organisation :
    • resourcemanager.organizations.getIamPolicy
    • resourcemanager.organizations.setIamPolicy

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour créer les agents de service, procédez comme suit.

  1. Vérifiez le format de l'adresse e-mail de l'agent de service pour chaque ressource :

    Projet

    • 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

    Remplacez PROJECT_NUMBER par l'ID numérique du projet dans lequel vous créez les orchestrateurs de règles.

    Dossier

    • 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

    Remplacez FOLDER_NUMBER par l'ID numérique du dossier dans lequel vous créez les orchestrateurs de règles.

    Organisation

    • 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

    Remplacez ORGANIZATION_NUMBER par l'ID numérique de l'organisation dans laquelle vous créez les orchestrateurs de règles.

  2. Pour créer l'agent de service pour une API et une ressource spécifiées, utilisez la commande gcloud beta services identity create :

    Projet

    # 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
    

    Remplacez PROJECT_NUMBER par l'ID numérique du projet dans lequel vous souhaitez créer l'agent de service.

    Dossier

    # 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
    

    Remplacez FOLDER_NUMBER par l'ID numérique du dossier dans lequel vous souhaitez créer l'agent de service.

    Organisation

    # 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
    

    Remplacez ORGANIZATION_NUMBER par l'ID numérique de l'organisation dans laquelle vous souhaitez créer l'agent de service.

Attribuer des rôles IAM aux agents de service

Après avoir créé les agents de service OS Config et Progressive Rollout, attribuez-leur les rôles IAM requis (roles/osconfig.serviceAgent, roles/osconfig.rolloutServiceAgent et roles/progressiverollout.serviceAgent) sur le projet, le dossier ou l'organisation où vous créez l'orchestrateur de règles.

Rôles requis

Pour obtenir les autorisations nécessaires pour accorder l'accès aux agents de service, demandez à votre administrateur de vous attribuer les rôles IAM suivants sur le projet, le dossier ou l'organisation auxquels vous accordez l'accès :

  • Autoriser les agents de service à accéder à un projet : Administrateur de projet IAM (roles/resourcemanager.projectIamAdmin)
  • Autoriser les agents de service à accéder à un dossier : Administrateur IAM de dossier (roles/resourcemanager.folderIamAdmin) ou Administrateur de dossier (roles/resourcemanager.folderAdmin)
  • Autoriser les agents de service à accéder aux projets, aux dossiers et aux organisations : Administrateur d'organisation (roles/resourcemanager.organizationAdmin)

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour accorder l'accès aux agents de service. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Vous devez disposer des autorisations suivantes pour accorder l'accès aux agents de service :

  • Autoriser les agents de service à accéder à un projet :
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • Autoriser les agents de service à accéder à un dossier :
    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.setIamPolicy
  • Autoriser les agents de service à accéder à une organisation :
    • resourcemanager.organizations.getIamPolicy
    • resourcemanager.organizations.setIamPolicy

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour attribuer les rôles d'agent de service, exécutez gcloud add-iam-policy-binding comme suit :

Projet

# 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"

Remplacez PROJECT_NUMBER par l'ID numérique du projet auquel la liaison de stratégie IAM est ajoutée.

Dossier

# 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"

Remplacez FOLDER_NUMBER par l'ID numérique du dossier auquel la liaison de stratégie IAM est ajoutée.

Organisation

# 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"

Remplacez ORGANIZATION_NUMBER par l'ID numérique de l'organisation à laquelle la liaison de stratégie IAM est ajoutée.

Configurer l'accès pour les projets dans les périmètres VPC Service Controls

Si vous utilisez des orchestrateurs de règles au niveau de l'organisation ou du dossier dans des projets protégés par VPC Service Controls, vous devez accorder à l'agent de service OSConfig Rollout l'accès au périmètre de service VPC Service Controls. Si vous n'accordez pas cet accès, l'outil d'orchestration des règles ne pourra pas créer, mettre à jour ni supprimer les attributions de règles d'OS pour ces projets.

Rôles requis

Pour obtenir les autorisations nécessaires pour configurer des orchestrateurs de règles d'OS à utiliser dans les périmètres VPC Service Controls, demandez à votre administrateur de vous accorder le rôle IAM Éditeur Access Context Manager (roles/accesscontextmanager.policyEditor) sur l'organisation. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour configurer des orchestrateurs de règles d'OS à utiliser dans les périmètres VPC Service Controls. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour configurer les outils d'orchestration des règles d'OS à utiliser dans les périmètres VPC Service Controls :

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

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Créer les règles d'entrée

Pour permettre à l'agent de service d'accéder aux ressources protégées par VPC Service Controls, ajoutez une règle d'entrée au périmètre de service concerné.

Pour en savoir plus sur la création de règles d'entrée, consultez Configurer des règles d'entrée et de sortie.

Dossier

Console

  1. Dans la console Google Cloud , accédez à la page VPC Service Controls.

    Accéder à VPC Service Controls

  2. Sélectionner votre organisation.
  3. Sur la page VPC Service Controls, sélectionnez la règle d'accès contenant le périmètre de service que vous souhaitez mettre à jour.
  4. Cliquez sur le nom du périmètre de service que vous souhaitez mettre à jour, puis sur Modifier.
  5. Cliquez sur Règle d'entrée.
  6. Cliquez sur Ajouter une règle d'entrée.
  7. Dans la section De, spécifiez l'identité de l'agent de service :
    1. Pour Identités > Identité, sélectionnez Sélectionner des identités et des groupes.
    2. Cliquez sur Ajouter des identités.
    3. Saisissez l'adresse e-mail qui identifie l'agent de service de déploiement OSconfig suivant :

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

      Remplacez FOLDER_NUMBER par l'ID numérique du dossier.

  8. Dans la section To (À), spécifiez les opérations autorisées :
    1. Pour Ressources > Projets, sélectionnez Tous les projets.
    2. Pour Opérations ou rôles IAM, sélectionnez Sélectionner des opérations.
    3. Cliquez sur Ajouter des opérations, puis ajoutez l'opération suivante :
      1. Ajoutez le service osconfig.googleapis.com.
      2. Cliquez sur Toutes les méthodes.
  9. Cliquez sur OK.
  10. Cliquez sur Enregistrer.

gcloud

Pour ajouter la règle d'entrée, créez un fichier YAML contenant la règle d'entrée et utilisez la commande gcloud access-context-manager perimeters update avec l'option --set-ingress-policies.

  1. Créez un fichier YAML de règle d'entrée nommé ingress_policy.yaml avec le contenu suivant :

     - 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:
         - "*"
    

    Remplacez FOLDER_NUMBER par l'ID numérique du dossier.

  2. Ajoutez la règle d'entrée au périmètre :

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

    Remplacez PERIMETER_NAME par le nom de votre périmètre de service. Exemple :accessPolicies/1234567890/servicePerimeters/example_perimeter

Organisation

Console

  1. Dans la console Google Cloud , accédez à la page VPC Service Controls.

    Accéder à VPC Service Controls

  2. Sélectionner votre organisation.
  3. Sur la page VPC Service Controls, sélectionnez la règle d'accès contenant le périmètre de service que vous souhaitez mettre à jour.
  4. Cliquez sur le nom du périmètre de service que vous souhaitez mettre à jour, puis sur Modifier.
  5. Cliquez sur Règle d'entrée.
  6. Cliquez sur Ajouter une règle d'entrée.
  7. Dans la section De, spécifiez l'identité de l'agent de service :
    1. Pour Identités > Identité, sélectionnez Sélectionner des identités et des groupes.
    2. Cliquez sur Ajouter des identités.
    3. Saisissez l'adresse e-mail qui identifie l'agent de service de déploiement OSconfig suivant :

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

      Remplacez ORGANIZATION_NUMBER par l'ID numérique de l'organisation.

  8. Dans la section To (À), spécifiez les opérations autorisées :
    1. Pour Ressources > Projets, sélectionnez Tous les projets.
    2. Pour Opérations ou rôles IAM, sélectionnez Sélectionner des opérations.
    3. Cliquez sur Ajouter des opérations, puis ajoutez l'opération suivante :
      1. Ajoutez le service osconfig.googleapis.com.
      2. Cliquez sur Toutes les méthodes.
  9. Cliquez sur OK.
  10. Cliquez sur Enregistrer.

gcloud

Pour ajouter la règle d'entrée, créez un fichier YAML contenant la règle d'entrée et utilisez la commande gcloud access-context-manager perimeters update avec l'option --set-ingress-policies.

  1. Créez un fichier YAML de règle d'entrée nommé ingress_policy.yaml avec le contenu suivant :

     - 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:
         - "*"
    

    Remplacez ORGANIZATION_NUMBER par l'ID numérique de l'organisation.

  2. Ajoutez la règle d'entrée au périmètre :

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

    Remplacez PERIMETER_NAME par le nom de votre périmètre de service. Exemple :accessPolicies/1234567890/servicePerimeters/example_perimeter

Étape suivante