En esta página, se describen los requisitos previos para usar la función de orquestador de políticas en VM Manager.
Configura un proyecto de cuota para las orquestaciones de organización y carpetas
Cuando usas orquestadores 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 del proyecto de cuota.
Cuando uses gcloud CLI o la API de REST para llamar a los métodos del orquestador de políticas, especifica el proyecto de cuota de la siguiente manera:
gcloud
Configura tu 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 orquestador de políticas en VM Manager, habilita la API de OS Config en los siguientes proyectos:
- Para orquestaciones a nivel de la organización y de la carpeta, habilita la API de configuración del SO para el proyecto de cuota.
- Para orquestaciones a nivel del proyecto, habilita la API de configuración del SO en el proyecto en el que creas orquestadores de políticas.
Para obtener más información, consulta Habilita la API de configuración del SO.
Habilita la API de lanzamiento progresivo para los proyectos
Console
En la consola de Google Cloud, selecciona el proyecto de Google Cloud para el que deseas habilitar la API y, luego, ve a la página APIs y servicios:
Haz clic en Habilitar APIs y servicios.
Busca "Lanzamiento progresivo".
En los resultados de la búsqueda, haz clic en API de Progressive Rollout.
Si la API no está habilitada, haz clic en Habilitar.
gcloud
Para ver si la API de Progressive Rollout está habilitada, ejecuta el siguiente comando después de reemplazar
PROJECT_ID
por el ID del proyecto para el que deseas habilitar la API:gcloud services list --project=PROJECT_ID
Si
progressiverollout.googleapis.com
aparece en el resultado, la API está habilitada.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 orquestador de políticas usa los agentes de servicio de configuración del SO 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 o organización en los que crees el orquestador de políticas.
Para crear los agentes de servicio, haz lo siguiente:
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 orquestadores 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 orquestadores 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 orquestadores de políticas.Para crear el agente de servicio de una API y un recurso especificados, usa el comando
gcloud beta services identity create
:Proyecto
gcloud beta services identity create --service=osconfig.googleapis.com --project=PROJECT_NUMBER
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
gcloud beta services identity create --service=osconfig.googleapis.com --folder=FOLDER_NUMBER
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
gcloud beta services identity create --service=osconfig.googleapis.com --organization=ORGANIZATION_NUMBER
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
Para que el orquestador de políticas funcione correctamente, debes otorgar todos los roles de agente de servicio necesarios a las cuentas de servicio correspondientes, en el recurso superior del orquestador:
- Agente de servicio de OSConfig (
roles/osconfig.serviceAgent
) para la cuenta @gcp-sa-osconfig.iam.gserviceaccount.com - Agente de servicio de implementación de la configuración del SO (
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 a fin de 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 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.
- Otorga a los agentes de servicio acceso a un proyecto: Administrador de IAM de proyecto (
Para otorgar los roles de agente de servicio, ejecuta gcloud add-iam-policy-binding
de la siguiente manera:
Proyecto
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"
Reemplaza PROJECT_NUMBER
por el ID numérico del proyecto al que se agrega la vinculación de la política de IAM.
Carpeta
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"
Reemplaza FOLDER_NUMBER
por el ID numérico de la carpeta a la que se agrega la vinculación de políticas de IAM.
Organización
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"
Reemplaza ORGANIZATION_NUMBER
por el ID numérico de la organización a la que se agrega la vinculación de políticas de IAM.
Próximos pasos
- Obtén más información para administrar asignaciones de políticas del SO con el orquestador de políticas.
- Obtén más información para ver y editar orquestadores de políticas.