Configurar roles de uso compartido de BigQuery
En este documento se describen los roles de Gestión de Identidades y Accesos (IAM) para compartir datos de BigQuery (antes Analytics Hub) y cómo concederlos. Para obtener más información, consulta Roles y permisos de uso compartido de BigQuery.
Roles de gestión de identidades y accesos para compartir BigQuery
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.
Con este rol, se convertirá en administrador 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.
Con este rol, te conviertes en editor 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.
Con este rol, te conviertes en administrador 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.Con este rol, te conviertes en suscriptor 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.Con este rol, se convierte en lector de recursos compartidos de BigQuery.
Rol de propietario de la suscripción de Analytics Hub
Para gestionar suscripciones, la función Compartir 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.
Con este rol, te conviertes en propietario 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 un proyecto, se aplicará a todos los intercambios de datos y fichas de ese proyecto.
- Intercambio de datos. Si asigna un rol a un intercambio de datos, se aplicará a todas las fichas de ese intercambio.
- Ficha. Si asignas un rol a una ficha, 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 a los Google Cloud recursos, añade un enlace de rol condicional.
Guarda los cambios.
Puedes eliminar y actualizar administradores de proyectos con el mismo panel de gestión de identidades y accesos.
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 proyecto (por ejemplo,my-project-1).PRINCIPAL: una identidad válida a la que quieras asignar el rol. Por ejemplo:- Dirección de 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
- Dirección de 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 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 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.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 - Qué debes evitar:
projects/myproject/locations/US/dataExchanges/123 - Qué debes evitar:
projects/myproject/locations/Eu/dataExchanges/123
Puede eliminar y actualizar roles de intercambio de datos mediante el mismo panel de gestión de identidades y accesos.
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 - Qué debes evitar:
projects/myproject/locations/US/dataExchanges/123/listings/456 - Qué debes evitar:
projects/myproject/locations/Eu/dataExchanges/123/listings/456
Puede eliminar y actualizar roles de fichas mediante el mismo panel de gestión de identidades y accesos.
Siguientes pasos
- Consulta información sobre los roles de gestión de identidades y accesos de BigQuery.
- Consulta información sobre cómo compartir datos en BigQuery.
- Consulta cómo gestionar los intercambios de datos.
- Consulta cómo gestionar fichas.
- Consulta cómo ver y suscribirte a fichas e intercambios de datos.