Configura los roles de BigQuery sharing
En este documento, se describen los roles de Identity and Access Management (IAM) para BigQuery sharing (anteriormente Analytics Hub) y cómo otorgarlos. Para obtener más información, consulta Roles y permisos de BigQuery sharing.
Roles de IAM de BigQuery sharing
En las siguientes secciones, se describen los roles predefinidos de BigQuery sharing. 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, BigQuery sharing proporciona el rol Analytics Hub Admin (roles/analyticshub.admin) que puedes otorgar para un Google Cloud proyecto o intercambio de datos. Este rol permite a los usuarios hacer lo siguiente:
- Crear, actualizar y borrar intercambios de datos.
- Crear, actualizar, borrar y compartir fichas.
- Administrar los administradores de BigQuery sharing, los administradores de fichas, los publicadores, los suscriptores y los visualizadores.
Con este rol, te conviertes en un administrador de BigQuery sharing.
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 Analytics Hub Publisher (
roles/analyticshub.publisher), que permite a los usuarios realizar las siguientes tareas:- Crear, actualizar y borrar fichas.
- Configurar políticas de IAM en las fichas.
Con este rol, te conviertes en un publicador de BigQuery sharing.
Rol Analytics Hub Listing Admin (
roles/analyticshub.listingAdmin), que permite a los usuarios realizar las siguientes tareas:- Actualizar y borrar fichas.
- Configurar políticas de IAM en las fichas.
Con este rol, te conviertes en un administrador de fichas de BigQuery sharing.
Roles Analytics Hub Subscriber y visualizador
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.Con este rol, te conviertes en un suscriptor de BigQuery sharing.
Rol Analytics Hub Viewer (
roles/analyticshub.viewer), que permite a los usuarios ver fichas y permisos de intercambios de datos.Con este rol, te conviertes en un visualizador de BigQuery sharing.
Rol de propietario de la suscripción a Analytics Hub
Para administrar suscripciones, Sharing proporciona el siguiente rol predefinido que puedes otorgar a nivel de proyecto:
- Rol de propietario de la suscripción a Analytics Hub
(
roles/analyticshub.subscriptionOwner), que permite a los usuarios administrar sus suscripciones.
Con este rol, te conviertes en un propietario de la suscripción a BigQuery sharing.
Otorga roles de IAM de BigQuery sharing
Según tu necesidad, puedes otorgar los roles de IAM en los siguientes niveles de la jerarquía de recursos:
- Proyecto. Si otorgas un rol para un proyecto, se aplica a todos los intercambios de datos y las fichas de ese proyecto.
- Intercambio de datos. Si otorgas un rol para un intercambio de datos, se aplica a todas las fichas de ese intercambio de datos.
- Ficha. Si otorgas un rol para una ficha, 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 Administrador de IAM de proyectos
(roles/resourcemanager.projectIamAdmin) en ese proyecto. Para otorgar los roles predefinidos de Identity and Access Management de BigQuery sharing para un proyecto, selecciona una de las siguientes opciones.
Console
Ve al IAM del proyecto.
Haz clic en Grant access.
En el campo Nuevas entidades, 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 a los Google Cloud recursos, agrega una vinculación de rol condicional.
Guarda los cambios.
Puedes borrar y actualizar los administradores del proyecto con el mismo panel de IAM.
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: el proyecto, por ejemplo,my-project-1.PRINCIPAL: una identidad válida a la que deseas otorgar el rol. Por ejemplo:- Dirección de 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
- Dirección de 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 elprojects.getIamPolicymétodo.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Reemplaza
PROJECT_IDpor el proyecto, por ejemplo,my-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 del proyecto, usa el
project.setIamPolicymétodo. 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 Google Cloud consola, ve a la página Sharing (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 Nuevos principales, 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 accedieron.En el menú Selecciona un rol, selecciona Analytics Hub y, luego, selecciona 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) muestra 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 mixtas puede causar 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 los roles de intercambio de datos con el mismo panel de IAM.
Otorga el rol para una ficha
A fin de otorgar el rol para una ficha, sigue estos pasos:
Console
En la Google Cloud consola, ve a la página Sharing (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 Nuevos principales, 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, selecciona 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.
Sharing muestra 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 mixtas puede causar 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 los roles de la ficha con el mismo panel de IAM.
¿Qué sigue?
- Obtén información sobre los roles de IAM de BigQuery .
- Obtén 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 información sobre cómo ver fichas e intercambios de datos y suscribirte a ellos.