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
Devi aver configurato un'organizzazione Google Cloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Devi avere accesso a Microsoft Entra e Microsoft Graph.
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 esempioadmin-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:
Nella console Google Cloud, vai alla pagina Pool di identità per la forza lavoro:
Fai clic su Crea pool e segui questi passaggi:
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.
(Facoltativo) In Descrizione, inserisci una descrizione del pool.
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).
Per creare il pool in stato Attivato, assicurati che Il pool abilitato è attivo.
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.
Nell'applicazione Microsoft Entra che hai registrato, crea un nuovo client secret. Prendi nota del client secret.
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:
- Nell'applicazione, seleziona Autorizzazioni API.
- In Autorizzazioni configurate, fai clic su Aggiungi un'autorizzazione.
- Nella finestra di dialogo Richiedi autorizzazioni API, seleziona Microsoft Graph.
- Seleziona Autorizzazioni applicazione.
- Nella finestra di dialogo Seleziona autorizzazioni, procedi nel seguente modo:
- Nel campo di ricerca, inserisci
User.ReadBasic.All
. - Fai clic su User.ReadBasic.All.
- Fai clic su Aggiungi autorizzazioni.
- Nel campo di ricerca, inserisci
- Nella finestra di dialogo Richiedi autorizzazioni API, seleziona Microsoft Graph.
- Seleziona Autorizzazioni applicazione.
- Nella finestra di dialogo Seleziona autorizzazioni, procedi nel seguente modo:
- Nel campo di ricerca, inserisci
GroupMember.Read.All
. - Fai clic su GroupMember.Read.All.
- Fai clic su Aggiungi autorizzazioni.
- Nel campo di ricerca, inserisci
- In Autorizzazioni configurate, fai clic su Concedi il consenso amministratore per (nome dominio).
- Quando ti viene chiesto di confermare, fai clic su Sì.
Per accedere ai valori necessari per configurare il provider del pool di forza lavoro più avanti in questa guida, segui questi passaggi:
- Vai alla pagina Panoramica dell'applicazione Microsoft Entra.
- Fai clic su Endpoint.
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 prefissogcp-
è 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
. SostituisciTENANT_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
: L'esempio seguente filtra i gruppi associati a utenti i cui indirizzi email iniziano con--extra-attributes-filter='"mail:gcp"'
gcp
e un displayName che contieneexample
:--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 archiviatiWORKFORCE_POOL_ID
: ID pool di identità della forza lavoroGROUP_ID
: il gruppo, ad esempioadmin-group@example.com
Accedere ai dati BigQuery da Power BI Desktop
Per accedere ai dati di BigQuery da Power BI Desktop:
- Apri Power BI.
- Fai clic su Get Data (Carica dati).
- Fai clic su Database.
- Nell'elenco dei database, seleziona Google BigQuery (ID Microsoft Entra) (beta).
- Fai clic su Connetti.
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.
Fai clic su Ok.
Fai clic su Avanti.
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:
Vai a Power BI Web.
Fai clic su Genera query per aggiungere una nuova origine dati.
Fai clic su Ottieni dati.
Nell'elenco, individua e seleziona Google BigQuery (Microsoft Entra ID) (beta).
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 lavoroPROVIDER_ID
: il pool di identità della forza lavoro ID provider
Fai clic su Credenziali di connessione > Tipo di autenticazione.
Seleziona Account aziendale.
Fai clic su Accedi.
Fai clic su Avanti.
Fai clic su Seleziona i dati.
Ora puoi utilizzare i dati di BigQuery in Power BI Web.
Passaggi successivi
- Per eliminare gli utenti di Workforce Identity Federation e i relativi dati, consulta Eliminare gli utenti di Workforce Identity Federation e i relativi dati
- Per informazioni sul supporto dei prodotti Google Cloud per la federazione delle identità della forza lavoro, consulta Federazione delle identità: prodotti supportati e limitazioni