Accedi ai dati BigQuery in Power BI con la federazione delle identità per la forza lavoro e Microsoft Entra

Questa guida mostra come consentire agli utenti dei gruppi Microsoft Entra di accedere Dati BigQuery in Power BI utilizzando la Federazione delle identità per la forza lavoro.

Microsoft Entra è il provider di identità (IdP). Gruppi attestati da Microsoft I valori Entra sono mappati a Google Cloud. Ai gruppi viene concessa l'autorizzazione Identity and Access Management (IAM) per accedere ai dati BigQuery.

Questa guida fornisce istruzioni per Power BI Desktop o Web.

Prima di iniziare

  1. Devi aver configurato un'organizzazione Google Cloud.

  2. Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

  3. Devi avere accesso a Microsoft Entra e Microsoft Graph.

  4. Devi aver configurato Power BI.

Ruoli obbligatori

Questa sezione descrive i ruoli richiesti per amministratori e risorse.

Ruoli per amministratori

Per ottenere le autorizzazioni necessarie per configurare la federazione delle identità per la forza lavoro, chiedi all'amministratore di concederti Ruolo IAM Amministratore pool di forza lavoro IAM (roles/iam.workforcePoolAdmin) nell'organizzazione. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.

In alternativa, il ruolo di base Proprietario IAM (roles/owner) include le autorizzazioni per configurare la federazione delle identità. Non è consigliabile concedere ruoli di base in un ambiente di produzione, ma puoi concederli in una di sviluppo o test.

Ruoli per identità federate

Power BI invia il parametro userProject durante lo scambio di token. A causa di Devi chiedere all'amministratore di concedere il ruolo Service Usage Consumer (roles/serviceusage.serviceUsageConsumer) alle identità federate sulla progetto di fatturazione.

Per concedere il ruolo a un gruppo di identità federate, esegui questo 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"

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto di fatturazione.
  • WORKFORCE_POOL_ID: ID pool di identità della forza lavoro.
  • GROUP_ID: l'ID gruppo, ad esempio admin-group@example.com. Per vedere un elenco di identificatori entità comuni, consulta Identificatori entità.

Crea un pool di identità della forza lavoro

Questa sezione descrive come creare un pool di identità della forza lavoro. Sei tu a creare più avanti in questa guida.

Console

Per creare il pool di identità della forza lavoro, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Pool di identità per la forza lavoro:

    Vai ai pool di identità della forza lavoro

  2. Fai clic su Crea pool e segui questi passaggi:

    1. Nel campo Nome, inserisci il nome visualizzato del pool. L'ID pool deriva automaticamente dal nome mentre digiti e viene visualizzato nel campo Nome. Puoi aggiornare l'ID pool facendo clic su Modifica accanto all'ID pool.

    2. (Facoltativo) In Descrizione, inserisci una descrizione del pool.

    3. La durata della sessione è impostata per impostazione predefinita. Per inserire una durata personalizzata della sessione, fai clic su Modifica. Durata della sessione determina per quanto tempo Google Cloud token di accesso, console (federata) sessioni di accesso e le sessioni di accesso gcloud CLI da questo pool di forza lavoro sono validi. La durata deve essere superiore a 15 minuti (900 s) e meno di 12 ore (43.200 s). Se la durata della sessione non è impostata, viene utilizzata per impostazione predefinita durata di un'ora (3600 s).

    4. Per creare il pool in stato Attivato, assicurati che Il pool abilitato è attivo.

    5. Per creare il pool di identità della forza lavoro, fai clic su Avanti.

gcloud

Per creare il pool di identità del personale, esegui il seguente comando:

gcloud iam workforce-pools create WORKFORCE_POOL_ID \
    --organization=ORGANIZATION_ID \
    --display-name="DISPLAY_NAME" \
    --description="DESCRIPTION" \
    --session-duration=SESSION_DURATION \
    --location=global

Sostituisci quanto segue:

  • WORKFORCE_POOL_ID: un ID che scegli di rappresentare del tuo pool di forza lavoro Google Cloud. Per informazioni sulla formattazione dell'ID, consulta la sezione Parametri di query nella documentazione dell'API.
  • ORGANIZATION_ID: l'ID numerico dell'organizzazione di nella tua organizzazione Google Cloud.
  • DISPLAY_NAME: facoltativo. Un nome visualizzato per di identità per la forza lavoro.
  • DESCRIPTION: facoltativo. Un pool di identità della forza lavoro o l'audiodescrizione.
  • SESSION_DURATION: facoltativo. Durata della sessione, che determina per quanto tempo Google Cloud token di accesso, console (federata) sessioni di accesso e le sessioni di accesso gcloud CLI da questo pool di forza lavoro sono validi. La durata deve essere superiore a 15 minuti (900 s) e meno di 12 ore (43.200 s). Se la durata della sessione non è impostata, viene utilizzata per impostazione predefinita durata di un'ora (3600 s).

Registra una nuova app Microsoft Entra

Questa sezione mostra come creare un'app Microsoft Entra utilizzando l'interfaccia dal portale Azure.

  1. Registra una nuova applicazione Microsoft Entra.

  2. Nell'applicazione Microsoft Entra che hai registrato, crea un nuovo client secret. Prendi nota del client secret.

  3. Concedi le autorizzazioni API alla tua applicazione Microsoft Entra in modo che possa accedere alle informazioni su utenti e gruppi da Active Directory. Per concedere autorizzazioni per l'API Microsoft Graph, segui questi passaggi:

    1. Nell'applicazione, seleziona Autorizzazioni API.
    2. In Autorizzazioni configurate, fai clic su Aggiungi un'autorizzazione.
    3. Nella finestra di dialogo Richiedi autorizzazioni API, seleziona Microsoft Graph.
    4. Seleziona Autorizzazioni applicazione.
    5. Nella finestra di dialogo Seleziona autorizzazioni, procedi nel seguente modo:
      1. Nel campo di ricerca, inserisci User.ReadBasic.All.
      2. Fai clic su User.ReadBasic.All.
      3. Fai clic su Aggiungi autorizzazioni.
    6. Nella finestra di dialogo Richiedi autorizzazioni API, seleziona Microsoft Graph.
    7. Seleziona Autorizzazioni applicazione.
    8. Nella finestra di dialogo Seleziona autorizzazioni, procedi nel seguente modo:
      1. Nel campo di ricerca, inserisci GroupMember.Read.All.
      2. Fai clic su GroupMember.Read.All.
      3. Fai clic su Aggiungi autorizzazioni.
    9. In Autorizzazioni configurate, fai clic su Concedi il consenso amministratore per (nome dominio).
    10. Quando ti viene chiesto di confermare, fai clic su .
  4. Per accedere ai valori necessari per configurare il provider del pool di forza lavoro più avanti in questa guida, segui questi passaggi:

    1. Vai alla pagina Panoramica dell'applicazione Microsoft Entra.
    2. Fai clic su Endpoint.
    3. Prendi in considerazione i seguenti valori:

      • ID client:l'ID dell'app Microsoft Entra che hai registrato in precedenza.
      • Client Secret:il client secret generato in precedenza in questa guida.
      • ID tenant: l'ID tenant dell'app Microsoft Entra che hai registrato in precedenza in questa guida.
      • URI emittente: l'URI del documento di metadati OpenID Connect, /.well-known/openid-configuration omesso. Ad esempio, se l'URL del documento dei metadati OpenID Connect è https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration, l'URI Issuer è https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.

Crea un provider di pool di identità per la forza lavoro

Per creare il provider, esegui questo comando:

gcloud iam workforce-pools providers create-oidc 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=azure-ad-groups-mail \
    --extra-attributes-filter=FILTER

Sostituisci quanto segue:

  • PROVIDER_ID: un ID provider univoco. Il prefisso gcp- è riservato e non può essere utilizzato in un ID provider.
  • WORKFORCE_POOL_ID: ID pool di identità della forza lavoro da utilizzare connettere il tuo IdP.
  • DISPLAY_NAME: un nome visualizzato facoltativo per il provider.
  • ISSUER_URI: il valore dell'URI dell'emittente, formattato come, https://sts.windows.net/TENANT_ID. Sostituisci TENANT_ID con l'ID tenant che hai preso nota in precedenza.
  • ATTRIBUTE_MAPPING: una mappatura del gruppo e facoltativamente, altri attributi della dichiarazione Microsoft Entra Attributi Google Cloud, ad esempio: google.groups=assertion.groups, google.subject=assertion.sub. Il gruppo di accesso ai dati BigQuery più avanti in questa guida.
  • APP_ISSUER_URI: l'URI dell'emittente della risorsa Microsoft Entra che hai annotato in precedenza.
  • APP_CLIENT_ID: l'ID client dell'emittente che hai annotato in precedenza.
  • APP_CLIENT_SECRET: il client secret dell'emittente che di cui sopra.
  • FILTER: il filtro utilizzato per richiedere asserzioni specifiche passate dall'IdP. Specificando --extra-attributes-type=azure-ad-groups-mail e --extra-attributes-filter filtri per le rivendicazioni di gruppi di un utente che vengono trasmesse dall' o provider di identità. Per impostazione predefinita, vengono recuperati tutti i gruppi associati all'utente. La I gruppi utilizzati devono essere abilitati per la posta e la sicurezza. Per saperne di più, vedi Utilizza il parametro di query $search. È possibile recuperare un massimo di 100 gruppi.

    L'esempio seguente di filtro per i gruppi associati agli indirizzi email dell'utente che iniziano con gcp:

    --extra-attributes-filter='"mail:gcp"'
    L'esempio seguente filtra i gruppi associati a utenti i cui indirizzi email iniziano con gcp e un displayName che contiene example:
    --extra-attributes-filter='"mail:gcp" AND "displayName:example"'

Crea criteri IAM

In questa sezione crei un criterio di autorizzazione IAM che concede il ruolo Visualizzatore dati BigQuery (roles/bigquery.dataViewer) al gruppo mappato nel progetto in cui sono archiviati i dati BigQuery. La consente a tutte le identità presenti nel gruppo di visualizzare i dati da Tabelle e viste BigQuery archiviate nel progetto.

Per creare il criterio, esegui questo 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"

Sostituisci quanto segue:

  • BIGQUERY_PROJECT_ID: l'ID progetto in cui I dati e i metadati di BigQuery vengono archiviati
  • WORKFORCE_POOL_ID: ID pool di identità della forza lavoro
  • GROUP_ID: il gruppo, ad esempio admin-group@example.com

Accedere ai dati BigQuery da Power BI Desktop

Per accedere ai dati di BigQuery da Power BI Desktop:

  1. Apri Power BI.
  2. Fai clic su Get Data (Carica dati).
  3. Fai clic su Database.
  4. Nell'elenco dei database, seleziona Google BigQuery (ID Microsoft Entra) (beta).
  5. Fai clic su Connetti.
  6. Compila i seguenti campi obbligatori:

    • ID progetto di fatturazione: l'ID del progetto di fatturazione.
    • URI pubblico: l'URI di Google Cloud, formattato come segue:

      //iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID
      

      Sostituisci quanto segue:

      • WORKFORCE_POOL_ID: il pool di identità della forza lavoro ID.

      • PROVIDER_ID: il pool di identità della forza lavoro l'ID provider.

  7. Fai clic su Ok.

  8. Fai clic su Avanti.

  9. Fai clic su Seleziona i dati.

Se ti viene chiesto di accedere, utilizza un'identità Microsoft Entra che faccia parte di il gruppo.

Ora puoi utilizzare i dati di BigQuery in Power BI Desktop.

Accedi ai dati BigQuery da Power BI Web

Per accedere ai dati BigQuery da Power BI Web, segui questi passaggi:

  1. Vai a Power BI Web.

  2. Fai clic su Genera query per aggiungere una nuova origine dati.

  3. Fai clic su Ottieni dati.

  4. Nell'elenco, individua e seleziona Google BigQuery (Microsoft Entra ID) (beta).

  5. Compila i seguenti campi obbligatori:

    • ID progetto di fatturazione: il progetto di fatturazione Google Cloud

    • URI Audience: l'URI Audience, formattato come segue:

      //iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID
      

      Sostituisci quanto segue:

      • WORKFORCE_POOL_ID: l'ID del pool di identità della forza lavoro

      • PROVIDER_ID: il pool di identità della forza lavoro ID provider

  6. Fai clic su Credenziali di connessione > Tipo di autenticazione.

  7. Seleziona Account aziendale.

  8. Fai clic su Accedi.

  9. Fai clic su Avanti.

  10. Fai clic su Seleziona i dati.

Ora puoi utilizzare i dati di BigQuery in Power BI Web.

Passaggi successivi