Power BI-tartalom beágyazása szolgáltatásnévvel és alkalmazás titkos kóddal

A szolgáltatásnév egy hitelesítési módszer, amellyel a Microsoft Entra-alkalmazások hozzáférhetnek Power BI szolgáltatás tartalmakhoz és API-khoz.

Microsoft Entra-alkalmazás létrehozásakor létrejön egy egyszerű szolgáltatásobjektum . A szolgáltatásnév objektum, más néven egyszerű szolgáltatásnév lehetővé teszi, hogy a Microsoft Entra ID hitelesítse az alkalmazást. A hitelesítés után az alkalmazás hozzáférhet a Microsoft Entra bérlői erőforrásaihoz.

A hitelesítéshez a szolgáltatásnév a Microsoft Entra alkalmazásazonosítóját és az alábbiak egyikét használja:

  • Tanúsítvány
  • Alkalmazás titkos kódja

Ez a cikk egy alkalmazásazonosítót és egy alkalmazáskulcsot használó egyszerű szolgáltatáshitelesítést ismertet.

Megjegyzés:

Javasoljuk, hogy titkos kulcsok helyett tanúsítványokkal biztosítsa a háttérszolgáltatásokat.

Metódus

Ha szolgáltatásnevet és alkalmazásazonosítót szeretne használni a beágyazott elemzésekhez, hajtsa végre az alábbi lépéseket. A következő szakaszok részletesen ismertetik ezeket a lépéseket.

  1. Microsoft Entra-alkalmazás létrehozása.

    1. Hozzon létre egy titkos kulcsot a Microsoft Entra-alkalmazáshoz.
    2. Kérje le az alkalmazás alkalmazásazonosítóját és az alkalmazás titkos kódját.

    Megjegyzés:

    Ezeket a lépéseket az 1. lépés ismerteti. A Microsoft Entra-alkalmazások létrehozásáról további információt a Microsoft Entra-alkalmazás létrehozása című témakörben talál.

  2. Hozzon létre egy Microsoft Entra biztonsági csoportot.

  3. Engedélyezze a Power BI szolgáltatás rendszergazdai beállításokat.

  4. Adja hozzá a szolgáltatásnevet a munkaterülethez.

  5. Beágyazza a tartalmat.

Fontos

A Microsoft Entra-alkalmazások nem követelik meg, hogy delegált engedélyeket vagy alkalmazásengedélyeket konfiguráljon az Azure Portalon, amikor létrehozták egy szolgáltatásnévhez. Amikor létrehoz egy Microsoft Entra-alkalmazást egy szolgáltatásnévhez a Power BI REST API eléréséhez, javasoljuk, hogy kerülje az engedélyek hozzáadását. Soha nem használják őket, és nehezen elhárítható hibákat okozhatnak.

1. lépés – Microsoft Entra-alkalmazás létrehozása

Microsoft Entra-alkalmazás létrehozása az alábbi módszerek egyikével:

Microsoft Entra-alkalmazás létrehozása az Azure Portalon

  1. Jelentkezzen be az Azure Portalra.

  2. Keresse meg és válassza ki a Alkalmazásregisztrációk.

    Screenshot of the Azure portal, with app registration in the search box. That box and the App registrations icon are highlighted.

  3. Új regisztráció kiválasztása.

    Screenshot of the App registrations page in the Azure portal. New registration is highlighted.

  4. Adja meg a szükséges információkat:

    • Név – Adja meg az alkalmazás nevét.
    • Támogatott fióktípusok – Válassza ki a támogatott fióktípusokat.
    • (Nem kötelező) Átirányítási URI – Szükség esetén adjon meg egy URI-t.
  5. Válassza ki a pénztárgépet.

  6. Az alkalmazás regisztrálása után az alkalmazásazonosító elérhető az Áttekintés lapon. Másolja ki és mentse az alkalmazásazonosítót későbbi használatra.

    Screenshot of the Overview page of the new app. The Application ID is indecipherable and is highlighted.

  7. Válassza a Tanúsítványok > titkos kulcsok lehetőséget.

    Screenshot of the Overview page of the new app. On the navigation pane, Certificates & secrets is highlighted.

  8. Válassza az Új titkos ügyfélkód lehetőséget.

    Screenshot that shows part of the Certificates & secrets page for the app. Under Client secrets, the New client secret button is highlighted.

  9. Az Ügyfélkód hozzáadása ablakban adjon meg egy leírást, adja meg, hogy mikor járjon le az ügyfél titkos kódja, majd válassza a Hozzáadás lehetőséget.

  10. Másolja és mentse az ügyfél titkos kódjának értékét.

    Screenshot of the Certificates & secrets page for the app. Under Client secrets, a new secret is visible. Its indecipherable value is highlighted.

    Megjegyzés:

    Az ablak elhagyása után az ügyfél titkos kódjának értéke rejtett lesz, és nem tekintheti meg és nem másolhatja újra.

Microsoft Entra-alkalmazás létrehozása a PowerShell használatával

Az alábbi PowerShell-példaszkript létrehoz egy új Microsoft Entra-alkalmazást és egy szolgáltatásnevet. A szkript futtatása előtt:

A szkript futtatása után jegyezze fel a következő információkat a szkript kimenetében:

  • Az új alkalmazás ügyfélazonosítója
  • Az új szolgáltatásnév objektumazonosítója
  • A szolgáltatásnév titkos kódjának értéke
# Sign in as a user who's allowed to create an app.
Connect-MgGraph -Scopes "Application.ReadWrite.All" 

# Create a new Azure AD web application.
$web = @{
    RedirectUris = "https://localhost:44322"
    HomePageUrl = "https://localhost:44322"
}
$params = @{
    DisplayName = "myAzureADApp"
    Web = $($web)
}
$app = New-MgApplication @params
Write-Host "Client ID of new app: " $($app.AppId)

# Create a service principal.
$ServicePrincipalID=@{
  "AppId" = $($app.AppId)
  }
$sp = New-MgServicePrincipal -BodyParameter $($ServicePrincipalId)
Write-Host "Object ID of new service principal: " $($sp.Id)

# Create a key for the service principal.
$credential = Add-MgServicePrincipalPassword -ServicePrincipalId $($sp.Id)
Write-Host "Credential of new service principal: " $($credential.SecretText)

2. lépés – Microsoft Entra biztonsági csoport létrehozása

A szolgáltatásnév nem rendelkezik hozzáféréssel a Power BI-tartalmakhoz és API-khoz. A szolgáltatásnév-hozzáférés biztosításához hozzon létre egy biztonsági csoportot a Microsoft Entra-azonosítóban. Ezután adja hozzá a létrehozott szolgáltatásnevet a biztonsági csoporthoz.

Megjegyzés:

Ha engedélyezni szeretné a szolgáltatásnév-hozzáférést a teljes szervezet számára, hagyja ki ezt a lépést.

A Microsoft Entra biztonsági csoport kétféleképpen hozható létre:

Biztonsági csoport manuális létrehozása

Ha manuálisan szeretne létrehozni egy Azure-biztonsági csoportot, kövesse az Alapszintű csoport létrehozása és tagok hozzáadása című témakör utasításait.

Biztonsági csoport létrehozása a PowerShell használatával

A következő példaszkript létrehoz egy új biztonsági csoportot. Emellett hozzáadja a korábban létrehozott szolgáltatásnevet az új biztonsági csoporthoz.

  • A szkript futtatása előtt cserélje le <app-client-ID> az új alkalmazáshoz korábban rögzített ügyfélazonosítót.
  • A szkript futtatása után jegyezze fel az új biztonsági csoport objektumazonosítóját, amelyet a szkript kimenetében talál.
# 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)

3. lépés – A Power BI szolgáltatás rendszergazdai beállításainak engedélyezése

Ahhoz, hogy egy Microsoft Entra-alkalmazás hozzáférjen a Power BI-tartalmakhoz és API-khoz, a Power BI rendszergazdájának engedélyeznie kell a következő beállításokat:

  • Tartalom beágyazása alkalmazásokba
  • A Power BI API-k használatának engedélyezése szolgáltatásneveknek

A Power BI Rendszergazda portálon lépjen a Bérlői beállítások elemre, és görgessen le a fejlesztői beállításokhoz.

  • Engedélyezze a tartalom beágyazását az alkalmazásokba a teljes szervezet vagy a Microsoft Entra-azonosítóban létrehozott adott biztonsági csoport számára.

    Screenshot of the Developer settings in the Tenant settings section of the Admin portal. The option for embedding content in apps is turned on.

  • Engedélyezze a szolgáltatásnevek számára, hogy a Power BI API-kat a teljes szervezet vagy a Microsoft Entra-azonosítóban létrehozott adott biztonsági csoport számára használják .

    Screenshot of the Developer settings section. The option for allowing service principals to use Power BI APIs is turned on for one security group.

    Fontos

    A szolgáltatásnevek hozzáféréssel rendelkeznek minden olyan bérlői beállításhoz, amelyhez engedélyezve vannak. A rendszergazdai beállításoktól függően ez adott biztonsági csoportokat vagy a teljes szervezetet is magában foglalja.

    A szolgáltatásnév adott bérlői beállításokhoz való hozzáférésének korlátozásához csak adott biztonsági csoportokhoz engedélyezze a hozzáférést. Másik lehetőségként létrehozhat egy dedikált biztonsági csoportot a szolgáltatásnevek számára, és kizárhatja azt a kívánt bérlői beállításokból.

4. lépés – A szolgáltatásnév hozzáadása a munkaterülethez

A Microsoft Entra-alkalmazás csak akkor férhet hozzá a Power BI-jelentésekhez, irányítópultokhoz és szemantikai modellekhez, ha hozzáfér a Power BI-munkaterülethez. Ezt a hozzáférést úgy biztosíthatja, hogy tagként vagy rendszergazdaként hozzáadja az alkalmazás szolgáltatásnevét vagy biztonsági csoportját a munkaterülethez.

Háromféleképpen adhat hozzá szolgáltatásnevet vagy annak biztonsági csoportját a munkaterülethez:

Szolgáltatásnév vagy biztonsági csoport manuális hozzáadása

  1. A Power BI szolgáltatás görgessen arra a munkaterületre, amelyhez engedélyezni szeretné a hozzáférést. A Továbbiak menüben válassza a Munkaterület-hozzáférés lehetőséget.

    Screenshot that shows the expanded More menu for a workspace. On that menu, Workspace access is highlighted.

  2. Az Access panelEn, a Rendszergazdák, tagok vagy közreműködők hozzáadása csoportban adja hozzá az alábbiak egyikét:

    • A szolgáltatásnév. A szolgáltatásnév neve a Microsoft Entra-alkalmazás megjelenítendő neve , ahogy az a Microsoft Entra-alkalmazás áttekintési lapján is megjelenik.
    • A szolgáltatásnevet tartalmazó biztonsági csoport .
  3. A legördülő menüben válassza a Tag vagy Rendszergazda lehetőséget.

  4. Válassza a Hozzáadás lehetőséget.

Szolgáltatásnév vagy biztonsági csoport hozzáadása a PowerShell használatával

A következő szakaszok powerShell-példaszkripteket nyújtanak egy szolgáltatásnév és egy biztonsági csoport tagként való hozzáadásához a Power BI-munkaterülethez.

Szolgáltatásnév hozzáadása munkaterület-tagként a PowerShell használatával

Az alábbi szkript egy szolgáltatásnevet ad hozzá munkaterület-tagként. A szkript futtatása előtt:

  • Cserélje le <service-principal-object-ID> az új szolgáltatásnévhez korábban rögzített objektumazonosítót.
  • Cserélje le <workspace-name> annak a munkaterületnek a nevét, amelyhez hozzáférést szeretne adni a szolgáltatásnévnek.
# 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)

Biztonsági csoport hozzáadása munkaterület-tagként a PowerShell használatával

Az alábbi szkript egy biztonsági csoportot ad hozzá munkaterület-tagként. A szkript futtatása előtt:

  • Cserélje le <security-group-object-ID> az új biztonsági csoporthoz korábban rögzített objektumazonosítóra.
  • Cserélje le <workspace-name> annak a munkaterületnek a nevét, amelyhez hozzáférést szeretne adni a biztonsági csoportnak.
# 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)

5. lépés – Tartalom beágyazása

A tartalmat beágyazhatja egy mintaalkalmazásba vagy a saját alkalmazásába.

A tartalom beágyazása után készen áll az éles környezetbe való áttérésre.

Megjegyzés:

Ha tanúsítvány használatával szeretné biztonságossá tenni a tartalmat, kövesse a Power BI-tartalmak beágyazása szolgáltatásnévvel és tanúsítvánnyal című cikkben leírt lépéseket.

Szempontok és korlátozások

  • Szolgáltatásnév használata esetén a munkaterület nem támogatott.
  • Az éles környezetbe való áttéréshez kapacitásra van szükség.
  • Szolgáltatásnév használatával nem tud bejelentkezni a Power BI portálra.
  • A Power BI felügyeleti jogosultságai szükségesek a szolgáltatásnév engedélyezéséhez a Power BI Rendszergazda portál fejlesztői beállításaiban.
  • A szervezeti alkalmazások beágyazása nem tudja használni a szolgáltatásnevet.
  • Az adatfolyamok kezelése nem támogatott.
  • A szolgáltatásnév csak néhány írásvédett rendszergazdai API-t támogat. Ha engedélyezni szeretné a szolgáltatásnév támogatását az írásvédett rendszergazdai API-khoz, engedélyeznie kell a Power BI szolgáltatás rendszergazdai beállításokat a bérlőben. További információ: Egyszerű szolgáltatáshitelesítés engedélyezése írásvédett rendszergazdai API-khoz.
  • Ha szolgáltatásnevet használ egy Azure Analysis Services-adatforrással , magának a szolgáltatásnévnek rendelkeznie kell Azure Analysis Services-példányengedélyekkel. Nem működik a szolgáltatásnevet tartalmazó biztonsági csoport használata.