Configura los roles de uso compartido de BigQuery

Para administrar el acceso a tus intercambios de datos y fichas de uso compartido de BigQuery, otorga roles específicos de Identity and Access Management (IAM) para el uso compartido de BigQuery (antes Analytics Hub). Si asignas estos roles, controlas los permisos de tus datos y te aseguras de que solo los usuarios autorizados puedan descubrir, suscribirse y administrar tus recursos de uso compartido de datos.

Roles de IAM de uso compartido de BigQuery

En las siguientes secciones, se describen los roles de usuario predefinidos de uso compartido de BigQuery. Asigna estos roles para controlar el acceso a tus intercambios de datos y fichas.

Rol Analytics Hub Admin

Para administrar intercambios de datos, el uso compartido de BigQuery proporciona el rol Analytics Hub Admin (roles/analyticshub.admin) que puedes otorgar para un proyecto o intercambio de datos. Este rol te permite 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 uso compartido de BigQuery.

Roles Analytics Hub Publisher y Listing Admin

Para administrar fichas, el uso compartido de BigQuery proporciona los siguientes roles predefinidos que puedes otorgar para un proyecto, un intercambio de datos o una ficha:

Roles Analytics Hub Subscriber y visualizador

Para ver y suscribirte a fichas e intercambios de datos, BigQuery 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 te permite ver fichas y suscribirte a ellas.

    Con este rol, te conviertes en un suscriptor de uso compartido de BigQuery.

  • Rol Analytics Hub Viewer (roles/analyticshub.viewer), que te permite ver fichas y permisos de intercambios de datos.

    Con este rol, te conviertes en un visualizador de BigQuery sharing.

Rol propietario de la suscripción a Analytics Hub

Para administrar suscripciones, el uso compartido de BigQuery proporciona el siguiente rol predefinido que puedes otorgar para un proyecto:

Con este rol, te conviertes en un propietario de la suscripción a BigQuery sharing.

Otorga roles de IAM de uso compartido de BigQuery

Puedes otorgar 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 roles para un proyecto

Si deseas establecer políticas de IAM en un proyecto, debes tener el rol Administrador de IAM del proyecto (roles/resourcemanager.projectIamAdmin) en ese proyecto. Para otorgar los roles de IAM predefinidos de uso compartido de BigQuery para un proyecto, selecciona una de las siguientes opciones:

Console

  1. En la Google Cloud consola de, dirígete a la página IAM.

    Ir a IAM

  2. Haz clic en Otorgar acceso.

  3. En el campo Principales nuevos, ingresa la dirección de correo electrónico del principal al que deseas otorgar acceso. Puedes especificar cualquiera de los siguientes tipos principales:

    • Dirección de 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
  4. En la lista Selecciona un rol, mantén el puntero sobre Analytics Hub y luego, 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
  5. Opcional: Para controlar aún más el acceso a los Google Cloud recursos, agrega una vinculación de rol condicional.

  6. Haz clic en Guardar.

gcloud

Para otorgar roles para un proyecto, usa el gcloud projects add-iam-policy-binding comando:

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-1.
  • PRINCIPAL: es un principal válido al que deseas otorgar el rol. Puedes especificar cualquiera de los siguientes tipos principales:

    • Dirección de correo electrónico de la Cuenta de Google: user:test-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

API

  1. Para leer la política existente, usa el projects.getIamPolicy método:

    POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
    

    Reemplaza PROJECT_ID con el ID del proyecto, por ejemplo, my-project-1.

  2. 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.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain:example.com

    Por ejemplo, para otorgar la función roles/analyticshub.admin a group:admins@googlegroups.com, agrega la siguiente vinculación a la política:

    {
     "members": [
       "group:admins@googlegroups.com"
     ],
     "role":"roles/analyticshub.admin"
    }
    
  3. Para establecer una política para un proyecto, usa el projects.setIamPolicy mé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_ID con el ID del proyecto, por ejemplo, my-project-1.

Puedes actualizar y borrar roles de proyecto con el mismo panel de IAM.

Otorga roles para un intercambio de datos

Cuando otorgas permisos para un intercambio de datos, debes usar letras minúsculas para la ubicación en el nombre del recurso. Si usas valores en mayúsculas o mixtos, puedes provocar errores de permiso denegado.

En los siguientes ejemplos, se muestran formatos de nombres de recursos válidos y no válidos:

  • Usa: projects/myproject/locations/us/dataExchanges/123
  • Evita: projects/myproject/locations/US/dataExchanges/123
  • Evita: projects/myproject/locations/Eu/dataExchanges/123

Para otorgar roles para un intercambio de datos, selecciona una de las siguientes opciones:

Console

  1. En la Google Cloud consola de, dirígete a la página Uso compartido (Analytics Hub).

    Ir a Uso compartido (Analytics Hub)

  2. Haz clic en el nombre del intercambio de datos para el que deseas establecer permisos.

  3. Haz clic en la pestaña Detalles.

  4. Haz clic en Establecer permisos.

  5. Para agregar principales, haz clic en Agregar principal.

  6. En el campo Principales nuevos, ingresa la dirección de correo electrónico del principal al que deseas otorgar acceso. También puedes usar allUsers para hacer que un recurso sea público y accesible para todos en Internet, o allAuthenticatedUsers para que solo sea accesible para los usuarios de Google que accedieron.

  7. En la lista Selecciona un rol , mantén el puntero sobre Analytics Hub y, luego, selecciona uno de los siguientes roles de 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
  8. Haz clic en Guardar.

API

  1. Para leer la política existente, usa el projects.locations.dataExchanges.getIamPolicy método:

    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.

    El uso compartido de BigQuery muestra la política actual.

  2. Para agregar o quitar miembros y sus roles de IAM asociados, edita la política con un editor de texto. Usa el siguiente formato para agregar miembros:

    • user:test-user@gmail.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain:example.com

    Por ejemplo, para otorgar la función roles/analyticshub.subscriber a group:subscribers@googlegroups.com, agrega la siguiente vinculación a la política:

    {
     "members": [
       "group:subscribers@googlegroups.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. Para establecer la política para el intercambio de datos, usa el projects.locations.dataExchanges.setIamPolicy método. 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
    

Puedes actualizar y borrar roles de intercambio de datos con el mismo panel de IAM.

Otorga roles para una ficha

Cuando otorgas permisos para una ficha, debes usar letras minúsculas para la ubicación en el nombre del recurso. Si usas valores en mayúsculas o mixtos, puedes provocar errores de permiso denegado.

En los siguientes ejemplos, se muestran formatos de nombres de recursos válidos y no válidos:

  • 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

Para otorgar roles para una ficha, selecciona una de las siguientes opciones:

Console

  1. En la Google Cloud consola de, dirígete a la página Uso compartido (Analytics Hub).

    Ir a Uso compartido (Analytics Hub)

  2. Haz clic en el nombre del intercambio de datos que contiene la ficha.

  3. Haz clic en la ficha para la que deseas establecer permisos.

  4. Haz clic en Establecer permisos.

  5. Para agregar principales, haz clic en Agregar principal.

  6. En el campo Principales nuevos, ingresa la dirección de correo electrónico del principal al que deseas otorgar acceso.

  7. En la lista Selecciona un rol , mantén el puntero sobre Analytics Hub y, luego, selecciona uno de los siguientes roles de 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
  8. Haz clic en Guardar.

API

  1. Para leer la política existente, usa el projects.locations.dataExchanges.listings.getIamPolicy método:

    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 de BigQuery muestra la política actual.

  2. Para agregar o quitar miembros y sus roles de IAM asociados, edita la política con un editor de texto. Usa el siguiente formato para agregar miembros:

    • user:test-user@gmail.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain:example.com

    Por ejemplo, para otorgar la función roles/analyticshub.publisher a group:publishers@googlegroups.com, agrega la siguiente vinculación a la política:

    {
     "members": [
       "group:publishers@googlegroups.com"
     ],
     "role":"roles/analyticshub.publisher"
    }
    
  3. Para establecer la política para la ficha, usa el projects.locations.dataExchanges.listings.setIamPolicy método. 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
    

Puedes actualizar y borrar roles de ficha con el mismo panel de IAM.

¿Qué sigue?