Vložení obsahu Power BI s použitím instančního objektu a tajného kódu aplikaceEmbed Power BI content with service principal and an application secret

Instanční objekt je metoda ověřování, která se dá použít k umožnění přístupu aplikaci Azure AD k obsahu a rozhraní API služby 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.

Když vytvoříte aplikaci Azure Active Directory (Azure AD), vytvoří se instanční objekt služby.When you create an Azure Active Directory (Azure AD) app, a service principal object is created. Instanční objekt služby, označovaný také jako instanční objekt, umožňuje službě Azure AD ověřovat vaši aplikaci.The service principal object, also known simply as service principal, allows Azure AD to authenticate your app. Po ověření může aplikace pracovat s prostředky tenanta Azure AD.Once authenticated, the app can access Azure AD tenant resources.

K ověření používá instanční objekt ID aplikace Azure AD a jednu z následujících položek:To authenticate, the service principal uses the Azure AD app's Application ID, and one of the following:

  • Tajný kód aplikaceApplication secret
  • CertifikátCertificate

Tento článek popisuje ověřování instančního objektu pomocí ID aplikace a tajného kódu aplikace.This article describes service principal authentication using Application ID and Application secret.

MetodaMethod

Jestliže chcete použít instanční objekt a ID aplikace s vloženými analytickými funkcemi, postupujte podle následujících kroků:To use service principal and an application ID with embedded analytics, follow these steps:

  1. Vytvořte aplikaci Azure AD.Create an Azure AD app.

    1. Vytvořte tajný kód aplikace Azure AD.Create the Azure AD app's secret.

    2. Získejte ID aplikace a tajný kód aplikace.Get the app's Application ID and Application secret.

    Poznámka

    Tyto kroky jsou popsané v 1. kroku.These steps are described in step 1. Další informace o vytvoření aplikace Azure AD najdete v článku Vytvoření aplikace Azure AD.For more information about creating an Azure AD app, see the create an Azure AD app article.

  2. Vytvořte skupinu zabezpečení Azure AD.Create an Azure AD security group.

  3. Povolte nastavení správce služby Power BI.Enable the Power BI service admin settings.

  4. Přidejte instanční objekt do svého pracovního prostoru.Add the service principal to your workspace.

  5. Vložte obsah.Embed your content.

Důležité

Když povolíte používání instančního objektu v Power BI, přestanou platit oprávnění AD dané aplikace.Once you enable service principal to be used with Power BI, the application's AD permissions don't take effect anymore. Oprávnění aplikace se pak spravují prostřednictvím portálu pro správu Power BI.The application's permissions are then managed through the Power BI admin portal.

1. krok – Vytvořte aplikaci Azure ADStep 1 - Create an Azure AD app

Vytvořte aplikaci Azure AD pomocí jedné z následujících metod:Create an Azure AD app using one of these methods:

Vytvoření aplikace Azure AD na portálu Microsoft AzureCreating an Azure AD app in the Microsoft Azure portal

  1. Přihlaste se k Microsoft Azure.Log into Microsoft Azure.

  2. Vyhledejte Registrace aplikací a klikněte na odkaz Registrace aplikací.Search for App registrations and click the App registrations link.

    Registrace aplikace Azure

  3. Klikněte na Nová registrace.Click New registration.

    Nová registrace

  4. Vyplňte požadované informace:Fill in the required information:

    • Název – Zadejte název své aplikace.Name - Enter a name for your application
    • Podporované typy účtů – Vyberte podporované typy účtů.Supported account types - Select supported account types
    • (Nepovinné) Identifikátor URI přesměrování – V případě potřeby zadejte identifikátor URI.(Optional) Redirect URI - Enter a URI if needed
  5. Klikněte na Zaregistrovat.Click Register.

  6. Po registraci bude ID aplikace dostupné na kartě Přehled. ID aplikace si zkopírujte a uložte pro pozdější použití.After registering, the Application ID is available from the Overview tab. Copy and save the Application ID for later use.

    Snímek obrazovky, který znázorňuje, kde získat ID aplikace na kartě Přehled

  1. Klikněte na kartu Certifikáty a tajné kódy.Click the Certificates & secrets tab.

    Snímek obrazovky zobrazující podokno Certifikáty a tajné kódy pro aplikaci na webu Azure Portal

  2. Klikněte na Nový tajný kód klienta.Click New client secret

    Snímek obrazovky zobrazující tlačítko pro nový tajný kód klienta v podokně Certifikáty a tajné kódy

  3. V okně Přidat tajný kód klienta zadejte popis, zadejte, kdy má vypršet platnost tajného kódu klienta, a klikněte na Přidat.In the Add a client secret window, enter a description, specify when you want the client secret to expire, and click Add.

  4. Zkopírujte a uložte hodnotu Tajný kód klienta.Copy and save the Client secret value.

    Snímek obrazovky zobrazující rozmazanou hodnotu tajného kódu v podokně Certifikáty a tajné kódy

    Poznámka

    Po opuštění tohoto okna bude hodnota tajného kódu klienta skrytá a nebudete ji moct znovu zobrazit ani zkopírovat.After you leave this window, the client secret value will be hidden, and you'll not be able to view or copy it again.

Vytvoření aplikace Azure AD pomocí PowerShelluCreating an Azure AD app using PowerShell

Tato část obsahuje ukázkový skript pro vytvoření nové aplikace Azure AD pomocí PowerShellu.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

2. krok – Vytvořte skupinu zabezpečení Azure ADStep 2 - Create an Azure AD security group

Váš instanční objekt nemá přístup k žádnému vašemu obsahu ani rozhraní API Power BI.Your service principal doesn't have access to any of your Power BI content and APIs. Pokud chcete instančnímu objektu udělit přístup, vytvořte v Azure AD skupinu zabezpečení a do této skupiny zabezpečení přidejte instanční objekt, který jste vytvořili.To give the service principal access, create a security group in Azure AD, and add the service principal you created to that security group.

Existují dva způsoby, jak vytvořit skupinu zabezpečení Azure AD:There are two ways to create an Azure AD security group:

  • Ručně (v Azure)Manually (in Azure)
  • Použití PowerShelluUsing PowerShell

Ruční vytvoření skupiny zabezpečeníCreate a security group manually

Pokud chcete vytvořit skupinu zabezpečení Azure ručně, postupujte podle pokynů v článku Vytvoření základní skupiny a přidání členů pomocí 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.

Vytvoření skupiny zabezpečení pomocí PowerShelluCreate a security group using PowerShell

Tady je ukázkový skript pro vytvoření nové skupiny zabezpečení a přidání aplikace do této skupiny zabezpečení.Below is a sample script for creating a new security group, and adding an app to that security group.

Poznámka

Pokud chcete povolit přístup instančního objektu pro celou organizaci, tento krok přeskočte.If you want to enable service principal access for the entire organization, skip this step.

# Required to sign in as 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)

3. krok – Povolte nastavení správce služby Power BIStep 3 - Enable the Power BI service admin settings

Aby mohla aplikace Azure AD získat přístup k obsahu a rozhraní API Power BI, musí správce Power BI povolit přístup instančního objektu na portálu pro správu 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.

Skupinu zabezpečení, kterou jste vytvořili v Azure AD, přidejte do oddílu konkrétní skupiny zabezpečení v Nastavení pro vývojáře .Add the security group you created in Azure AD, to the specific security group section in the Developer settings .

Důležité

Instanční objekty mají přístup k jakýmkoliv nastavením tenanta, pro která jsou povolené.Service principals have access to any tenant settings they're enabled for. V závislosti na nastavení správy sem patří konkrétní skupiny zabezpečení nebo celá organizace.Depending on your admin settings, this includes specific security groups or the entire organization.

Pokud chcete omezit přístup instančního objektu na konkrétní nastavení tenanta, povolte přístup jenom k určitým skupinám zabezpečení.To restrict service principal access to specific tenant settings, allow access only to specific security groups. Jinak také můžete vytvořit vyhrazenou skupinu zabezpečení pro instanční objekty a vyloučit ji z požadovaných nastavení tenanta.Alternatively, you can create a dedicated security group for service principals, and exclude it from the desired tenant settings.

Snímek obrazovky znázorňující nastavení pro vývojáře v možnostech správy na portálu Power BI

4. krok – Přidejte instanční objekt do svého pracovního prostoruStep 4 - Add the service principal to your workspace

Pokud chcete ve službě Power BI povolit artefakty přístupu aplikace Azure AD, jako jsou sestavy, řídicí panely a datové sady, přidejte do svého pracovního prostoru entitu instančního objektu jako člena nebo správce.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.

Poznámka

V této části najdete pokyny k uživatelskému rozhraní.This section provides UI instructions. Instanční objekt můžete také přidat do pracovního prostoru pomocí Skupiny – přidat rozhraní API uživatele skupiny.You can also add a service principal to a workspace using the Groups - add group user API.

  1. Posuňte se k pracovnímu prostoru, pro který chcete povolit přístup, a v nabídce Více vyberte Přístup k pracovnímu prostoru .Scroll to the workspace you want to enable access for, and from the More menu, select Workspace access .

    Snímek obrazovky znázorňující tlačítko pro přístup k pracovnímu prostoru v nabídce dalších možností pracovního prostoru Power BI

  2. Přidejte instanční objekt jako Správce nebo Člen do pracovního prostoru.Add the service principal as an Admin or Member to the workspace.

    Snímek obrazovky zobrazující přidání člena nebo správce do podokna přístupu na portálu Power BI

5. krok – Vložte obsahStep 5 - Embed your content

Obsah můžete vložit do ukázkové aplikace nebo do vlastní aplikace.You can embed your content within a sample application, or within your own application.

Po vložení obsahu jste připraveni přejít na ostrý provoz.Once your content is embedded, you're ready to move to production.

Důležité informace a omezeníConsiderations and limitations

  • Instanční objekt funguje jenom s novými pracovními prostory.Service principal only works with new workspaces.
  • Při použití instančního objektu není podporovaný můj pracovní prostor.My Workspace isn't supported when using service principal.
  • Při přesunutí do produkčního prostředí se vyžaduje kapacita.A capacity is required when moving to production.
  • Instanční objekt nemůžete použít k přihlášení na portál Power BI.You can't sign into the Power BI portal using service principal.
  • K povolení instančního objektu v nastavení pro vývojáře na portálu pro správu Power BI potřebujete oprávnění správce Power BI.Power BI admin rights are required to enable service principal in developer settings within the Power BI admin portal.
  • Instanční objekt nemůžou používat aplikace vložené pro organizaci.Embed for your organization applications can't use service principal.
  • Správa toků dat se nepodporuje.Dataflows management is not supported.
  • Instanční objekt momentálně nepodporuje žádná rozhraní API pro správce.Service principal currently does not support any admin APIs.
  • Když používáte instanční objekt se zdrojem dat Azure Analysis Services, musí mít tento instanční objekt oprávnění k instanci služby 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. Pokud byste pro tento účel použili skupinu zabezpečení, která obsahuje instanční objekt, nebude to fungovat.Using a security group that contains the service principal for this purpose, doesn't work.

Další krokyNext steps