Requisitos previos para usar el orquestador de políticas

En esta página, se describen los requisitos previos para usar la función de organizador de políticas en VM Manager.

Roles y permisos necesarios para crear y administrar coordinadores de políticas

Debido a que los organizadores de políticas pueden instalar y administrar paquetes de software en instancias de máquinas virtuales (VM) en proyectos, carpetas o una organización, otorgar permiso para crear o actualizar un organizador de políticas equivale a otorgar acceso de ejecución de código remoto en las VMs de destino. Cuando configuras los coordinadores de políticas, los permisos de Identity and Access Management (IAM) controlan el acceso a los recursos de los coordinadores de políticas. Sigue el principio de privilegio mínimo y otorga solo el acceso requerido a cada principal.

Para obtener los permisos que necesitas para crear y administrar coordinadores de políticas, pídele a tu administrador que te otorgue los siguientes roles de IAM:

  • Crea, actualiza, borra, visualiza y enumera organizadores de políticas: Administrador de PolicyOrchestrator (roles/osconfig.policyOrchestratorAdmin) en el proyecto, la carpeta o la organización
  • Visualiza y enumera los coordinadores de políticas: Visualizador de PolicyOrchestrator (roles/osconfig.policyOrchestratorViewer) en el proyecto, la carpeta o la organización
  • Usa un proyecto de cuota para las organizaciones a nivel de carpeta y de organización: Consumidor de Service Usage (roles/serviceusage.serviceUsageConsumer) en el proyecto de cuota

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para crear y administrar coordinadores de políticas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear y administrar coordinadores de políticas:

  • Crea organizadores de políticas:
    • osconfig.policyOrchestrators.create
    • osconfig.operations.get
  • Actualiza los organizadores de políticas:
    • osconfig.policyOrchestrators.update
    • osconfig.operations.get
  • Borra los organizadores de políticas:
    • osconfig.policyOrchestrators.delete
    • osconfig.operations.get
  • Visualiza y enumera los organizadores de políticas:
    • osconfig.policyOrchestrators.get
    • osconfig.policyOrchestrators.list
    • osconfig.locations.get
    • osconfig.locations.list
    • osconfig.operations.get
  • Usa un proyecto de cuota para las coordinaciones a nivel de carpeta y de organización: serviceusage.services.use

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Configura los requisitos previos del organizador de políticas con los comandos de gcloud CLI

En esta sección, se enumeran todos los comandos de gcloud que debes ejecutar antes de poder usar la función de organización de políticas.

Roles obligatorios

Para obtener los permisos que necesitas para ejecutar los comandos de requisitos previos del organizador de políticas, pídele a tu administrador que te otorgue los siguientes roles de IAM:

  • Configura y usa un proyecto de cuota para las organizaciones a nivel de carpeta y de organización: Consumidor de Service Usage (roles/serviceusage.serviceUsageConsumer) en el proyecto de cuota
  • Habilita la API de OS Config y la API de Progressive Rollout: Administrador de Service Usage (roles/serviceusage.serviceUsageAdmin) en el proyecto o el proyecto de cuota
  • Crea los agentes de servicio de OS Config y de lanzamiento progresivo: Administrador de Service Usage (roles/serviceusage.serviceUsageAdmin) en el proyecto, la carpeta o la organización
  • Otorga a los agentes de servicio acceso a un proyecto: Administrador de IAM de proyecto (roles/resourcemanager.projectIamAdmin) en el proyecto
  • Otorga a los agentes de servicio acceso a una carpeta: Administrador de IAM de carpetas (roles/resourcemanager.folderIamAdmin) o Administrador de carpetas (roles/resourcemanager.folderAdmin) en la carpeta
  • Otorga a los agentes de servicio acceso a una organización: Administrador de la organización (roles/resourcemanager.organizationAdmin) en la organización

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para ejecutar los comandos de requisitos previos del organizador de políticas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para ejecutar los comandos de requisitos previos del organizador de políticas:

  • Configura y usa un proyecto de cuota para las coordinaciones a nivel de carpeta y de organización: serviceusage.services.use
  • Habilita la API de configuración del SO y la API de lanzamiento progresivo: serviceusage.services.enable
  • Crea agentes de servicio: serviceusage.services.generateServiceIdentity
  • Otorga a los agentes de servicio acceso a un proyecto:
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • Otorga a los agentes de servicio acceso a una carpeta:
    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.setIamPolicy
  • Otorga a los agentes de servicio acceso a una organización:
    • resourcemanager.organizations.getIamPolicy
    • resourcemanager.organizations.setIamPolicy

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Proyecto

Los siguientes comandos realizan las tareas necesarias para crear coordinaciones a nivel de proyecto:

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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID numérico del proyecto en el que deseas crear el agente de servicio.
  • PROJECT_NUMBER: Es el número de recurso del proyecto que asignó Google cuando lo creaste.

Para obtener más información, consulta El recurso del proyecto.

Carpeta

Los siguientes comandos realizan las tareas necesarias para crear las organizaciones a nivel de carpeta:

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

Reemplaza lo siguiente:

  • QUOTA_PROJECT_ID: Es el ID del proyecto de cuota. Puedes elegir cualquier proyecto que tenga habilitada la facturación.
  • FOLDER_NUMBER: Es el ID numérico de la carpeta en la que deseas crear el agente de servicio.

Organización

Los siguientes comandos realizan las tareas necesarias para crear organizaciones a nivel de la organización:

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

Reemplaza lo siguiente:

  • QUOTA_PROJECT_ID: Es el ID del proyecto de cuota. Puedes elegir cualquier proyecto que tenga habilitada la facturación.
  • ORGANIZATION_NUMBER por el ID numérico de la organización en la que deseas crear el agente de servicio.

Configura un proyecto de cuota o facturación para las organizaciones y carpetas

Cuando usas organizadores de políticas para administrar recursos de políticas del SO en tu organización o carpetas, realizas solicitudes a una API basada en el cliente. Se requiere un proyecto de cuota para las APIs basadas en el cliente. Para obtener más información sobre las APIs basadas en el cliente y la configuración de proyectos de cuota, consulta Descripción general de los proyectos de cuota.

Roles obligatorios

Si quieres obtener el permiso que necesitas para usar un proyecto de cuota para las organizaciones y carpetas, pídele a tu administrador que te otorgue el rol de IAM de consumidor de Service Usage (roles/serviceusage.serviceUsageConsumer) en el proyecto de cuota. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el permiso serviceusage.services.use, que es necesario para usar un proyecto de cuota para las coordinaciones a nivel de organización y de carpeta.

También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.

Cuando uses gcloud CLI o la API de REST para llamar a los métodos del organizador de políticas, especifica el proyecto de cuota de la siguiente manera:

gcloud

Establece el proyecto de cuota en la propiedad de configuración de gcloud CLI:

gcloud config set billing/quota_project QUOTA_PROJECT_ID

Reemplaza QUOTA_PROJECT_ID por el ID del proyecto de cuota.

Como alternativa, configura el proyecto de cuota para un comando específico con la marca --billing-project, que tiene prioridad sobre la propiedad de configuración.

REST

Agrega el encabezado HTTP x-goog-user-project para especificar un proyecto de cuota en cada solicitud. Para obtener más detalles, consulta Configura el proyecto de cuota con una solicitud de REST.

Habilita la API de OS Config

Para usar la función de organizador de políticas en VM Manager, habilita la API de OS Config en los siguientes proyectos:

  • En el caso de las organizaciones y las carpetas, habilita la API de configuración del SO para el proyecto de cuota.
  • Para las coordinaciones a nivel de proyecto, habilita la API de configuración del SO en el proyecto en el que creas coordinadores de políticas.

Roles obligatorios

Para obtener el permiso que necesitas para habilitar la API de OS Config, pídele a tu administrador que te otorgue el rol de IAM de Administrador de Service Usage (roles/serviceusage.serviceUsageAdmin) en el proyecto o el proyecto de cuota. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el permiso serviceusage.services.enable, que se requiere para habilitar la API de configuración del SO.

También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.

Para obtener más información, consulta Habilita la API de OS Config.

Habilita la API de Progressive Rollout para los proyectos

Roles obligatorios

Para obtener el permiso que necesitas para habilitar la API de Progressive Rollout, pídele a tu administrador que te otorgue el rol de IAM de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el permiso serviceusage.services.enable, que se requiere para habilitar la API de Progressive Rollout.

También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.

Console

  1. En la consola de Google Cloud , selecciona el proyecto de Google Cloud en el que quieres habilitar la API y, luego, ve a la página APIs y servicios:

    Ir a APIs y servicios

  2. Haz clic en Habilitar APIs y servicios.

  3. Busca "Lanzamiento progresivo".

  4. En los resultados de la búsqueda, haz clic en API de Progressive Rollout.

  5. Si la API todavía no está habilitada, haz clic en Habilitar.

gcloud

  1. Para ver si la API de Progressive Rollout está habilitada, enumera los servicios habilitados para tu proyecto:

     gcloud services list --project=PROJECT_ID
    

    Reemplaza PROJECT_ID por el ID del proyecto para el que deseas habilitar la API.

    Si progressiverollout.googleapis.com aparece en el resultado, la API está habilitada.

  2. Si la API no está habilitada, ejecuta el siguiente comando para habilitarla:

     gcloud services enable progressiverollout.googleapis.com
    

    Para obtener más información, consulta gcloud services

Configura los agentes de servicio de configuración del SO

El organizador de políticas usa los agentes de servicio de OS Config para realizar acciones en tus proyectos. También depende de la API de Progressive Rollout, que tiene sus propios agentes de servicio. Para obtener más información, consulta Agentes de servicio.

Debes crear los agentes de servicio para cada proyecto, carpeta u organización en la que crees el organizador de políticas. Para que el organizador de políticas funcione correctamente, otorga a estos agentes de servicio los roles de IAM necesarios en el recurso superior del organizador:

  • Agente de servicio de OSConfig (roles/osconfig.serviceAgent) para la cuenta @gcp-sa-osconfig.iam.gserviceaccount.com
  • Agente de servicio de implementación de OSConfig (roles/osconfig.rolloutServiceAgent) para la cuenta @gcp-sa-osconfig-rollout.iam.gserviceaccount.com
  • Agente de servicio de Progressiverollout (roles/progressiverollout.serviceAgent) para la cuenta @gcp-sa-progrollout.iam.gserviceaccount.com

Para otorgar roles de IAM a los agentes de servicio, usa la consola de Google Cloud o el comando add-iam-policy-binding. Para obtener más información, consulta Otorga un rol al agente de servicio.

Roles obligatorios

Para obtener los permisos que necesitas para crear los agentes de servicio y otorgarles acceso, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto, la carpeta o la organización en los que creas el organizador de políticas:

  • Crea agentes de servicio: Administrador de Service Usage (roles/serviceusage.serviceUsageAdmin)
  • Otorga a los agentes de servicio acceso a un proyecto: Administrador de IAM de proyecto (roles/resourcemanager.projectIamAdmin)
  • Otorga a los agentes de servicio acceso a una carpeta: Administrador de IAM de carpetas (roles/resourcemanager.folderIamAdmin) o Administrador de carpetas (roles/resourcemanager.folderAdmin)
  • Otorga a los agentes de servicio acceso a proyectos, carpetas y organizaciones: Administrador de la organización (roles/resourcemanager.organizationAdmin)

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para crear los agentes de servicio y otorgarles acceso. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear los agentes de servicio y otorgarles acceso:

  • Crea agentes de servicio: serviceusage.services.generateServiceIdentity
  • Otorga a los agentes de servicio acceso a un proyecto:
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • Otorga a los agentes de servicio acceso a una carpeta:
    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.setIamPolicy
  • Otorga a los agentes de servicio acceso a una organización:
    • resourcemanager.organizations.getIamPolicy
    • resourcemanager.organizations.setIamPolicy

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Para crear los agentes de servicio, haz lo siguiente.

  1. Revisa el formato de la dirección de correo electrónico del agente de servicio para cada recurso:

    Proyecto

    • 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

    Reemplaza PROJECT_NUMBER por el ID numérico del proyecto en el que creas los coordinadores de políticas.

    Carpeta

    • 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

    Reemplaza FOLDER_NUMBER por el ID numérico de la carpeta en la que creas los coordinadores de políticas.

    Organización

    • 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

    Reemplaza ORGANIZATION_NUMBER por el ID numérico de la organización en la que creas los coordinadores de políticas.

  2. Para crear el agente de servicio para una API y un recurso especificados, usa el comando gcloud beta services identity create:

    Proyecto

    # 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
    

    Reemplaza PROJECT_NUMBER por el ID numérico del proyecto en el que deseas crear el agente de servicio.

    Carpeta

    # 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
    

    Reemplaza FOLDER_NUMBER por el ID numérico de la carpeta en la que deseas crear el agente de servicio.

    Organización

    # 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
    

    Reemplaza ORGANIZATION_NUMBER por el ID numérico de la organización en la que deseas crear el agente de servicio.

Otorga roles de IAM a los agentes de servicio

Después de crear los agentes de servicio de configuración del SO y de lanzamiento progresivo, otórgales los roles de IAM necesarios (roles/osconfig.serviceAgent, roles/osconfig.rolloutServiceAgent y roles/progressiverollout.serviceAgent) en el proyecto, la carpeta o la organización en la que creas el organizador de políticas.

Roles obligatorios

Para obtener los permisos que necesitas para otorgar acceso a los agentes de servicio, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto, la carpeta o la organización a los que otorgas acceso:

  • Otorga a los agentes de servicio acceso a un proyecto: Administrador de IAM de proyecto (roles/resourcemanager.projectIamAdmin)
  • Otorga a los agentes de servicio acceso a una carpeta: Administrador de IAM de carpetas (roles/resourcemanager.folderIamAdmin) o Administrador de carpetas (roles/resourcemanager.folderAdmin)
  • Otorga a los agentes de servicio acceso a proyectos, carpetas y organizaciones: Administrador de la organización (roles/resourcemanager.organizationAdmin)

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para otorgar acceso a los agentes de servicio. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para otorgar acceso a los agentes de servicio:

  • Otorga a los agentes de servicio acceso a un proyecto:
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • Otorga a los agentes de servicio acceso a una carpeta:
    • resourcemanager.folders.getIamPolicy
    • resourcemanager.folders.setIamPolicy
  • Otorga a los agentes de servicio acceso a una organización:
    • resourcemanager.organizations.getIamPolicy
    • resourcemanager.organizations.setIamPolicy

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Para otorgar los roles de agente de servicio, ejecuta el gcloud add-iam-policy-binding de la siguiente manera:

Proyecto

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

Reemplaza PROJECT_NUMBER por el ID numérico del proyecto al que se agrega la vinculación de la política de IAM.

Carpeta

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

Reemplaza FOLDER_NUMBER por el ID numérico de la carpeta a la que se agrega la vinculación de la política de IAM.

Organización

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

Reemplaza ORGANIZATION_NUMBER por el ID numérico de la organización a la que se agrega la vinculación de la política de IAM.

Configura el acceso para proyectos en perímetros de Controles del servicio de VPC

Si usas coordinadores de políticas a nivel de la organización o de la carpeta en proyectos protegidos por los Controles del servicio de VPC, debes otorgar acceso al agente de servicio de lanzamiento de OSConfig al perímetro de servicio de los Controles del servicio de VPC. Si no otorgas este acceso, el organizador de políticas no podrá crear, actualizar ni borrar asignaciones de políticas del SO para estos proyectos.

Roles obligatorios

Para obtener los permisos que necesitas para configurar los coordinadores de políticas del SO para usarlos dentro de los perímetros de los Controles del servicio de VPC, pídele a tu administrador que te otorgue el rol de IAM de editor de Access Context Manager (roles/accesscontextmanager.policyEditor) en la organización. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para configurar los coordinadores de políticas del SO para usarlos dentro de los perímetros de los Controles del servicio de VPC. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para configurar los organizadores de políticas del SO para usarlos dentro de los perímetros de los Controles del servicio de VPC:

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

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Crea las reglas de entrada

Para permitir que el agente de servicio acceda a los recursos protegidos por los Controles del servicio de VPC, agrega una regla de entrada al perímetro de servicio correspondiente.

Para obtener más información sobre cómo crear reglas de entrada, consulta Configura políticas de entrada y salida.

Carpeta

Console

  1. En la consola de Google Cloud , ve a la página Controles del servicio de VPC.

    Ir a los Controles del servicio de VPC

  2. Selecciona tu organización.
  3. En la página Controles del servicio de VPC, selecciona la política de acceso que contiene el perímetro de servicio que quieres actualizar.
  4. Haz clic en el nombre del perímetro de servicio que quieres actualizar y, luego, en Editar.
  5. Haz clic en Política de entrada.
  6. Haz clic en Agregar una regla de entrada.
  7. En la sección De, especifica la identidad del agente de servicio:
    1. En Identidades > Identidad, elige Seleccionar identidades y grupos.
    2. Haz clic en Agregar identidades.
    3. Ingresa la dirección de correo electrónico que identifica al siguiente agente de servicio de lanzamiento de OSconfig:

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

      Reemplaza FOLDER_NUMBER por el ID numérico de la carpeta.

  8. En la sección Para, especifica las operaciones permitidas:
    1. En Recursos > Proyectos, elige Todos los proyectos.
    2. En Operaciones o roles de IAM, elige Operaciones seleccionadas.
    3. Haz clic en Agregar operaciones y, luego, agrega la siguiente operación:
      1. Agrega el servicio osconfig.googleapis.com.
      2. Haz clic en Todos los métodos.
  9. Haz clic en Listo.
  10. Haz clic en Guardar.

gcloud

Para agregar la regla de entrada, crea un archivo YAML que contenga la regla de entrada y usa el comando gcloud access-context-manager perimeters update con la marca --set-ingress-policies.

  1. Crea un archivo YAML de política de entrada llamado ingress_policy.yaml con el siguiente contenido:

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

    Reemplaza FOLDER_NUMBER por el ID numérico de la carpeta.

  2. Agrega la política de entrada al perímetro:

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

    Reemplaza PERIMETER_NAME por el nombre de tu perímetro de servicio. Por ejemplo, accessPolicies/1234567890/servicePerimeters/example_perimeter

Organización

Console

  1. En la consola de Google Cloud , ve a la página Controles del servicio de VPC.

    Ir a los Controles del servicio de VPC

  2. Selecciona tu organización.
  3. En la página Controles del servicio de VPC, selecciona la política de acceso que contiene el perímetro de servicio que quieres actualizar.
  4. Haz clic en el nombre del perímetro de servicio que quieres actualizar y, luego, en Editar.
  5. Haz clic en Política de entrada.
  6. Haz clic en Agregar una regla de entrada.
  7. En la sección De, especifica la identidad del agente de servicio:
    1. En Identidades > Identidad, elige Seleccionar identidades y grupos.
    2. Haz clic en Agregar identidades.
    3. Ingresa la dirección de correo electrónico que identifica al siguiente agente de servicio de lanzamiento de OSconfig:

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

      Reemplaza ORGANIZATION_NUMBER por el ID numérico de la organización.

  8. En la sección Para, especifica las operaciones permitidas:
    1. En Recursos > Proyectos, elige Todos los proyectos.
    2. En Operaciones o roles de IAM, elige Operaciones seleccionadas.
    3. Haz clic en Agregar operaciones y, luego, agrega la siguiente operación:
      1. Agrega el servicio osconfig.googleapis.com.
      2. Haz clic en Todos los métodos.
  9. Haz clic en Listo.
  10. Haz clic en Guardar.

gcloud

Para agregar la regla de entrada, crea un archivo YAML que contenga la regla de entrada y usa el comando gcloud access-context-manager perimeters update con la marca --set-ingress-policies.

  1. Crea un archivo YAML de política de entrada llamado ingress_policy.yaml con el siguiente contenido:

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

    Reemplaza ORGANIZATION_NUMBER por el ID numérico de la organización.

  2. Agrega la política de entrada al perímetro:

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

    Reemplaza PERIMETER_NAME por el nombre de tu perímetro de servicio. Por ejemplo, accessPolicies/1234567890/servicePerimeters/example_perimeter

Próximos pasos