Configura roles de uso compartido de BigQuery
En este documento, se describen los roles de Identity and Access Management (IAM) que se usan para el uso compartido de BigQuery (anteriormente, Analytics Hub) y cómo otorgarlos a los usuarios. Para obtener más información, consulta Roles y permisos de uso compartido de BigQuery.
Roles de IAM para compartir datos en BigQuery
En las siguientes secciones, se describen los roles de uso compartido predefinidos de BigQuery. Puedes asignar estos roles a los usuarios para realizar varias tareas en tus intercambios de datos y fichas.
Rol Analytics Hub Admin
Para administrar intercambios de datos, el uso compartido de BigQuery proporciona el rol de administrador de Analytics Hub (roles/analyticshub.admin) que puedes otorgar para un Google Cloud proyecto o intercambio de datos. Este rol permite a los usuarios realizar las siguientes acciones:
- Crear, actualizar y borrar intercambios de datos.
- Crear, actualizar, borrar y compartir fichas.
- Administrar los administradores de uso compartido de BigQuery, los administradores de fichas, los publicadores, los suscriptores y los visualizadores
Los usuarios con este rol se denominan administradores de uso compartido de BigQuery.
Roles Analytics Hub Publisher y Listing Admin
Para administrar fichas, Sharing proporciona los siguientes roles predefinidos que puedes otorgar para un proyecto, un intercambio de datos o una ficha:
Rol de publicador de Analytics Hub (
roles/analyticshub.publisher), que permite a los usuarios hacer lo siguiente:- Crear, actualizar y borrar fichas.
- Configurar políticas de IAM en las fichas.
Los usuarios con este rol se denominan publicadores de uso compartido de BigQuery.
Rol Analytics Hub Listing Admin (
roles/analyticshub.listingAdmin), que permite a los usuarios realizar las siguientes acciones:- Actualizar y borrar fichas.
- Configurar políticas de IAM en las fichas.
Los usuarios con este rol se denominan administradores de fichas de uso compartido de BigQuery.
Roles Analytics Hub Subscriber y Viewer
Para ver fichas e intercambios de datos y suscribirse a ellos, Sharing proporciona los siguientes roles predefinidos que puedes otorgar para un proyecto, un intercambio de datos o una ficha:
Rol Analytics Hub Subscriber (
roles/analyticshub.subscriber), que permite a los usuarios ver fichas y suscribirse a ellas.Los usuarios con este rol se denominan suscriptores de uso compartido de BigQuery.
Rol Analytics Hub Viewer (
roles/analyticshub.viewer), que permite a los usuarios ver fichas y permisos de intercambios de datos.Los usuarios con este rol se denominan visualizadores de uso compartido de BigQuery.
Rol de propietario de la suscripción a Analytics Hub
Para administrar suscripciones, Sharing proporciona el siguiente rol predefinido que puedes otorgar a nivel del proyecto:
- Rol de propietario de la suscripción a Analytics Hub
(
roles/analyticshub.subscriptionOwner), que permite a los usuarios administrar sus suscripciones.
Los usuarios con este rol se denominan propietarios de la suscripción al uso compartido de BigQuery.
Otorga roles de IAM de uso compartido de BigQuery
Según tu necesidad, puedes otorgar los roles de IAM en los siguientes niveles de la jerarquía de recursos:
Proyecto. Si otorgas a los usuarios un rol para un proyecto, este se aplica a todos los intercambios de datos y las fichas que contiene el proyecto.
Intercambio de datos. Si otorgas a los usuarios un rol para un intercambio de datos, este se aplicará a todas las fichas que contenga el intercambio de datos.
Ficha. Si otorgas a los usuarios un rol para una ficha, el rol se aplica solo a esa ficha específica.
Otorga el rol para un proyecto
Si deseas establecer políticas de IAM en un proyecto, debes tener el rol de administrador de IAM del proyecto (roles/resourcemanager.projectIamAdmin) en ese proyecto. Para otorgar los roles predefinidos de Identity and Access Management para compartir de BigQuery en un proyecto, selecciona una de las siguientes opciones.
Console
Ve al IAM del proyecto.
Haz clic en Otorgar acceso.
En el campo Nuevos principales, ingresa la dirección de correo electrónico de la identidad a la que deseas otorgar acceso. Por ejemplo:
- Correo electrónico 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 electrónico de la Cuenta de Google:
En la lista Selecciona un rol, mantén el puntero sobre Analytics Hub y selecciona uno de los siguientes roles:
- Administrador de Analytics Hub
- Administrador de fichas de Analytics Hub
- Publicador de Analytics Hub
- Suscriptor de Analytics Hub
- Propietario de la suscripción a Analytics Hub
- Visualizador de Analytics Hub
Opcional: Para controlar aún más el acceso de los usuarios a los recursos de Google Cloud , agrega vinculaciones de funciones condicionales.
Guarda los cambios.
Puedes borrar y actualizar administradores para un proyecto a través del mismo panel de IAM, que se explica en los pasos anteriores.
gcloud
Para otorgar 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'
Reemplaza lo siguiente:
PROJECT_ID: es el ID del proyecto, por ejemplo,my-project-1PRINCIPAL: Una identidad válida a la que deseas otorgar la función.Por ejemplo:
- Correo electrónico 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 electrónico de la Cuenta de Google:
API
Lee la política existente con el método
getIamPolicycorrespondiente del recurso. Para los proyectos, usa el métodoprojects.getIamPolicy.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Reemplaza
PROJECT_IDpor el ID del proyecto paramy-project-1.Para agregar los principales y sus roles asociados, edita la política con un editor de texto. Usa el siguiente formato para agregar miembros:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Por ejemplo, para otorgar la función
roles/analyticshub.adminagroup:admins@example.com, agrega la siguiente vinculación a la política:{ "members": [ "group:admins@example.com" ], "role":"roles/analyticshub.admin" }Escribe la política actualizada mediante el método
setIamPolicy.Por ejemplo, para establecer una política a nivel de proyecto, usa el método
project.setIamPolicy. En el cuerpo de la solicitud, proporciona la política de IAM actualizada del paso anterior.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Reemplaza
PROJECT_IDpor el ID del proyecto.
Otorga el rol para un intercambio de datos
A fin de otorgar el rol para un intercambio de datos, sigue estos pasos:
Console
En la consola de Google Cloud , ve a la página Uso compartido (Analytics Hub).
Haz clic en el nombre del intercambio de datos para el que deseas establecer permisos.
Ve a la pestaña Detalles.
Haz clic en Establecer permisos.
Para agregar principales, haz clic en Agregar principal.
En el campo Principales nuevos, agrega los IDs de correo electrónico a los que deseas otorgar acceso. También puedes usar
allUserspara hacer que un recurso sea público y accesible para todos en Internet, oallAuthenticatedUserspara que solo sea accesible para los usuarios de Google que hayan accedido a su cuenta.En el menú Selecciona un rol, selecciona Analytics Hub y, luego, elige uno de los siguientes roles de Identity and Access Management (IAM):
- Administrador de Analytics Hub
- Administrador de fichas de Analytics Hub
- Publicador de Analytics Hub
- Suscriptor de Analytics Hub
- Propietario de la suscripción a Analytics Hub
- Visualizador de Analytics Hub
Haz clic en Guardar.
API
Lee la política existente con el método
getIamPolicyde la lista mediante el métodoprojects.locations.dataExchanges.getIamPolicy:POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
Reemplaza lo siguiente:
PROJECT_ID: es 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 del intercambio de datos.
BigQuery sharing (anteriormente Analytics Hub) devuelve la política actual.
Para agregar o quitar miembros y sus roles asociados de Identity and Access Management (IAM), edita la política con un editor de texto. Usa el siguiente formato para agregar miembros:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Por ejemplo, para otorgar la función
roles/analyticshub.subscriberagroup:subscribers@example.com, agrega 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 IAM 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 de forma correcta, el cuerpo de la respuesta contendrá detalles de la ficha.
Cuando otorgas permisos a nivel del recurso, como en un intercambio de datos, debes usar letras minúsculas para la parte de la ubicación del nombre del recurso. El uso de valores en mayúsculas o con combinación de mayúsculas y minúsculas puede provocar errores Permission Denied.
- Usa:
projects/myproject/locations/us/dataExchanges/123 - Evita:
projects/myproject/locations/US/dataExchanges/123 - Evita:
projects/myproject/locations/Eu/dataExchanges/123
Puedes borrar y actualizar roles para un intercambio de datos a través del mismo panel de IAM, que se explica en los pasos anteriores.
Otorga el rol para una ficha
A fin de otorgar el rol para una ficha, sigue estos pasos:
Console
En la consola de Google Cloud , ve a la página Uso compartido (Analytics Hub).
Haz clic en el nombre del intercambio de datos que contiene la ficha.
Haz clic en la ficha a la que deseas agregar usuarios.
Haz clic en Establecer permisos.
Para agregar principales, haz clic en Agregar principal.
En el campo Principales nuevos, agrega los IDs de correo electrónico de la identidad a la que deseas otorgar acceso.
En el menú Selecciona un rol, selecciona Analytics Hub y, luego, elige uno de los siguientes roles de Identity and Access Management (IAM):
- Administrador de Analytics Hub
- Administrador de fichas de Analytics Hub
- Publicador de Analytics Hub
- Suscriptor de Analytics Hub
- Propietario de la suscripción a Analytics Hub
- Visualizador de Analytics Hub
Haz clic en Guardar.
API
Lee la política existente con el método
getIamPolicyde la lista mediante 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
Reemplaza lo siguiente:
PROJECT_ID: es 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 del intercambio de datos.LISTING_ID: el ID de la ficha.
El uso compartido devuelve la política actual.
Para agregar o quitar miembros y sus roles asociados de Identity and Access Management (IAM), edita la política con un editor de texto. Usa el siguiente formato para agregar miembros:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Por ejemplo, para otorgar la función
roles/analyticshub.publisheragroup:publishers@example.com, agrega 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 IAM 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 de forma correcta, el cuerpo de la respuesta contendrá detalles de la ficha.
Cuando otorgas permisos a nivel del recurso, como en una ficha, debes usar letras minúsculas para la parte de la ubicación del nombre del recurso. El uso de valores en mayúsculas o con combinación de mayúsculas y minúsculas puede provocar errores Permission Denied.
- Usa:
projects/myproject/locations/us/dataExchanges/123/listings/456 - Evita:
projects/myproject/locations/US/dataExchanges/123/listings/456 - Evita:
projects/myproject/locations/Eu/dataExchanges/123/listings/456
Puedes borrar y actualizar roles para una ficha a través del mismo panel de IAM, que se explica en los pasos anteriores.
¿Qué sigue?
- Obtén información sobre los roles de IAM de BigQuery.
- Obtén más información sobre BigQuery sharing.
- Obtén información sobre cómo administrar los intercambios de datos.
- Obtén información sobre cómo administrar fichas.
- Obtén más información para ver fichas y suscripciones a intercambios de datos.