Mostrar dependencias de servicios
La activación jerárquica de servicios te permite gestionar la habilitación de servicios que se hereda a través de la Google Cloud jerarquía de recursos. Para obtener más información, consulta el resumen.
Muchos Google Cloud servicios necesitan otros servicios para funcionar. Cuando habilitas un servicio mediante la activación jerárquica de servicios, sus dependencias obligatorias se añaden automáticamente al ConsumerPolicy. Un grupo de dependencias de servicios contiene estos servicios de los que depende, que puedes enumerar para entenderlos y gestionarlos mejor.
En este documento se explica cómo usar la CLI de Google Cloud para enumerar las dependencias de servicios de proyectos, carpetas y organizaciones.
Antes de empezar
- 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 utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud 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 vas a usar un proyecto que ya tengas para seguir esta guía, verifica que tienes los permisos necesarios para completarla. Si has creado un proyecto, 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 utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud 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 vas a usar un proyecto que ya tengas para seguir esta guía, verifica que tienes los permisos necesarios para completarla. Si has creado un proyecto, 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 Google Cloud recurso que quieres gestionar, los comandos de este documento se aplicarán de forma predeterminada al proyecto actual. Por ejemplo,
gcloud beta services groups list-members bigquery.googleapis.com dependenciesmuestra los miembros del proyecto actual.Puedes obtener el ID del proyecto actual:
gcloud config list --format='text(core.project)'
-
Lista los miembros del grupo de dependencias:
serviceusage.groups.listMembers -
Lista de miembros de grupos de dependencias ampliados:
serviceusage.groups.listExpandedMembers SERVICE: el nombre del servicio del que quieras listar los miembros.GROUP: el nombre del grupo de dependencias de servicios cuyos miembros quieres enumerar. El grupo principal admitido esdependencies.PROJECT_ID: tu Google Cloud ID de proyecto. También puedes omitir la marca para usar el proyecto actual de forma predeterminada.SERVICE: el nombre del servicio del que quieras listar los miembros.GROUP: el nombre del grupo de dependencias de servicios cuyos miembros quieres enumerar. El grupo principal admitido esdependencies.FOLDER_ID: tu Google Cloud ID de carpeta.SERVICE: el nombre del servicio del que quieras listar los miembros.GROUP: el nombre del grupo de dependencias de servicios cuyos miembros quieres enumerar. El grupo principal admitido esdependencies.ORGANIZATION_ID: tu Google Cloud ID de recurso de organización.SERVICE: el nombre del servicio del que quieras listar los miembros.GROUP: el nombre del grupo de dependencias de servicios cuyos miembros quieres enumerar. El grupo principal admitido esdependencies.PROJECT_ID: tu Google Cloud ID de proyecto. También puedes omitir la marca para usar el proyecto actual de forma predeterminada.SERVICE: el nombre del servicio del que quieras listar los miembros.GROUP: el nombre del grupo de dependencias de servicios cuyos miembros quieres enumerar. El grupo principal admitido esdependencies.FOLDER_ID: tu Google Cloud ID de carpeta.SERVICE: el nombre del servicio del que quieras listar los miembros.GROUP: el nombre del grupo de dependencias de servicios cuyos miembros quieres enumerar. El grupo principal admitido esdependencies.ORGANIZATION_ID: tu Google Cloud ID de recurso de organización.- Lista de dependencias directas del servicio de BigQuery del proyecto actual:
gcloud beta services groups list-members bigquery.googleapis.com dependencies
Resultado:
NAME: services/analyticshub.googleapis.com REASON: BigQuery depends on this group to allow users to exchange data and analytics assets. NAME: services/bigquery.googleapis.com REASON: The service representing BigQuery which owns this dependency group and depends on the other members of this group. NAME: services/bigqueryconnection.googleapis.com REASON: BigQuery depends on this group to allow users to manage connections to external data sources. NAME: services/bigquerydatapolicy.googleapis.com REASON: BigQuery depends on this group to allow users to manage their data policies. ...
- Se intenta enumerar las dependencias del servicio de claves de API sin un grupo de dependencias de servicio correspondiente:
gcloud beta services groups list-members apikeys.googleapis.com dependencies --project=test-project
Resultado:
Listed 0 items. - Lista de dependencias ampliadas del servicio de BigQuery del proyecto actual:
gcloud beta services groups list-expanded-members bigquery.googleapis.com dependencies
Resultado:
services/analyticshub.googleapis.com services/bigquery.googleapis.com services/bigqueryconnection.googleapis.com services/bigquerydatapolicy.googleapis.com services/bigquerydatatransfer.googleapis.com services/bigquerymigration.googleapis.com services/bigqueryreservation.googleapis.com services/bigquerystorage.googleapis.com services/cloudresourcemanager.googleapis.com services/dataform.googleapis.com services/dataplex.googleapis.com
- Para habilitar e inhabilitar servicios, consulta Gestionar la habilitación de servicios.
- Para gestionar las políticas, consulta Gestionar políticas de consumidor.
Roles obligatorios
Para obtener los permisos que necesitas para enumerar las dependencias de servicios, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Lector de Uso de Servicio (roles/serviceusage.serviceUsageViewer) en el recurso de destino.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para enumerar las dependencias de los servicios. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para enumerar las dependencias de servicios, se necesitan los siguientes permisos:
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Mostrar los miembros de un grupo de dependencias
Puedes enumerar los miembros directos de un grupo de dependencias de servicios de un proyecto, una carpeta o una organización mediante el comando gcloud beta services groups list-members.
Proyecto
gcloud beta services groups list-members SERVICE GROUP \
--project=PROJECT_ID
Haz los cambios siguientes:
Carpeta
gcloud beta services groups list-members SERVICE GROUP \
--folder=FOLDER_ID
Haz los cambios siguientes:
Organización
gcloud beta services groups list-members SERVICE GROUP \
--organization=ORGANIZATION_ID
Haz los cambios siguientes:
Puedes usar otras marcas para filtrar y limitar los miembros que se muestran.
Mostrar los miembros de un grupo de dependencias ampliado
Puedes enumerar los miembros ampliados de un grupo de dependencias de servicios de un proyecto, una carpeta o una organización mediante el comando gcloud beta services groups list-expanded-members.
Este comando devuelve una lista combinada de todas las dependencias, incluidas las de los grupos anidados, para proporcionar una lista completa de todas las dependencias de servicios.
Proyecto
gcloud beta services groups list-expanded-members SERVICE GROUP \
--project=PROJECT_ID
Haz los cambios siguientes:
Carpeta
gcloud beta services groups list-expanded-members SERVICE GROUP \
--folder=FOLDER_ID
Haz los cambios siguientes:
Organización
gcloud beta services groups list-expanded-members SERVICE GROUP \
--organization=ORGANIZATION_ID
Haz los cambios siguientes:
Puedes usar otras marcas para filtrar y limitar los miembros que se muestran.