En esta guía se explica cómo permitir que los usuarios que pertenecen a grupos de Microsoft Entra accedan a datos de BigQuery en Power BI mediante la federación de identidades de la plantilla.
Microsoft Entra es el proveedor de identidades (IdP). Las reclamaciones de grupos de Microsoft Entra se asignan a Google Cloud. Se concede a los grupos permiso de Gestión de Identidades y Accesos (IAM) para acceder a los datos de BigQuery.
En esta guía se proporcionan instrucciones para Power BI Desktop o Web.
Antes de empezar
- Asegúrate de que tienes una organización de Google Cloud configurada.
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Debes tener acceso a Microsoft Entra y Microsoft Graph.
- Debes tener configurado Power BI.
Costes
La federación de identidades para los trabajadores está disponible como función gratuita. Sin embargo, el registro de auditoría detallado de la federación de identidades de Workforce usa Cloud Logging. Para obtener información sobre los precios de Logging, consulta los precios de Google Cloud Observability.
Roles obligatorios
En esta sección se describen los roles necesarios para los administradores y los recursos.
Roles de administrador
Para obtener los permisos que necesitas para configurar la federación de identidades de Workforce, pide a tu administrador que te conceda el rol de administrador de grupos de Workforce de gestión de identidades y accesos (roles/iam.workforcePoolAdmin
) en la organización.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
También puedes usar el rol básico Propietario de gestión de identidades y accesos (roles/owner
), que incluye permisos para configurar la federación de identidades.
No debes conceder roles básicos en un entorno de producción, pero sí puedes hacerlo en un entorno de desarrollo o de pruebas.
Roles de identidades federadas
Power BI envía el parámetro userProject
durante el intercambio de tokens. Por este motivo, debes pedirle a tu administrador que conceda el rol de consumidor de uso de servicios (roles/serviceusage.serviceUsageConsumer
) a las identidades federadas en el proyecto de facturación.
Para asignar el rol a un grupo de identidades federadas, ejecuta el siguiente comando:
gcloud projects add-iam-policy-binding PROJECT_ID \
--role="roles/serviceusage.serviceUsageConsumer" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Haz los cambios siguientes:
PROJECT_ID
: el ID de proyecto de facturación.WORKFORCE_POOL_ID
: el ID del grupo de identidades de Workforce.GROUP_ID
: el ID del grupo. Por ejemplo,admin-group@altostrat.com
. Para ver una lista de los identificadores de principales comunes, consulta Identificadores de principales.
Crear un grupo de identidades de Workforce
En esta sección se describe cómo crear el grupo de identidades de la fuerza de trabajo. Crearás el proveedor de grupos de identidades de empleados más adelante en esta guía.
gcloud
Para crear el grupo de identidades de Workforce, ejecuta el siguiente comando:
gcloud iam workforce-pools create WORKFORCE_POOL_ID \
--organization=ORGANIZATION_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
Haz los cambios siguientes:
WORKFORCE_POOL_ID
: un ID que elijas para representar tu Google Cloud grupo de Workforce. Para obtener información sobre el formato del ID, consulta la sección Parámetros de consulta de la documentación de la API.ORGANIZATION_ID
: el ID numérico de tu organización Google Cloud para el grupo de identidades de Workforce. Los grupos de identidades de Workforce están disponibles en todos los proyectos y carpetas de la organización.DISPLAY_NAME
: opcional. Nombre visible del grupo de identidades de Workforce.DESCRIPTION
: opcional. Descripción del grupo de identidades de Workforce.SESSION_DURATION
: opcional. La duración de la sesión, expresada como un número seguido des
. Por ejemplo,3600s
. La duración de la sesión determina cuánto tiempo son válidos los Google Cloud tokens de acceso, las sesiones de inicio de sesión de la consola (federada) y las sesiones de inicio de sesión de la CLI de gcloud de este grupo de empleados. La duración de la sesión es de una hora (3600 s) de forma predeterminada. El valor de la duración de la sesión debe estar entre 15 minutos (900 s) y 12 horas (43.200 s).
Consola
Para crear el grupo de identidades de Workforce, sigue estos pasos:
En la Google Cloud consola, ve a la página Grupos de identidades de la fuerza de trabajo:
Selecciona la organización de tu grupo de identidades de Workforce. Los grupos de identidades de la fuerza de trabajo están disponibles en todos los proyectos y carpetas de una organización.
Haz clic en Crear pool y sigue estos pasos:
En el campo Nombre, introduce el nombre visible del grupo. El ID del grupo se deriva automáticamente del nombre a medida que lo escribes y se muestra en el campo Nombre. Para actualizar el ID del grupo, haz clic en Editar junto al ID del grupo.
Opcional: En Descripción, escriba una descripción del grupo.
Para crear el grupo de identidades de Workforce, haz clic en Siguiente.
La duración de la sesión del grupo de identidades de Workforce es de una hora (3600 s) de forma predeterminada. La duración de la sesión determina cuánto tiempo son válidas las sesiones de inicio de sesión de los tokens de acceso, la consola (federada) y la CLI de gcloud de este grupo de empleados. Google Cloud Una vez que hayas creado el grupo, podrás actualizarlo para definir una duración de sesión personalizada. La duración de la sesión debe ser de entre 15 minutos (900 s) y 12 horas (43.200 s).
Registrar una aplicación de Microsoft Entra
En esta sección se muestra cómo crear una aplicación de Microsoft Entra mediante el portal de Microsoft Azure.
En la aplicación de Microsoft Entra que has registrado, crea un secreto de cliente. Anota el secreto de cliente.
Concede permisos de API a tu aplicación de Microsoft Entra para que pueda acceder a la información de usuarios y grupos de Active Directory. Para conceder permisos a la API Microsoft Graph, sigue estos pasos:
- En tu aplicación, selecciona Permisos de API.
- En Permisos configurados, haz clic en Añadir un permiso.
- En el cuadro de diálogo Solicitar permisos de API, selecciona Microsoft Graph.
- Selecciona Permisos de aplicaciones.
- En el cuadro de diálogo Seleccionar permisos, haz lo siguiente:
- En el campo de búsqueda, introduce
User.ReadBasic.All
. - Haz clic en User.ReadBasic.All.
- Haz clic en Añadir permisos.
- En el campo de búsqueda, introduce
- En el cuadro de diálogo Solicitar permisos de API, selecciona Microsoft Graph.
- Selecciona Permisos de aplicaciones.
- En el cuadro de diálogo Seleccionar permisos, haz lo siguiente:
- En el campo de búsqueda, introduce
GroupMember.Read.All
. - Haz clic en GroupMember.Read.All.
- Haz clic en Añadir permisos.
- En el campo de búsqueda, introduce
- En Permisos configurados, haz clic en Conceder consentimiento de administrador para (nombre de dominio).
- Cuando se te pida que confirmes la acción, haz clic en Sí.
Para acceder a los valores que necesita para configurar el proveedor del grupo de trabajadores más adelante en esta guía, haga lo siguiente:
- Ve a la página Resumen de la aplicación Microsoft Entra.
- Haz clic en Puntos de conexión.
Ten en cuenta los siguientes valores:
- ID de cliente: el ID de la aplicación de Microsoft Entra que has registrado anteriormente en esta guía.
- Secreto de cliente: el secreto de cliente que has generado anteriormente en esta guía.
- ID de cliente: el ID de cliente de la aplicación de Microsoft Entra que has registrado anteriormente en esta guía.
- URI del emisor: el URI del documento de metadatos de OpenID Connect, sin
/.well-known/openid-configuration
. Por ejemplo, si la URL del documento de metadatos de OpenID Connect eshttps://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration
, el URI del emisor eshttps://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/
.
Crear un proveedor de grupos de identidades de empleados
Para crear el proveedor, ejecuta el siguiente comando:
gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location=global \
--display-name=DISPLAY_NAME \
--issuer-uri=ISSUER_URI \
--client-id=https://analysis.windows.net/powerbi/connector/GoogleBigQuery \
--attribute-mapping=ATTRIBUTE_MAPPING \
--web-sso-response-type=id-token \
--web-sso-assertion-claims-behavior=only-id-token-claims \
--extra-attributes-issuer-uri=APP_ISSUER_URI \
--extra-attributes-client-id=APP_CLIENT_ID \
--extra-attributes-client-secret-value=APP_CLIENT_SECRET \
--extra-attributes-type=EXTRA_GROUPS_TYPE \
--extra-attributes-filter=EXTRA_FILTER \
--detailed-audit-logging
Haz los cambios siguientes:
WORKFORCE_PROVIDER_ID
: un ID de proveedor único. El prefijogcp-
está reservado y no se puede usar en un ID de proveedor.WORKFORCE_POOL_ID
: el ID del grupo de identidades de Workforce al que conectar tu IdP.DISPLAY_NAME
: nombre visible opcional para el proveedor.ISSUER_URI
: el valor del URI del emisor, con el formatohttps://sts.windows.net/TENANT_ID
. SustituyeTENANT_ID
por el ID de inquilino que has anotado anteriormente.ATTRIBUTE_MAPPING
: una asignación del grupo y, opcionalmente, otros atributos de la reclamación de Microsoft Entra a atributos deGoogle Cloud , por ejemplo:google.groups=assertion.groups, google.subject=assertion.sub
. El grupo tendrá acceso a los datos de BigQuery más adelante en esta guía.Para obtener más información, consulta Asignación de atributos.
APP_ISSUER_URI
: el URI del emisor de la aplicación de Microsoft Entra que has anotado anteriormente.APP_CLIENT_ID
: el ID de cliente del emisor que has anotado antes.APP_CLIENT_SECRET
: el secreto de cliente del emisor que has anotado anteriormente.EXTRA_GROUPS_TYPE
: el tipo de identificador de grupo, que puede ser uno de los siguientes:azure-ad-groups-mail
: las direcciones de correo de grupo se obtienen del proveedor de identidades. Por ejemplo:admin-group@altostrat.com
.azure-ad-groups-id
: los UUIDs que representan los grupos se obtienen del IdP. Por ejemplo:abcdefgh-0123-0123-abcdef
.
EXTRA_FILTER
: el filtro usado para solicitar que se transfieran aserciones específicas desde el IdP. Especificando--extra-attributes-type=azure-ad-groups-mail
,--extra-attributes-filter
filtros para las reclamaciones de grupo de un usuario que se transfieren desde el IdP. De forma predeterminada, se obtienen todos los grupos asociados al usuario. Los grupos que se utilicen deben tener habilitadas las opciones de correo y seguridad. Para obtener más información, consulta Usar el parámetro de consulta $search.En el siguiente ejemplo se filtran los grupos asociados a direcciones de correo de usuario que empiezan por
gcp
: En el siguiente ejemplo se filtran los grupos asociados a usuarios cuyas direcciones de correo empiezan por--extra-attributes-filter='"mail:gcp"'
gcp
y cuyo displayName contieneexample
:--extra-attributes-filter='"mail:gcp" AND "displayName:example"'
La federación de identidades de Workforce registra información de auditoría detallada recibida de tu proveedor de identidades en Logging. El registro de auditoría detallado puede ayudarte a solucionar problemas con la configuración de tu proveedor de identidades de la plantilla. Para saber cómo solucionar problemas de asignación de atributos con registros de auditoría detallados, consulta Errores generales de asignación de atributos. Para obtener información sobre los precios de Logging, consulta la página de precios de Google Cloud Observability.
Para inhabilitar el registro de auditoría detallado de un proveedor de grupos de identidades de fuerza de trabajo, omite la marca
--detailed-audit-logging
al ejecutargcloud iam workforce-pools providers create
. Para inhabilitar el registro de auditoría detallado, también puedes actualizar el proveedor.
Crear políticas de gestión de identidades y accesos
En esta sección, creará una política de permiso de gestión de identidades y accesos que asigne el rol Lector de datos de BigQuery (roles/bigquery.dataViewer
) al grupo asignado en el proyecto en el que se almacenan sus datos de BigQuery. Esta política permite que todas las identidades del grupo vean los datos de las tablas y vistas de BigQuery almacenadas en el proyecto.
Para crear la política, ejecuta el siguiente comando:
gcloud projects add-iam-policy-binding BIGQUERY_PROJECT_ID \
--role="roles/bigquery.dataViewer" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Haz los cambios siguientes:
BIGQUERY_PROJECT_ID
: el ID del proyecto en el que se almacenan los datos y los metadatos de BigQuery.WORKFORCE_POOL_ID
: el ID del grupo de identidades de WorkforceGROUP_ID
: el identificador del grupo, que depende del valor de--extra-attributes-type
que se haya usado para crear el proveedor de identidades de Workforce, tal como se indica a continuación:azure-ad-groups-mail
: el identificador del grupo es una dirección de correo electrónico. Por ejemplo:admin-group@altostrat.com
azure-ad-groups-id
: el identificador de grupo es un UUID del grupo. Por ejemplo:abcdefgh-0123-0123-abcdef
Acceder a datos de BigQuery desde Power BI Desktop
Para acceder a los datos de BigQuery desde Power BI Desktop, haz lo siguiente:
- Abre Power BI.
- Haz clic en Obtener datos.
- Haz clic en Base de datos.
- En la lista de bases de datos, selecciona Google BigQuery (Microsoft Entra ID) (Beta).
- Haz clic en Conectar.
Rellena los siguientes campos obligatorios:
- ID de proyecto de facturación: el ID de proyecto de facturación.
URI de audiencia: el Google Cloud URI, con el siguiente formato:
//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Haz los cambios siguientes:
WORKFORCE_POOL_ID
: el ID del grupo de identidades de Workforce.WORKFORCE_PROVIDER_ID
: el ID del proveedor del grupo de identidades de Workforce.
Haz clic en Aceptar.
Haz clic en Siguiente.
Haz clic en Seleccionar los datos.
Si se te pide que inicies sesión, usa una identidad de Microsoft Entra que sea miembro del grupo.
Ahora puede usar datos de BigQuery en Power BI Desktop.
Acceder a los datos de BigQuery desde Power BI Web
Para acceder a los datos de BigQuery desde Power BI Web, haz lo siguiente:
Ve a Power BI Web.
Haga clic en Power Query para añadir una nueva fuente de datos.
Haz clic en Obtener datos.
En la lista, busca y selecciona Google BigQuery (Microsoft Entra ID) (Beta).
Rellena los siguientes campos obligatorios:
ID de proyecto de facturación: el Google Cloud proyecto de facturación
URI de audiencia: el URI de audiencia, con el siguiente formato:
//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Haz los cambios siguientes:
WORKFORCE_POOL_ID
: el ID del grupo de identidades de WorkforceWORKFORCE_PROVIDER_ID
: el ID del proveedor del grupo de identidades de Workforce
Haz clic en Credenciales de conexión > Tipo de autenticación.
Selecciona Cuenta de organización.
Haz clic en Iniciar sesión.
Haz clic en Siguiente.
Haz clic en Seleccionar los datos.
Ahora puede usar datos de BigQuery en Power BI Web.
Siguientes pasos
- Para eliminar usuarios de la federación de identidades de la plantilla y sus datos, consulta Eliminar usuarios de la federación de identidades de la plantilla y sus datos.
- Para obtener información sobre la compatibilidad de los productos con Workforce Identity Federation, consulta el artículo Federación de identidades: productos admitidos y limitaciones. Google Cloud