Incorporation de contenu Power BI avec le principal de service et le secret de l’applicationEmbedding Power BI content with service principal and application secret

Le principal de service est une méthode d’authentification qui peut être utilisée pour permettre l’accès d’une application Azure AD à des API ou un contenu de service Power BI.Service principal is an authentication method that can be used to let an Azure AD application access Power BI service content and APIs.

Lorsque vous créez une application Azure Active Directory (Azure AD), un objet principal de service est créé.When you create an Azure Active Directory (Azure AD) app, a service principal object is created. L’objet principal de service, également connu sous le nom de principal de service, permet à Azure AD d’authentifier votre application.The service principal object, also known simply as service principal, allows Azure AD to authenticate your app. Une fois authentifié, l’application peut accéder aux ressources de l’abonné Azure AD.Once authenticated, the app can access Azure AD tenant resources.

Pour s’authentifier, le principal de service utilise l’ID d’application de l’application Azure AD et l’un des éléments suivants :To authenticate, the service principal uses the Azure AD app's Application ID, and one of the following:

  • Secret de l’applicationApplication secret
  • CertificatCertificate

Cet article décrit l’authentification du principal de service à l’aide de l’ID d’application et Secret de l’application.This article describes service principal authentication using Application ID and Application secret.

MéthodeMethod

Pour utiliser le principal de service et un ID d’application avec des analyses incorporées, procédez comme suit :To use service principal and an application ID with embedded analytics, follow these steps:

  1. Créer une application Azure AD.Create an Azure AD app.

    1. Créez le secret de l’application Azure AD.Create the Azure AD app's secret.

    2. Obtenez l’ID d’application et Secret d’application de l’application.Get the app's Application ID and Application secret.

    Notes

    Ces étapes sont décrites dans l’étape 1.These steps are described in step 1. Pour plus d’informations sur la création d’une application Azure AD, consultez l’article créer une application Azure AD.For more information about creating an Azure AD app, see the create an Azure AD app article.

  2. Créez un groupe de sécurité Azure AD.Create an Azure AD security group.

  3. Activez les paramètres d’administrateur de service Power BI.Enable the Power BI service admin settings.

  4. Ajoutez le principal de service à votre espace de travail.Add the service principal to your workspace.

  5. Incorporez votre contenu.Embed your content.

Important

Une fois que vous activez le principal de service à utiliser avec Power BI, les autorisations AD de l’application n’ont plus d’effet.Once you enable service principal to be used with Power BI, the application's AD permissions don't take effect anymore. Les autorisations de l’application sont ensuite gérées par le biais du portail d’administration Power BI.The application's permissions are then managed through the Power BI admin portal.

Étape 1 : créer une application Azure ADStep 1 - Create an Azure AD app

Créer une application Azure AD à l’aide d’une de ces méthodes :Create an Azure AD app using one of these methods:

Création d’une application Azure AD dans le Portail Microsoft AzureCreating an Azure AD app in the Microsoft Azure portal

  1. Connectez-vous à Microsoft Azure.Log into Microsoft Azure.

  2. Recherchez les inscriptions d’applications, puis cliquez sur le lien Inscriptions d’applications.Search for App registrations and click the App registrations link.

    inscription d’application azure

  3. Cliquez sur Nouvelle inscription.Click New registration.

    nouvelle inscription

  4. Entrez les informations obligatoires :Fill in the required information:

    • Nom : entrer un nom pour votre applicationName - Enter a name for your application
    • Types de comptes pris en charge : sélectionner le compte Azure AD dont vous avez besoinSupported account types - Select the Azure AD account you require
    • (facultatif) Rédiriger l’URI : entrer un URI si nécessaire(Optional) Redirect URI - Enter a URI if needed
  5. Cliquez sur S'inscrire.Click Register.

  6. Une fois l’inscription terminée, l’ID d’application est disponible dans l’onglet Vue d’ensemble. Copiez et enregistrez l’ID de l’application pour une future utilisation.After registering, the Application ID is available from the Overview tab. Copy and save the Application ID for later use.

    ID d’application

  7. Cliquer sur l’onglet Certificats et secrets.Click the Certificates & secrets tab.

    ID d’application

  8. Cliquez sur Nouveau secret client.Click New client secret

    nouveau secret client

  9. Dans la fenêtre Ajouter un secret client, entrez une description, spécifiez à quel moment vous souhaitez que le secret client expire, puis cliquez sur Ajouter.In the Add a client secret window, enter a description, specify when you want the client secret to expire, and click Add.

  10. Copiez et enregistrez la valeur Secret client.Copy and save the Client secret value.

    valeur secret client

    Notes

    Une fois que vous avez quitté cette fenêtre, la valeur secret client est masquée et vous ne pouvez pas l’afficher ni la copier à nouveau.After you leave this window, the client secret value will be hidden, and you'll not be able to view or copy it again.

Création d’une application Azure AD à l’aide de PowerShellCreating an Azure AD app using PowerShell

Cette section comprend un échantillon de script permettant de créer une nouvelle application Azure AD à l’aide de PowerShell.This section includes a sample script to create a new Azure AD app using PowerShell.

# The app ID - $app.appid
# The service principal object ID - $sp.objectId
# The app key - $key.value

# Sign in as a user that's allowed to create an app
Connect-AzureAD

# Create a new Azure AD web application
$app = New-AzureADApplication -DisplayName "testApp1" -Homepage "https://localhost:44322" -ReplyUrls "https://localhost:44322"

# Creates a service principal
$sp = New-AzureADServicePrincipal -AppId $app.AppId

# Get the service principal key
$key = New-AzureADServicePrincipalPasswordCredential -ObjectId $sp.ObjectId

Étape 2 : créer un groupe de sécurité Azure ADStep 2 - Create an Azure AD security group

Votre principal de service n’a accès à aucune de vos API ni au contenu Power BI.Your service principal doesn't have access to any of your Power BI content and APIs. Pour accorder l’accès au principal de service, créez un groupe de sécurité dans Azure AD et ajoutez le principal de service que vous avez créé à ce groupe de sécurité.To give the service principal access, create a security group in Azure AD, and add the service principal you created to that security group.

Vous pouvez créer un groupe de sécurité Azure AD de deux façons :There are two ways to create an Azure AD security group:

  • Manuellement (dans Azure)Manually (in Azure)
  • Avec PowerShellUsing PowerShell

Créer un groupe de sécurité manuellementCreate a security group manually

Pour créer un groupe de sécurité Azure manuellement, suivez les instructions de l’article Créer un groupe de base et ajouter des membres à l’aide d’Azure Active Directory.To create an Azure security group manually, follow the instructions in the Create a basic group and add members using Azure Active Directory article.

Créer un groupe de sécurité à l’aide PowerShellCreate a security group using PowerShell

Voici un échantillon de script qui crée un nouveau groupe de sécurité et ajoute une application à ce groupe.Below is a sample script for creating a new security group, and adding an app to that security group.

Notes

Si vous souhaitez activer l’accès au principal de service pour toute l’organisation, ignorez cette étape.If you want to enable service principal access for the entire organization, skip this step.

# Required to sign in as a tenant admin
Connect-AzureAD

# Create an Azure AD security group
$group = New-AzureADGroup -DisplayName <Group display name> -SecurityEnabled $true -MailEnabled $false -MailNickName notSet

# Add the service principal to the group
Add-AzureADGroupMember -ObjectId $($group.ObjectId) -RefObjectId $($sp.ObjectId)

Étape 3 : activer les paramètres d’administrateur de service Power BIStep 3 - Enable the Power BI service admin settings

Pour qu’une application Azure AD soit en mesure d’accéder au contenu et aux API de Power BI, un administrateur Power BI doit activer l’accès au principal de service dans le portail d’administrateur Power BI.For an Azure AD app to be able to access the Power BI content and APIs, a Power BI admin needs to enable service principal access in the Power BI admin portal.

Ajoutez le groupe de sécurité que vous avez créé dans Azure AD sous la section Paramètres du développeur relative au groupe de sécurité.Add the security group you created in Azure AD, to the specific security group section in the Developer settings.

Important

Les principaux de service ont accès à tous les paramètres d’abonné pour lesquels ils sont activés.Service principals have access to any tenant settings they're enabled for. En fonction de vos paramètres d’administrateur, cela comprend des groupes de sécurité spécifiques ou toute l’organisation.Depending on your admin settings, this includes specific security groups or the entire organization.

Pour restreindre l’accès du principal de service à des paramètres d’abonné spécifiques, autorisez l’accès uniquement à des groupes de sécurité spécifiques.To restrict service principal access to specific tenant settings, allow access only to specific security groups. Vous pouvez également créer un groupe de sécurité dédié pour les principaux de service et l’exclure des paramètres d’abonné souhaités.Alternatively, you can create a dedicated security group for service principals, and exclude it from the desired tenant settings.

Portail d’administration

Étape 4 : ajouter le principal de service comme un administrateur à votre espace de travailStep 4 - Add the service principal as an admin to your workspace

Pour activer vos artefacts d’accès à l’application Azure AD, tels que les rapports, les tableaux de bord et les jeux de données du service Power BI, ajoutez l’entité du principal de service en tant que membre ou administrateur à votre espace de travail.To enable your Azure AD app access artifacts such as reports, dashboards and datasets in the Power BI service, add the service principal entity as a member or admin to your workspace.

Notes

Cette section fournit des instructions relatives à l’interface utilisateur.This section provides UI instructions. Vous pouvez également ajouter un principal de service à un espace de travail à l’aide de Groupes : ajouter une API utilisateur de groupe.You can also add a service principal to a workspace using the Groups - add group user API.

  1. Accédez à l’espace de travail pour lequel vous souhaitez activer l’accès, puis dans le menu Plus, sélectionnez Accès à l’espace de travail.Scroll to the workspace you want to enable access for, and from the More menu, select Workspace access.

    Paramètres de l’espace de travail

  2. Ajoutez le principal de service comme un Administrateur ou Membre à l’espace de travail.Add the service principal as an Admin or Member to the workspace.

    Administrateur de l’espace de service

Étape 5 : incorporer votre contenuStep 5 - Embed your content

Vous pouvez incorporer votre contenu dans un exemple d’application ou dans votre propre application.You can embed your content within a sample application, or within your own application.

Une fois votre contenu incorporé, vous êtes prêt à passer à la production.Once your content is embedded, you're ready to move to production.

Considérations et limitationsConsiderations and limitations

  • Un principal de service ne fonctionne qu’avec les nouveaux espaces de travail.Service principal only works with new workspaces.
  • Mon espace de travail n’est pas pris en charge lors de l’utilisation d’un principal de service.My Workspace isn't supported when using service principal.
  • Une capacité dédiée est nécessaire pour passer en production.Dedicated capacity is required when moving to production.
  • Vous ne pouvez pas vous connecter au portail Power BI avec un principal de service.You can't sign into the Power BI portal using service principal.
  • Vous devez disposer de droits d’administrateur Power BI pour activer un principal de service dans les paramètres du développeur du portail d’administration Power BI.Power BI admin rights are required to enable service principal in developer settings within the Power BI admin portal.
  • Il est impossible d’installer ou de gérer une passerelle de données locale à l’aide d’un principal de service.You can't install or manage an on-premises data gateway using service principal.
  • Les applications incorporées pour votre organisation ne peuvent pas utiliser un principal de service.Embed for your organization applications can't use service principal.
  • La gestion de flux de données n’est pas prise en charge.Dataflows management is not supported.
  • Le principal de service ne prend actuellement pas en charge aucune API administrateur.Service principal currently does not support any admin APIs.
  • Quand vous utilisez un principal de service avec une source de données Azure Analysis Services, le principal de service doit lui-même disposer d’autorisations d’instance Azure Analysis Services.When using service principal with an Azure Analysis Services data source, the service principal itself must have an Azure Analysis Services instance permissions. L’utilisation d’un groupe de sécurité qui contient le principal du service à cet effet ne fonctionne pas.Using a security group that contains the service principal for this purpose, doesn't work.

Étapes suivantesNext steps