Incorporare contenuto di Power BI con un'entità servizio e un segreto dell'applicazione
L'entità servizio è un metodo di autenticazione che può essere usato per consentire a un'applicazione Microsoft Entra di accedere a contenuto e API del servizio Power BI.
Quando si crea un'app Microsoft Entra, viene creato un oggetto entità servizio. L'oggetto entità servizio, chiamato anche semplicemente entità servizio, consente a Microsoft Entra ID di autenticare l'app. Dopo l'autenticazione, l'app può accedere alle risorse tenant di Microsoft Entra.
Per l'autenticazione, l'entità servizio usa l'ID applicazione dell'app Microsoft Entra e uno dei seguenti elementi:
- Un certificato
- Segreto dell'applicazione
Questo articolo descrive come eseguire l'autenticazione con un'entità servizio usando un ID applicazione e un segreto dell'applicazione.
Nota
Si consiglia di proteggere i servizi back-end usando i certificati, anziché le chiavi segrete.
- Altre informazioni su come ottenere i token di accesso da Microsoft Entra ID usando chiavi segrete o certificati.
- Per proteggere la soluzione usando un certificato, completare le istruzioni riportate in questo articolo, quindi seguire la procedura descritta in Incorporare contenuto di Power BI con un'entità servizio e un certificato.
metodo
Per usare un'entità servizio e un ID applicazione per l'analisi incorporata, seguire questa procedura. Le sezioni successive descrivono in dettaglio questi passaggi.
Creare un'app Microsoft Entra.
- Creare un segreto per l'app Microsoft Entra.
- Ottenere l'ID applicazione e il segreto dell'applicazione per l'app.
Nota
Queste operazioni sono descritte nel passaggio 1. Per altre informazioni sulla creazione di un'app Microsoft Entra, vedere Creare un'app Microsoft Entra.
Creare un gruppo di sicurezza Microsoft Entra.
Abilitare le impostazioni di amministrazione del servizio Power BI.
Aggiungere l'entità servizio all'area di lavoro.
Incorporare il contenuto.
Importante
Un'applicazione Microsoft Entra non richiede di configurare autorizzazioni delegate o autorizzazioni dell'applicazione nel portale di Azure quando è stata creata per un'entità servizio. Quando si crea un'applicazione Microsoft Entra per un'entità servizio per accedere all'API REST di Power BI, è consigliabile evitare di aggiungere autorizzazioni. Non vengono mai usate e possono causare errori difficili da risolvere.
Passaggio 1: Creare un'app Microsoft Entra
È possibile creare un'app Microsoft Entra dal portale di Azure o tramite PowerShell:
Accedere al portale di Azure.
Cercare e selezionare Registrazioni app.
Seleziona Nuova registrazione.
Specificare le informazioni necessarie:
- Nome: immettere un nome per l'applicazione.
- Tipi di account supportati: selezionare i tipi di account supportati.
- (Facoltativo) URI di reindirizzamento: immettere un URI, se necessario.
Selezionare Registra.
Dopo la registrazione dell'app, l'ID applicazione è disponibile nella scheda Panoramica. Copiare e salvare l'ID applicazione per usarlo in un secondo tempo.
Selezionare Certificati e segreti.
Selezionare Nuovo segreto client.
Nella finestra Aggiungi un segreto client immettere una descrizione, specificare una scadenza per il segreto client e selezionare Aggiungi.
Copia e salva il valore del segreto client.
Nota
Dopo aver lasciato questa finestra, il valore del segreto client è nascosto e non è possibile visualizzarlo o copiarlo di nuovo.
Passaggio 2: Creare un gruppo di sicurezza Microsoft Entra
L'entità servizio non ha accesso al contenuto e alle API di Power BI. Per concedere all'entità servizio l'accesso, creare un gruppo di sicurezza in Microsoft Entra ID. Aggiungere quindi l'entità servizio creata a tale gruppo di sicurezza.
Nota
Se si vuole abilitare l'accesso dell'entità servizio per l'intera organizzazione, saltare questo passaggio.
Esistono due modi per creare un gruppo di sicurezza di Microsoft Entra:
Creare manualmente un gruppo di sicurezza
Per creare manualmente un gruppo di sicurezza di Azure, seguire le istruzioni in Creare un gruppo di base. Non aggiungere membri al gruppo in questo momento.
Creare un gruppo di sicurezza usando PowerShell
Lo script di esempio seguente crea un nuovo gruppo di sicurezza. Aggiunge anche l'entità servizio creata in precedenza al nuovo gruppo di sicurezza.
- Prima di eseguire lo script, sostituire
<app-client-ID>
con l'ID client registrato in precedenza per la nuova app. - Dopo aver eseguito lo script, prendere nota dell'ID oggetto del nuovo gruppo di sicurezza, disponibile nell'output dello script.
# Sign in as an admin.
Connect-MgGraph -Scopes "Application.ReadWrite.All"
# Get the service principal that you created earlier.
$servicePrincipal = Get-MgServicePrincipal -Filter "AppId eq '<app-client-ID>'"
# Create an Azure AD security group.
$group = New-MgGroup -DisplayName "securitygroup1" -SecurityEnabled -MailEnabled:$False -MailNickName "notSet"
Write-Host "Object ID of new security group: " $($group.Id)
# Add the service principal to the group.
New-MgGroupMember -GroupId $($group.Id) -DirectoryObjectId $($servicePrincipal.Id)
Passaggio 3: Abilitare le impostazioni di amministrazione del servizio Power BI
Per consentire a un'app Microsoft Entra di accedere al contenuto e alle API di Power BI, un amministratore di Power BI deve abilitare le impostazioni seguenti:
- Incorpora il contenuto nelle app
- Consenti alle entità servizio di usare le API Power BI
Nel portale di amministrazione di Power BI passare a Impostazioni tenant e scorrere verso il basso fino a Impostazioni sviluppatore.
Abilitare Incorpora contenuto nelle app per l'intera organizzazione o per il gruppo di sicurezza specifico creato in Microsoft Entra ID.
Abilitare Consenti alle entità servizio di usare le API di Power BI per l'intera organizzazione o per il gruppo di sicurezza specifico creato in Microsoft Entra ID.
Importante
Le entità servizio possono accedere a tutte le impostazioni del tenant per cui sono abilitate. In base alle impostazioni di amministrazione, sono inclusi gruppi di sicurezza specifici o l'intera organizzazione.
Per limitare l'accesso dell'entità servizio a impostazioni specifiche del tenant, consentire l'accesso solo a gruppi di sicurezza specifici. In alternativa, è possibile creare un gruppo di sicurezza dedicato per le entità servizio ed escluderlo dalle impostazioni specifiche del tenant.
Passaggio 4 - Aggiungere l'entità servizio all'area di lavoro
L'app Microsoft Entra può accedere ai report, ai dashboard e ai modelli semantici di Power BI solo quando ha accesso all'area di lavoro di Power BI come membro o amministratore. È possibile fornire l'accesso aggiungendo l'entità servizio dell'app o il relativo gruppo di sicurezza all'area di lavoro.
Esistono tre modi per aggiungere un'entità servizio o il relativo gruppo di sicurezza all'area di lavoro:
Aggiungere manualmente un'entità servizio o un gruppo di sicurezza
Nel servizio Power BI scorrere fino all'area di lavoro per cui si vuole abilitare l'accesso. Nel menu Altro selezionare Impostazioni area di lavoro.
Nel riquadro Accesso, in Aggiungi amministratori, membri o collaboratori, aggiungere una delle opzioni seguenti:
- L'entità servizio. Il nome dell'entità servizio è il nome visualizzato dell'app Microsoft Entra, come appare nella scheda della panoramica dell'app Microsoft Entra.
- Il gruppo di sicurezza che include l'entità servizio.
Scegliere Membro o Amministratore nel menu a discesa.
Selezionare Aggiungi.
Aggiungere un'entità servizio o un gruppo di sicurezza usando PowerShell
Le sezioni seguenti forniscono script di PowerShell di esempio per l'aggiunta di un'entità servizio e di un gruppo di sicurezza a un'area di lavoro di Power BI come membro.
Aggiungere un'entità servizio come membro dell'area di lavoro usando PowerShell
Lo script seguente aggiunge un'entità servizio come membro dell'area di lavoro. Prima di eseguire lo script:
- Sostituire
<service-principal-object-ID>
con l'ID oggetto registrato in precedenza per la nuova entità servizio. - Sostituire
<workspace-name>
con il nome dell'area di lavoro a cui si vuole concedere l'accesso all'entità servizio.
# Sign in to Power BI.
Login-PowerBI
# Set up the service principal ID.
$SPObjectID = "<service-principal-object-ID>"
# Get the workspace.
$pbiWorkspace = Get-PowerBIWorkspace -Filter "name eq '<workspace-name>'"
# Add the service principal to the workspace.
Add-PowerBIWorkspaceUser -Id $($pbiWorkspace.Id) -AccessRight Member -PrincipalType App -Identifier $($SPObjectID)
Aggiungere un gruppo di sicurezza come membro dell'area di lavoro usando PowerShell
Lo script seguente aggiunge un gruppo di sicurezza come membro dell'area di lavoro. Prima di eseguire lo script:
- Sostituire
<security-group-object-ID>
con l'ID oggetto registrato in precedenza per il nuovo gruppo di sicurezza. - Sostituire
<workspace-name>
con il nome dell'area di lavoro a cui si vuole concedere l'accesso al gruppo di sicurezza.
# Sign in to Power BI.
Login-PowerBI
# Set up the security group object ID.
$SGObjectID = "<security-group-object-ID>"
# Get the workspace.
$pbiWorkspace = Get-PowerBIWorkspace -Filter "name eq '<workspace-name>'"
# Add the security group to the workspace.
Add-PowerBIWorkspaceUser -Id $($pbiWorkspace.Id) -AccessRight Member -PrincipalType Group -Identifier $($SGObjectID)
Passaggio 5: Incorporare il contenuto
È possibile incorporare il contenuto all'interno di un'applicazione di esempio o all'interno della propria applicazione.
Dopo aver incorporato il contenuto, si è pronti a passare alla produzione.
Nota
Per proteggere il contenuto usando un certificato, seguire la procedura descritta in Incorporare contenuto di Power BI con un'entità servizio e un certificato.
Considerazioni e limitazioni
- L'area di lavoro personale non è supportata durante l'uso dell'entità servizio.
- Per passare alla produzione è necessaria una capacità.
- Non è possibile accedere al portale di Power BI usando l'entità servizio.
- Per abilitare l'entità servizio nelle impostazioni sviluppatore all'interno del portale di amministrazione di Power BI sono necessari i diritti di amministratore di Power BI.
- Le applicazioni incorporate per l'organizzazione non possono usare l'entità servizio.
- La gestione dei flussi di dati non è supportata.
- Non tutte le API di sola lettura sono supportate dall'entità servizio. Per abilitare il supporto dell'entità servizio per le API di amministratore di sola lettura, abilitare le impostazioni di amministratore servizio Power BI nel tenant. Per altre informazioni, vedere Abilitare l'autenticazione dell'entità servizio per le API di amministrazione di sola lettura.
- Quando si usa un'entità servizio con un'origine dati di Azure Analysis Services, l'entità servizio deve avere le autorizzazioni di un'istanza di Azure Analysis Services. L'uso di un gruppo di sicurezza che contiene l'entità servizio a questo scopo non è supportato.