Configurar roles de uso compartido de BigQuery
En este documento se describen los roles de gestión de identidades y accesos (IAM) que se usan para compartir datos en BigQuery (antes Analytics Hub) y cómo asignarlos a los usuarios. Para obtener más información, consulta Roles y permisos de uso compartido de BigQuery.
Roles de gestión de identidades y accesos de BigQuery para compartir
En las siguientes secciones se describen los roles de uso compartido predefinidos de BigQuery. Puedes asignar estos roles a los usuarios para que realicen varias tareas en tus intercambios de datos y fichas.
Rol de administrador de Analytics Hub
Para gestionar intercambios de datos,
la función de compartir de BigQuery proporciona el
rol Administrador de Analytics Hub
(roles/analyticshub.admin) que puede asignar a un Google Cloud proyecto o intercambio de datos. Este rol permite a los usuarios hacer lo siguiente:
- Crear, actualizar y eliminar intercambios de datos.
- Crear, actualizar, eliminar y compartir fichas.
- Gestionar administradores de uso compartido de BigQuery, administradores de fichas, editores, suscriptores y lectores.
Los usuarios con este rol se denominan administradores de uso compartido de BigQuery.
Roles de editor y administrador de fichas de Analytics Hub
Para gestionar fichas, Sharing ofrece los siguientes roles predefinidos que puedes asignar a un proyecto, un intercambio de datos o una ficha:
Rol de editor de Analytics Hub (
roles/analyticshub.publisher), que permite a los usuarios hacer lo siguiente:- Crear, actualizar y eliminar fichas.
- Define políticas de gestión de identidades y accesos en las fichas.
Los usuarios con este rol se denominan editores del uso compartido de BigQuery.
Rol de administrador de la ficha de Analytics Hub (
roles/analyticshub.listingAdmin), que permite a los usuarios hacer lo siguiente:- Actualizar y eliminar fichas.
- Define políticas de gestión de identidades y accesos en las fichas.
Los usuarios con este rol se denominan administradores de fichas de uso compartido de BigQuery.
Roles de suscriptor y lector de Analytics Hub
Para ver y suscribirse a fichas e intercambios de datos, la función Compartir proporciona los siguientes roles predefinidos que puede asignar a un proyecto, un intercambio de datos o una ficha:
Rol de suscriptor de Analytics Hub (
roles/analyticshub.subscriber), que permite a los usuarios ver y suscribirse a fichas.Los usuarios con este rol se denominan suscriptores de uso compartido de BigQuery.
Rol Lector de Analytics Hub (
roles/analyticshub.viewer), que permite a los usuarios ver fichas y permisos de intercambio de datos.Los usuarios con este rol se denominan lectores de BigQuery compartido.
Rol de propietario de la suscripción a Analytics Hub
Para gestionar suscripciones, Sharing ofrece el siguiente rol predefinido que puedes conceder a nivel de proyecto:
- Rol de propietario de la suscripción a Analytics Hub
(
roles/analyticshub.subscriptionOwner), que permite a los usuarios gestionar sus suscripciones.
Los usuarios con este rol se denominan propietarios de la suscripción de uso compartido de BigQuery.
Asignar roles de gestión de identidades y accesos para compartir en BigQuery
En función de tus necesidades, puedes asignar los roles de gestión de identidades y accesos en los siguientes niveles de la jerarquía de recursos:
Proyecto: Si asignas un rol a los usuarios en un proyecto, el rol se aplica a todos los intercambios de datos y fichas que contenga el proyecto.
Intercambio de datos. Si asignas un rol a los usuarios en un intercambio de datos, el rol se aplicará a todas las fichas que contenga el intercambio de datos.
Ficha. Si asigna un rol a los usuarios en una ficha, este solo se aplicará a esa ficha concreta.
Asignar el rol a un proyecto
Si quieres definir políticas de gestión de identidades y accesos en un proyecto, debes tener el rol Administrador de gestión de identidades y accesos de proyectos (roles/resourcemanager.projectIamAdmin) en ese proyecto. Para conceder los roles de gestión de identidades y accesos predefinidos de BigQuery sharing a un proyecto, selecciona una de las siguientes opciones.
Consola
Ve a Gestión de identidades y accesos del proyecto.
Haz clic en Conceder acceso.
En el campo Nuevos principales, introduce la dirección de correo de la identidad a la que quieras conceder acceso. Por ejemplo:
- Correo de la cuenta de Google:
test-user@gmail.com - Grupo de Google:
admins@googlegroups.com - Cuenta de servicio:
server@example.gserviceaccount.com - Dominio de Google Workspace:
example.com
- Correo de la cuenta de Google:
En la lista Selecciona un rol, coloca el puntero sobre Centro de analíticas y selecciona uno de los siguientes roles:
- Administrador de Analytics Hub
- Administrador de fichas de Analytics Hub
- Editor de Analytics Hub
- Suscriptor de Analytics Hub
- Propietario de la suscripción a Analytics Hub
- Lector de Analytics Hub
Opcional: Para controlar aún más el acceso de los usuarios a los Google Cloud recursos, añade una vinculación de rol condicional.
Guarda los cambios.
Puedes eliminar y actualizar administradores de un proyecto a través del mismo panel de gestión de identidades y accesos, tal como se explica en los pasos anteriores.
gcloud
Para asignar roles a nivel de proyecto, usa el comando gcloud projects add-iam-policy-binding:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='PRINCIPAL' \
--role='roles/analyticshub.admin'
Haz los cambios siguientes:
PROJECT_ID: el ID del proyecto (por ejemplo,)my-project-1PRINCIPAL: una identidad válida a la que quieras conceder el rolPor ejemplo:
- Correo de la cuenta de Google:
user:user@gmail.com - Grupo de Google:
group:admins@googlegroups.com - Cuenta de servicio:
serviceAccount:server@example.gserviceaccount.com - Dominio de Google Workspace:
domain:example.com
- Correo de la cuenta de Google:
API
Lee la política actual con el método
getIamPolicydel recurso. En el caso de los proyectos, utiliza el métodoprojects.getIamPolicy.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Sustituye
PROJECT_IDpor el ID del proyecto (por ejemplo,my-project-1).Para añadir principales y sus roles asociados, edita la política con un editor de texto. Utiliza el siguiente formato para añadir miembros:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Por ejemplo, para asignar el rol
roles/analyticshub.adminagroup:admins@example.com, añade la siguiente vinculación a la política:{ "members": [ "group:admins@example.com" ], "role":"roles/analyticshub.admin" }Escribe la política actualizada con el método
setIamPolicy.Por ejemplo, para definir una política a nivel de proyecto, usa el método
project.setIamPolicy. En el cuerpo de la solicitud, proporciona la política de gestión de identidades y accesos actualizada del paso anterior.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Sustituye
PROJECT_IDpor el ID del proyecto.
Conceder el rol para un intercambio de datos
Para conceder el rol a un intercambio de datos, sigue estos pasos:
Consola
En la Google Cloud consola, vaya a la página Compartir (Analytics Hub).
Haga clic en el nombre del intercambio de datos para el que quiera definir permisos.
Ve a la pestaña Detalles.
Haz clic en Establecer permisos.
Para añadir principales, haz clic en Añadir principal.
En el campo Nuevos principales, añade los IDs de correo a los que quieras dar acceso. También puedes usar
allUserspara hacer que un recurso sea público y accesible para todos los usuarios de Internet, oallAuthenticatedUserspara que solo puedan acceder a él los usuarios de Google que hayan iniciado sesión.En el menú Selecciona un rol, selecciona Analytics Hub y, a continuación, selecciona uno de los siguientes roles de Gestión de Identidades y Accesos (IAM):
- Administrador de Analytics Hub
- Administrador de fichas de Analytics Hub
- Editor de Analytics Hub
- Suscriptor de Analytics Hub
- Propietario de la suscripción a Analytics Hub
- Lector de Analytics Hub
Haz clic en Guardar.
API
Lee la política actual con el método de lista
getIamPolicymediante el métodoprojects.locations.dataExchanges.getIamPolicy:POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
Haz los cambios siguientes:
PROJECT_ID: el ID del proyecto (por ejemplo,my-project-1).LOCATION: la ubicación de tu intercambio de datos. Usa letras minúsculas.DATAEXCHANGE_ID: el ID de intercambio de datos.
La función de compartir de BigQuery (antes Analytics Hub) devuelve la política actual.
Para añadir o quitar miembros y sus roles de gestión de identidades y accesos (IAM) asociados, edita la política con un editor de texto. Utiliza el siguiente formato para añadir miembros:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Por ejemplo, para asignar el rol
roles/analyticshub.subscriberagroup:subscribers@example.com, añade la siguiente vinculación a la política:{ "members": [ "group:subscribers@example.com" ], "role":"roles/analyticshub.subscriber" }Escribe la política actualizada mediante el método
projects.locations.dataExchanges.setIamPolicy. En el cuerpo de la solicitud, proporciona la política de gestión de identidades y accesos actualizada del paso anterior.POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
En el cuerpo de la solicitud, proporciona los detalles de la ficha. Si la solicitud se realiza correctamente, el cuerpo de la respuesta contiene los detalles de la ficha.
Cuando concedas permisos a nivel de recurso, como en un intercambio de datos, debes usar letras minúsculas en la parte de la ubicación del nombre del recurso. Si se usan valores en mayúsculas o con una combinación de mayúsculas y minúsculas, se pueden producir errores Permission Denied.
- Usar:
projects/myproject/locations/us/dataExchanges/123 - Evita lo siguiente:
projects/myproject/locations/US/dataExchanges/123 - Evita lo siguiente:
projects/myproject/locations/Eu/dataExchanges/123
Puedes eliminar y actualizar roles de un intercambio de datos a través del mismo panel de gestión de identidades y accesos, como se explica en los pasos anteriores.
Conceder el rol de una ficha
Para conceder el rol a una ficha, sigue estos pasos:
Consola
En la Google Cloud consola, vaya a la página Compartir (Analytics Hub).
Haga clic en el nombre del intercambio de datos que contiene la ficha.
Haga clic en la ficha a la que quiera añadir usuarios.
Haz clic en Establecer permisos.
Para añadir principales, haz clic en Añadir principal.
En el campo Nuevos principales, añade los IDs de correo de la identidad a la que quieras conceder acceso.
En el menú Selecciona un rol, selecciona Centro de analíticas y, a continuación, selecciona uno de los siguientes roles de Gestión de Identidades y Accesos (IAM):
- Administrador de Analytics Hub
- Administrador de fichas de Analytics Hub
- Editor de Analytics Hub
- Suscriptor de Analytics Hub
- Propietario de la suscripción a Analytics Hub
- Lector de Analytics Hub
Haz clic en Guardar.
API
Lee la política actual con el método de lista
getIamPolicymediante el métodoprojects.locations.dataExchanges.listings.getIamPolicy:POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:getIamPolicy
Haz los cambios siguientes:
PROJECT_ID: el ID del proyecto (por ejemplo,my-project-1).LOCATION: la ubicación del intercambio de datos que contiene la ficha. Usa letras minúsculas.DATAEXCHANGE_ID: el ID de intercambio de datos.LISTING_ID: el ID de la ficha.
Al compartir, se devuelve la política actual.
Para añadir o quitar miembros y sus roles de gestión de identidades y accesos (IAM) asociados, edita la política con un editor de texto. Utiliza el siguiente formato para añadir miembros:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Por ejemplo, para asignar el rol
roles/analyticshub.publisheragroup:publishers@example.com, añade la siguiente vinculación a la política:{ "members": [ "group:publishers@example.com" ], "role":"roles/analyticshub.publisher" }Escribe la política actualizada mediante el método
projects.locations.dataExchanges.listings.setIamPolicy. En el cuerpo de la solicitud, proporciona la política de gestión de identidades y accesos actualizada del paso anterior.POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING-ID:setIamPolicy
En el cuerpo de la solicitud, proporciona los detalles de la ficha. Si la solicitud se realiza correctamente, el cuerpo de la respuesta contiene los detalles de la ficha.
Cuando concedas permisos a nivel de recurso, como en un anuncio, debes usar letras minúsculas en la parte de la ubicación del nombre del recurso. Si se usan valores en mayúsculas o con una combinación de mayúsculas y minúsculas, se pueden producir errores Permission Denied.
- Usar:
projects/myproject/locations/us/dataExchanges/123/listings/456 - Evita lo siguiente:
projects/myproject/locations/US/dataExchanges/123/listings/456 - Evita lo siguiente:
projects/myproject/locations/Eu/dataExchanges/123/listings/456
Puedes eliminar y actualizar los roles de una ficha a través del mismo panel de gestión de identidades y accesos, tal como se explica en los pasos anteriores.
Siguientes pasos
- Consulta información sobre los roles de gestión de identidades y accesos de BigQuery.
- Consulta información sobre BigQuery Sharing.
- Consulte cómo gestionar los intercambios de datos.
- Consulta cómo gestionar fichas.
- Consulte cómo ver y suscribirse a fichas e intercambios de datos.