Questa guida mostra come consentire agli utenti che fanno parte di gruppi Microsoft Entra di accedere ai dati BigQuery in Power BI utilizzando la federazione delle identità per la forza lavoro.
Microsoft Entra è il provider di identità (IdP). Le attestazioni dei gruppi di Microsoft Entra vengono mappate 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
- Assicurati di aver configurato un'organizzazione Google Cloud .
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
- Devi avere accesso a Microsoft Entra e Microsoft Graph.
- Devi aver configurato Power BI.
Costi
La federazione delle identità per la forza lavoro è disponibile come funzionalità senza costi. Tuttavia, l'audit logging dettagliato della federazione delle identità per la forza lavoro utilizza Cloud Logging. Per informazioni sui prezzi di Logging, consulta Prezzi di Google Cloud Observability.
Ruoli obbligatori
Questa sezione descrive i ruoli richiesti per gli amministratori e le risorse.
Ruoli per gli amministratori
Per ottenere le autorizzazioni
necessarie per configurare la federazione delle identità della forza lavoro,
chiedi all'amministratore di concederti il
ruolo IAM Amministratore pool di identità della forza lavoro (roles/iam.workforcePoolAdmin
)
nell'organizzazione.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
In alternativa, il ruolo di base Proprietario IAM (roles/owner
) include anche le autorizzazioni per configurare la federazione delle identità.
Non devi concedere ruoli di base in un ambiente di produzione, ma puoi concederli in un ambiente di sviluppo o di test.
Ruoli per le identità federate
Power BI invia il parametro userProject
durante lo scambio di token. Per questo motivo, devi chiedere all'amministratore di concedere il ruolo Consumer utilizzo servizi (roles/serviceusage.serviceUsageConsumer
) alle identità federate nel 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 progetto di fatturazione.WORKFORCE_POOL_ID
: l'ID del pool di identità della forza lavoro.GROUP_ID
: l'ID gruppo, ad esempioadmin-group@altostrat.com
. Per visualizzare un elenco degli identificatori delle entità comuni, vedi Identificatori delle entità.
Crea un pool di identità per la forza lavoro
Questa sezione descrive come creare il pool di identità per la forza lavoro. Il provider di pool di identità per la forza lavoro viene creato più avanti in questa guida.
gcloud
Per creare il pool di identità per la forza lavoro, esegui questo 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 per rappresentare il 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 Google Cloud per il pool di identità della forza lavoro. I pool di identità della forza lavoro sono disponibili in tutti i progetti e nelle cartelle dell'organizzazione.DISPLAY_NAME
: (Facoltativo) Un nome visualizzato per il tuo pool di identità della forza lavoro.DESCRIPTION
: (Facoltativo) Una descrizione del pool di identità della forza lavoro.SESSION_DURATION
: (Facoltativo) La durata della sessione, espressa come numero a cui è aggiuntos
, ad esempio3600s
. La durata della sessione determina per quanto tempo sono validi i token di accesso Google Cloud , le sessioni di accesso alla console (federata) e le sessioni di accesso a gcloud CLI di questo pool di forza lavoro. Per impostazione predefinita, la durata della sessione è di un'ora (3600 secondi). Il valore della durata della sessione deve essere compreso tra 15 minuti (900 secondi) e 12 ore (43.200 secondi).
Console
Per creare il pool di identità per la forza lavoro:
Nella console Google Cloud , vai alla pagina Pool di identità per la forza lavoro:
Seleziona l'organizzazione per il tuo pool di identità della forza lavoro. I pool di identità del personale sono disponibili in tutti i progetti e le cartelle di un' organizzazione.
Fai clic su Crea pool e segui questi passaggi:
Nel campo Nome, inserisci il nome visualizzato del pool. L'ID pool viene derivato automaticamente dal nome durante la digitazione 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.
Per creare il pool di identità per la forza lavoro, fai clic su Avanti.
La durata della sessione del pool di identità della forza lavoro è impostata su un'ora (3600 secondi) per impostazione predefinita. La durata della sessione determina per quanto tempo sono validi i Google Cloud token di accesso, console (federata) e le sessioni di accesso gcloud CLI da questo pool di forza lavoro. Dopo aver creato il pool, puoi aggiornarlo per impostare una durata della sessione personalizzata. La durata della sessione deve essere compresa tra 15 minuti (900 secondi) e 12 ore (43.200 secondi).
Registra una nuova app Microsoft Entra
Questa sezione mostra come creare un'app Microsoft Entra utilizzando il portale Microsoft 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 di utenti e gruppi da Active Directory. Per concedere le autorizzazioni per l'API Microsoft Graph:
- Nella tua 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 fornitore del pool di forza lavoro più avanti in questa guida, procedi nel seguente modo:
- Vai alla pagina Panoramica dell'applicazione Microsoft Entra.
- Fai clic su Endpoint.
Prendi nota dei seguenti valori:
- ID client:l'ID dell'app Microsoft Entra che hai registrato in precedenza in questa guida.
- Client secret:il client secret che hai generato in precedenza in questa guida.
- ID tenant:l'ID tenant dell'app Microsoft Entra che hai registrato in precedenza in questa guida.
- URI dell'emittente:l'URI del documento di metadati OpenID Connect,
omettendo
/.well-known/openid-configuration
. 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 emittente è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 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
Sostituisci quanto segue:
WORKFORCE_PROVIDER_ID
: un ID fornitore univoco. Il prefissogcp-
è riservato e non può essere utilizzato in un ID fornitore.WORKFORCE_POOL_ID
: l'ID del pool di identità della forza lavoro a cui connettere il tuo IdP.DISPLAY_NAME
: un nome visualizzato facoltativo e facile da ricordare per il fornitore.ISSUER_URI
: il valore dell'URI dell'emittente, formattato comehttps://sts.windows.net/TENANT_ID
. SostituisciTENANT_ID
con l'ID tenant che hai annotato in precedenza.ATTRIBUTE_MAPPING
: una mappatura del gruppo e, facoltativamente, di altri attributi dell'attestazione Microsoft Entra agli attributiGoogle Cloud , ad esempio:google.groups=assertion.groups, google.subject=assertion.sub
. Al gruppo viene concesso l'accesso ai dati BigQuery più avanti in questa guida.Per ulteriori informazioni, vedi Mappatura degli attributi.
APP_ISSUER_URI
: l'URI emittente dell'applicazione 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 hai annotato in precedenza.EXTRA_GROUPS_TYPE
: il tipo di identificatore di gruppo, che può essere uno dei seguenti:azure-ad-groups-mail
: gli indirizzi email del gruppo vengono recuperati dal provider di identità, ad esempio:admin-group@altostrat.com
.azure-ad-groups-id
: gli UUID che rappresentano i gruppi vengono recuperati dal provider di identità, ad esempio:abcdefgh-0123-0123-abcdef
.
EXTRA_FILTER
: il filtro utilizzato per richiedere che vengano trasmesse asserzioni specifiche dal provider di identità. Specificando--extra-attributes-type=azure-ad-groups-mail
,--extra-attributes-filter
filtri per le rivendicazioni di gruppo di un utente trasmesse dall'IdP. Per impostazione predefinita, vengono recuperati tutti i gruppi associati all'utente. I gruppi utilizzati devono essere abilitati per la posta e la sicurezza. Per saperne di più, consulta Utilizzare il parametro di query $search.Il seguente esempio filtra i gruppi associati a indirizzi email utente che iniziano con
gcp
: Il seguente esempio filtra i gruppi associati a utenti con indirizzi email che iniziano con--extra-attributes-filter='"mail:gcp"'
gcp
e un displayName che contieneexample
:--extra-attributes-filter='"mail:gcp" AND "displayName:example"'
La registrazione dettagliata dei log di controllo della federazione delle identità per la forza lavoro registra le informazioni ricevute dal tuo IdP in Logging. L'audit logging dettagliato può aiutarti a risolvere i problemi di configurazione del provider del pool di identità della forza lavoro. Per scoprire come risolvere i problemi relativi agli errori di mappatura degli attributi con la registrazione dettagliata degli audit, vedi Errori generali di mappatura degli attributi. Per informazioni sui prezzi di Logging, consulta la pagina Prezzi di Google Cloud Observability.
Per disattivare la registrazione di controllo dettagliata per un provider di pool di identità per la forza lavoro, ometti il flag
--detailed-audit-logging
quando eseguigcloud iam workforce-pools providers create
. Per disattivare il logging di controllo dettagliato, puoi anche aggiornare il fornitore.
Crea criteri IAM
In questa sezione, crei una policy 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. Il criterio consente a tutte le identità del gruppo di visualizzare i dati delle tabelle e delle viste BigQuery archiviate nel progetto.
Per creare la policy, 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 sono archiviati i dati e i metadati BigQuery.WORKFORCE_POOL_ID
: l'ID del pool di identità della forza lavoroGROUP_ID
: l'identificatore del gruppo, che dipende dal valore di--extra-attributes-type
utilizzato per creare il provider di identità del pool di forza lavoro, come segue:azure-ad-groups-mail
: l'identificatore del gruppo è un indirizzo email, ad esempioadmin-group@altostrat.com
azure-ad-groups-id
: l'identificatore del gruppo è un UUID per il gruppo, ad esempioabcdefgh-0123-0123-abcdef
Accedere ai dati BigQuery da Power BI Desktop
Per accedere ai dati BigQuery da Power BI Desktop:
- Apri Power BI.
- Fai clic su Carica dati.
- Fai clic su Database.
- Nell'elenco dei database, seleziona Google BigQuery (Microsoft Entra ID) (beta).
- Fai clic su Connetti.
Compila i seguenti campi obbligatori:
- ID progetto di fatturazione:l'ID progetto di fatturazione.
URI Audience:l'URI Google Cloud , formattato nel seguente modo:
//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Sostituisci quanto segue:
WORKFORCE_POOL_ID
: l'ID del pool di identità della forza lavoro.WORKFORCE_PROVIDER_ID
: l'ID del provider del pool di identità per la forza lavoro.
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 sia membro del gruppo.
Ora puoi utilizzare i dati di BigQuery in Power BI Desktop.
Accedere ai dati BigQuery da Power BI Web
Per accedere ai dati BigQuery da Power BI Web:
Vai a Power BI Web.
Fai clic su Power Query per aggiungere una nuova origine dati.
Fai clic su Recupera dati.
Nell'elenco, trova e seleziona Google BigQuery (Microsoft Entra ID) (beta).
Compila i seguenti campi obbligatori:
ID progetto di fatturazione:il Google Cloud progetto di fatturazione
URI Audience:l'URI Audience, formattato nel seguente modo:
//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Sostituisci quanto segue:
WORKFORCE_POOL_ID
: l'ID del pool di identità della forza lavoroWORKFORCE_PROVIDER_ID
: l'ID provider del pool di identità forza lavoro
Fai clic su Credenziali di connessione > Tipo di autenticazione.
Seleziona Account dell'organizzazione.
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 della federazione delle identità per la forza lavoro e i relativi dati, consulta Eliminare gli utenti della federazione delle identità per la forza lavoro e i relativi dati
- Per scoprire di più sul supporto della federazione delle identità della forza lavoro da parte dei prodotti, consulta Federazione delle identità: prodotti supportati e limitazioni. Google Cloud