Administra las políticas para consumidores
La activación jerárquica de servicios te permite administrar la habilitación de servicios que se heredan a través de la jerarquía de recursos Google Cloud . Para obtener más información, consulta la descripción general.
El recurso ConsumerPolicy es un recurso de la API de Service Usage que se encuentra en cada nivel de la jerarquía de recursosGoogle Cloud . Este recurso, siempre llamado default, contiene el enableRules que define qué servicios están habilitados. En lugar de habilitar o inhabilitar un servicio específico, puedes modificar el recurso ConsumerPolicy. Cuando el nombre de un servicio está en su lista, el servicio está habilitado en ese nivel de jerarquía.
En este documento, se muestra cómo usar Google Cloud CLI para administrar las políticas del consumidor de proyectos, carpetas y organizaciones.
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes Acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name.
-
Si usas un proyecto existente para esta guía, verifica que tengas los permisos necesarios para completarla. Si creaste un proyecto nuevo, ya tienes los permisos necesarios.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Service Usage API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable serviceusage.googleapis.com
-
Install the Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes Acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name.
-
Si usas un proyecto existente para esta guía, verifica que tengas los permisos necesarios para completarla. Si creaste un proyecto nuevo, ya tienes los permisos necesarios.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Service Usage API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable serviceusage.googleapis.com
- Si no indicas el recurso Google Cloud que deseas administrar, los comandos de este documento se establecerán de forma predeterminada en el proyecto actual. Por ejemplo,
gcloud beta services policies get --policy-name=defaultdevuelve la política del consumidor para el proyecto actual.Puedes recuperar el ID del proyecto actual:
gcloud config list --format='text(core.project)'
-
Obtén una política de consumidor:
serviceusage.consumerpolicy.get -
Actualiza una política del consumidor:
-
serviceusage.consumerpolicy.analyze -
serviceusage.consumerpolicy.update
-
-
Obtén una política vigente:
serviceusage.effectivepolicy.get -
Verifica si un servicio está habilitado:
serviceusage.values.test PROJECT_ID: Es el Google Cloud ID del proyecto. También puedes omitir la marca para usar el proyecto actual de forma predeterminada.OUTPUT_FILE: Es la ruta de acceso a un archivo de salida en el que se puede guardar el contenido de la política del consumidor (opcional). Los formatos de archivo admitidos son JSON y YAML.FOLDER_ID: Es el Google Cloud ID de la carpeta.OUTPUT_FILE: Es la ruta de acceso a un archivo de salida en el que se puede guardar el contenido de la política del consumidor (opcional). Los formatos de archivo admitidos son JSON y YAML.ORGANIZATION_ID: Es el Google Cloud ID del recurso de organización.OUTPUT_FILE: Es la ruta de acceso a un archivo de salida en el que se puede guardar el contenido de la política del consumidor (opcional). Los formatos de archivo admitidos son JSON y YAML.--bypass-api-usage-checkpara omitir las verificaciones de uso De lo contrario, el sistema devolverá un error si alguno de los servicios que deseas inhabilitar se usó en los últimos 30 días o se habilitó en los últimos 3 días.--bypass-dependency-checkpara omitir la verificación de dependencias Cuando agregues un servicio, todas las dependencias del servicio deben estar presentes en la política. Cuando quitas un servicio, ningún otro servicio de la política puede depender de él. De lo contrario, la actualización no se realizará correctamente y se mostrará un error.--validate-onlypara validar la actualización sin realizar la operación.Para obtener una plantilla en formato YAML para el archivo de política, primero recupera la política del consumidor y usa la marca
--output-filepara guardar la política en un archivo. Luego, modifica este archivo y úsalo como entrada para el comando de actualización. Plantilla de ejemplo:name: projects/PROJECT_ID/consumerPolicies/default enableRules: services: - services/SERVICE - ... - ...Reemplaza lo siguiente:
PROJECT_ID: Es el Google Cloud ID del proyecto. Otros nombres de recursos admitidos siguen un formato similar, por ejemplo:folders/FOLDER_ID/consumerPolicies/default.SERVICE: Es el nombre del servicio, por ejemplo,bigquery.googleapis.com.
PROJECT_ID: Es el Google Cloud ID del proyecto. También puedes omitir la marca para usar el proyecto actual de forma predeterminada.VIEW: Puede serBASICpara recuperar un conjunto limitado de metadatos oFULLpara recuperar el conjunto completo de metadatos, incluido el lugar en el que se habilitó cada servicio en la jerarquía. El valor predeterminado esBASIC.FOLDER_ID: Es el Google Cloud ID de la carpeta.VIEW: Puede serBASICpara recuperar un conjunto limitado de metadatos oFULLpara recuperar el conjunto completo de metadatos, incluido el lugar donde se habilitó cada servicio en la jerarquía. El valor predeterminado esBASIC.ORGANIZATION_ID: Es el Google Cloud ID del recurso de organización.VIEW: Puede serBASICpara recuperar un conjunto limitado de metadatos oFULLpara recuperar el conjunto completo de metadatos, incluido el lugar en el que se habilitó cada servicio en la jerarquía. El valor predeterminado esBASIC.SERVICE: Es el nombre del servicio que deseas verificar.PROJECT_ID: Es el Google Cloud ID del proyecto. También puedes omitir la marca para usar el proyecto actual de forma predeterminada.SERVICE: Es el nombre del servicio que deseas verificar.FOLDER_ID: Es el Google Cloud ID de la carpeta.SERVICE: Es el nombre del servicio que deseas verificar.ORGANIZATION_ID: Es el Google Cloud ID del recurso de organización.- Recupera la política de consumidor para el proyecto actual:
gcloud beta services policies get
Resultado:
name: projects/PROJECT_ID/consumerPolicies/default enableRules: services: - services/apikeys.googleapis.com - services/compute.googleapis.com - services/oslogin.googleapis.com - services/serviceusage.googleapis.com updateTime: 2025-09-11T23:05:22.758394Z createTime: 2025-01-31T20:17:37.272343Z etag: W/"W9nsVJK0V1m7ee7tM7pFDg=="
- Se actualizó correctamente la política del consumidor:
gcloud beta services policies update --consumer-policy-file=/tmp/test.yaml
Resultado:
Operation [operations/ucpat.p39-581601899707-86fe7e37-c7f9-4624-90c4-d54754d57eed] complete. Result: { "@type":"type.googleapis.com/google.api.serviceusage.v2beta.ConsumerPolicy", "createTime":"1970-01-01T00:00:00Z", "enableRules":[ { "services":[ "services/apikeys.googleapis.com" ] } ], "name":"projects/PROJECT_ID/consumerPolicies/default", "updateTime":"1970-01-01T00:00:00Z" }
- No se actualizó correctamente la política del consumidor:
gcloud beta services policies update --consumer-policy-file=/tmp/test.json
Mensaje de error:
ERROR: (gcloud.beta.services.policies.update) Invalid consumer_policy_file format. Please provide path to a yaml file.
- Intenta actualizar la política del consumidor cuando el servicio se usó o habilitó recientemente:
gcloud beta services policies update --consumer-policy-file=/tmp/test.yaml
Resultado:
The operation "operations/ucpat.p39-581601899707-4884bdb0-d899-49ac-9c83-38457950ef33" resulted in a failure "The services apikeys.googleapis.com have usage in the last 30 days or were enabled in the past 3 days. Please specify force if you want to proceed with the destructive policy change. Help Token: AVSZLmtCfGwMm4oHmOyExdDEFRQ0pFiBrl879nbZlY2JkfVzeU63u66ApXYr6MIEAoig..."
- Actualiza la política del consumidor cuando se usó o habilitó el servicio recientemente sin omitir la verificación de uso:
gcloud beta services policies update --consumer-policy-file=/tmp/test.yaml --bypass-api-usage-check
Resultado:
Operation [operations/ucpat.p39-581601899707-8ffda670-ed04-4776-8d43-d2f8e1817e00] complete. Result: { "@type":"type.googleapis.com/google.api.serviceusage.v2beta.ConsumerPolicy", "createTime":"1970-01-01T00:00:00Z", "enableRules":[ { "services":[ "services/serviceusage.googleapis.com" ] } ], "name":"projects/PROJECT_ID/consumerPolicies/default", "updateTime":"1970-01-01T00:00:00Z" }
- Recupera la vista
BASICde la política vigente para el proyecto actual:gcloud beta services policies get-effective
Resultado:
EnabledRules: Services: - services/apikeys.googleapis.com - services/compute.googleapis.com - services/computescanning.googleapis.com - services/containeranalysis.googleapis.com - services/containerscanning.googleapis.com - services/gkebackup.googleapis.com - services/osconfig.googleapis.com - services/oslogin.googleapis.com - services/serviceusage.googleapis.com
- Recupera la vista
FULLde la política vigente para el proyecto actual:gcloud beta services policies get-effective --view=FULL
Resultado:
EnabledRules: Services: - services/apikeys.googleapis.com - services/compute.googleapis.com - services/computescanning.googleapis.com - services/containeranalysis.googleapis.com - services/containerscanning.googleapis.com - services/gkebackup.googleapis.com - services/osconfig.googleapis.com - services/oslogin.googleapis.com - services/serviceusage.googleapis.com Metadata of effective policy: EnabledService: services/apikeys.googleapis.com EnabledPolicies: ['projects/PROJECT_ID/consumerPolicies/default'] EnabledService: services/bcidcloudenforcer-pa.googleapis.com EnabledPolicies: ['folders/FOLDER_ID/consumerPolicies/default'] EnabledService: services/compute.googleapis.com EnabledPolicies: ['projects/PROJECT_ID/consumerPolicies/default'] ...
- Verifica el estado del servicio de claves de API habilitadas para el proyecto actual:
gcloud beta services policies test-enabled apikeys.googleapis.com
Resultado:
Service apikeys.googleapis.com is ENABLED for resource projects/test-project Hierarchical Service Activation. - Verifica el estado del servicio de App Hub inhabilitado para el proyecto actual:
gcloud beta services policies test-enabled apphub.googleapis.com
Resultado:
Service apphub.googleapis.com is NOT ENABLED for resource projects/test-project Hierarchical Service Activation. - Para habilitar e inhabilitar servicios, consulta Administra la habilitación de servicios.
- Para inspeccionar las dependencias del servicio, consulta Cómo enumerar las dependencias del servicio.
Roles obligatorios
Si deseas obtener los permisos que
necesitas para administrar las políticas de consumidor,
pídele a tu administrador que te otorgue el rol de IAM
Administrador de Service Usage (roles/serviceusage.serviceUsageAdmin)
en tu recurso de destino.
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 administrar las políticas del consumidor. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para administrar las políticas del consumidor:
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Obtén una política de consumidor
Puedes recuperar el ConsumerPolicy de un proyecto, una carpeta o una organización con el comando gcloud beta services policies get.
Este comando devuelve el enableRules establecido en ese nivel de recurso exacto, y no las reglas heredadas. Para obtener una vista más completa que incluya las reglas heredadas, puedes recuperar la política efectiva. Solo se admite el nombre de política default.
Proyecto
gcloud beta services policies get --policy-name=default \
--project=PROJECT_ID \
--output-file=OUTPUT_FILE
Reemplaza lo siguiente:
Carpeta
gcloud beta services policies get --policy-name=default \
--folder=FOLDER_ID \
--output-file=OUTPUT_FILE
Reemplaza lo siguiente:
Organización
gcloud beta services policies get --policy-name=default \
--organization=ORGANIZATION_ID \
--output-file=OUTPUT_FILE
Reemplaza lo siguiente:
Actualiza una política del consumidor
Puedes actualizar un ConsumerPolicy con el comando gcloud beta services policies update. Esto te permite reemplazar la política actual y usar un archivo YAML para actualizar muchos servicios habilitados a la vez.
Este comando no habilita automáticamente las dependencias de servicio.
Debes enumerar todas las dependencias de servicio de forma explícita en el archivo de entrada. Puedes usar la marca --validate-only para obtener una vista previa de los cambios antes de aplicarlos.
gcloud beta services policies update --consumer-policy-file=PATH_TO_CONSUMER_POLICY
Reemplaza PATH_TO_CONSUMER_POLICY por la ruta de acceso al archivo YAML que contiene la política del consumidor, por ejemplo:
gcloud beta services policies update --consumer-policy-file=/path/to/the/file.yaml
Marcas compatibles:
Ten en cuenta lo siguiente:
Obtén una política vigente
Puedes recuperar la política vigente de un recurso con el comando gcloud beta services policies get-effective.
La política vigente combina el ConsumerPolicy del recurso con las políticas de todos sus recursos principales. Esto te brinda una vista completa de todos los servicios habilitados, incluidos los que se habilitaron directamente en el recurso y los que se heredaron de sus antecesores.
Proyecto
gcloud beta services policies get-effective --project=PROJECT_ID \
--view=VIEW
Reemplaza lo siguiente:
Carpeta
gcloud beta services policies get-effective --folder=FOLDER_ID \
--view=VIEW
Reemplaza lo siguiente:
Organización
gcloud beta services policies get-effective --organization=ORGANIZATION_ID \
--view=VIEW
Reemplaza lo siguiente:
Cómo verificar si un servicio está habilitado
Puedes verificar si un servicio está habilitado en un recurso con el comando gcloud beta services policies test-enabled.
Cuando se verifica el estado de un servicio, este comando considera la política efectiva y la jerarquía completa de recursos Google Cloud .
Proyecto
gcloud beta services policies test-enabled SERVICE \
--project=PROJECT_ID
Reemplaza lo siguiente:
Carpeta
gcloud beta services policies test-enabled SERVICE \
--folder=FOLDER_ID
Reemplaza lo siguiente:
Organización
gcloud beta services policies test-enabled SERVICE \
--organization=ORGANIZATION_ID
Reemplaza lo siguiente: