Udostępnij przez


Osadzanie zawartości usługi Power BI przy użyciu jednostki usługi i wpisu tajnego aplikacji

Jednostka usługi to metoda uwierzytelniania, która może służyć do zezwalania aplikacji Entra firmy Microsoft na dostęp do zawartości i interfejsów API usługi Power BI.

Podczas tworzenia aplikacji Microsoft Entra jest tworzony obiekt jednostki usługi . Obiekt jednostki usługi, znany również jako jednostka usługi, umożliwia usłudze Microsoft Entra ID uwierzytelnianie aplikacji. Po uwierzytelnieniu aplikacja może uzyskiwać dostęp do zasobów dzierżawy firmy Microsoft Entra.

Aby się uwierzytelnić, jednostka usługi używa identyfikatora aplikacji firmy Microsoft Entra i jednego z następujących elementów:

  • Certyfikat
  • Wpis tajny aplikacji

W tym artykule opisano uwierzytelnianie jednostki usługi przy użyciu identyfikatora aplikacji i wpisu tajnego aplikacji.

Uwaga

Zalecamy zabezpieczenie usług zaplecza przy użyciu certyfikatów, a nie kluczy tajnych.

Metoda

Aby użyć jednostki usługi i identyfikatora aplikacji do osadzonej analizy, wykonaj następujące kroki. W kolejnych sekcjach szczegółowo opisano te kroki.

  1. Utwórz aplikację Firmy Microsoft Entra.

    1. Utwórz wpis tajny dla aplikacji Microsoft Entra.
    2. Pobierz identyfikator aplikacji i klucz tajny aplikacji.

    Uwaga

    Te kroki opisano w kroku 1. Aby uzyskać więcej informacji na temat tworzenia aplikacji Microsoft Entra, zobacz tworzenie aplikacji Microsoft Entra.

  2. Utwórz grupę zabezpieczeń Entra firmy Microsoft.

  3. Włącz ustawienia administratora usługa Power BI.

  4. Dodaj jednostkę usługi do obszaru roboczego.

  5. Osadź zawartość.

Ważne

Aplikacja Microsoft Entra nie wymaga skonfigurowania żadnych delegowanych uprawnień ani uprawnień aplikacji w witrynie Azure Portal, gdy została utworzona dla jednostki usługi. Podczas tworzenia aplikacji Microsoft Entra dla jednostki usługi w celu uzyskania dostępu do interfejsu API REST usługi Power BI zalecamy unikanie dodawania uprawnień. Nigdy nie są używane i mogą powodować błędy, które są trudne do rozwiązania.

Krok 1. Tworzenie aplikacji Microsoft Entra

Aplikację Microsoft Entra można utworzyć w witrynie Azure Portal lub przy użyciu programu PowerShell:

Aby utworzyć aplikację Microsoft Entra i tajny klucz z Azure Portal, postępuj zgodnie z instrukcjami w temacie Rejestrowanie aplikacji.

Uwaga

Po opuszczeniu tego okna wartość wpisu tajnego klienta jest ukryta i nie można go wyświetlić ani skopiować ponownie.

Krok 2. Tworzenie grupy zabezpieczeń firmy Microsoft Entra

Jednostka usługi nie ma dostępu do żadnej zawartości i interfejsów API usługi Power BI. Aby przyznać jednostce usługi dostęp, utwórz grupę zabezpieczeń w identyfikatorze Entra firmy Microsoft. Następnie dodaj jednostkę usługi utworzoną do tej grupy zabezpieczeń.

Uwaga

Jeśli chcesz włączyć dostęp jednostki usługi dla całej organizacji, pomiń ten krok.

Istnieją dwa sposoby tworzenia grupy zabezpieczeń firmy Microsoft Entra:

Ręczne tworzenie grupy zabezpieczeń

Aby ręcznie utworzyć grupę zabezpieczeń platformy Azure, postępuj zgodnie z instrukcjami w temacie Tworzenie grupy podstawowej. Nie dodawaj obecnie członków do grupy.

Tworzenie grupy zabezpieczeń przy użyciu programu PowerShell

Poniższy przykładowy skrypt tworzy nową grupę zabezpieczeń. Dodaje również jednostkę usługi utworzoną wcześniej do nowej grupy zabezpieczeń.

  • Przed uruchomieniem skryptu zastąp <app-client-ID> ciąg identyfikatorem klienta zarejestrowanym wcześniej dla nowej aplikacji.
  • Po uruchomieniu skryptu zanotuj identyfikator obiektu nowej grupy zabezpieczeń, którą można znaleźć w danych wyjściowych skryptu.
# 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)

Krok 3. Włączanie ustawień administratora usługa Power BI

Aby aplikacja Firmy Microsoft Entra uzyskiwała dostęp do zawartości i interfejsów API usługi Power BI, administrator usługi Power BI musi włączyć następujące ustawienia:

  • Osadzanie zawartości w aplikacjach
  • Zezwalaj jednostkom usługi na używanie interfejsów API usługi Power BI

W portalu administracyjnym usługi Power BI przejdź do pozycji Ustawienia dzierżawy i przewiń w dół do pozycji Ustawienia dewelopera.

  • Włącz opcję Osadź zawartość w aplikacjach dla całej organizacji lub dla określonej grupy zabezpieczeń utworzonej w usłudze Microsoft Entra ID.

    Zrzut ekranu przedstawiający ustawienia dewelopera w sekcji Ustawienia dzierżawy portalu administracyjnego. Opcja osadzania zawartości w aplikacjach jest włączona.

  • Włącz Zezwalaj jednostkom usługi na używanie interfejsów API Power BI dla całej organizacji lub dla określonej grupy zabezpieczeń utworzonej w Microsoft Entra ID.

    Zrzut ekranu przedstawiający sekcję Ustawienia dewelopera. Opcja zezwalania jednostkom usługi na korzystanie z interfejsów API usługi Power BI jest włączona dla jednej grupy zabezpieczeń.

    Ważne

    Jednostki usługi mają dostęp do wszystkich ustawień dzierżawy, dla których są włączone. W zależności od ustawień administratora obejmuje to określone grupy zabezpieczeń lub całą organizację.

    Aby ograniczyć dostęp jednostki usługi do określonych ustawień dzierżawy, zezwól na dostęp tylko do określonych grup zabezpieczeń. Alternatywnie możesz utworzyć dedykowaną grupę zabezpieczeń dla jednostek usługi i wykluczyć ją z żądanych ustawień dzierżawy.

Krok 4. Dodawanie jednostki usługi do obszaru roboczego

Aplikacja Microsoft Entra może uzyskiwać dostęp do raportów, pulpitów nawigacyjnych i semantycznych modeli usługi Power BI tylko wtedy, gdy ma dostęp do obszaru roboczego usługi Power BI jako członek lub administrator. Zapewnisz ten dostęp, dodając jednostkę usługi aplikacji lub jej grupę zabezpieczeń do obszaru roboczego.

Istnieją trzy sposoby dodawania jednostki usługi lub jej grupy zabezpieczeń do obszaru roboczego:

Ręczne dodawanie jednostki usługi lub grupy zabezpieczeń

  1. W usługa Power BI przewiń do obszaru roboczego, dla którego chcesz włączyć dostęp. W menu Więcej wybierz pozycję Dostęp do obszaru roboczego.

    Zrzut ekranu przedstawiający rozwinięte menu Więcej dla obszaru roboczego. W tym menu wyróżniono dostęp do obszaru roboczego.

  2. W okienku Dostęp w obszarze Dodaj administratorów, członków lub współautorów dodaj jedną z następujących pozycji:

    • Twój service principal. Nazwa jednostki usługi to nazwa wyświetlana aplikacji Microsoft Entra, która jest wyświetlana na karcie Przegląd aplikacji Microsoft Entra.
    • Grupa zabezpieczeń zawierająca jednostkę usługi.
  3. W menu rozwijanym wybierz pozycję Członek lub Administrator.

  4. Wybierz pozycję Dodaj.

Dodawanie jednostki usługi lub grupy zabezpieczeń przy użyciu programu PowerShell

W poniższych sekcjach przedstawiono przykładowe skrypty programu PowerShell służące do dodawania jednostki usługi i grupy zabezpieczeń do obszaru roboczego usługi Power BI jako członka.

Dodawanie jednostki usługi jako członka obszaru roboczego przy użyciu programu PowerShell

Poniższy skrypt dodaje jednostkę usługi jako członka obszaru roboczego. Przed uruchomieniem skryptu:

  • Zastąp <service-principal-object-ID> element identyfikatorem obiektu zarejestrowanym wcześniej dla nowej jednostki usługi.
  • Zastąp <workspace-name> ciąg nazwą obszaru roboczego, do którego chcesz przyznać jednostce usługi dostęp.
# 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)

Dodawanie grupy zabezpieczeń jako członka obszaru roboczego przy użyciu programu PowerShell

Poniższy skrypt dodaje grupę zabezpieczeń jako członka obszaru roboczego. Przed uruchomieniem skryptu:

  • Zastąp <security-group-object-ID> ciąg identyfikatorem obiektu zarejestrowanym wcześniej dla nowej grupy zabezpieczeń.
  • Zastąp <workspace-name> ciąg nazwą obszaru roboczego, do którego chcesz przyznać grupie zabezpieczeń dostęp.
# 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)

Krok 5. Osadzanie zawartości

Zawartość można osadzić w przykładowej aplikacji lub we własnej aplikacji.

Po osadzeniu zawartości możesz przejść do środowiska produkcyjnego.

Uwaga

Aby zabezpieczyć zawartość przy użyciu certyfikatu, wykonaj kroki opisane w artykule Osadzanie zawartości usługi Power BI przy użyciu jednostki usługi i certyfikatu.

Rozważania i ograniczenia

  • Mój obszar roboczy nie jest obsługiwany przy użyciu atrybutu usługi.
  • Pojemność jest wymagana podczas przechodzenia do środowiska produkcyjnego.
  • Nie można zalogować się do portalu usługi Power BI przy użyciu jednostki usługi.
  • Uprawnienia administratora usługi Power BI są wymagane do włączenia jednostki usługi w ustawieniach deweloperów w portalu administracyjnym usługi Power BI.
  • Osadzanie dla Twojej organizacji: aplikacje nie mogą korzystać z głównej jednostki usługi.
  • Zarządzanie przepływami danych nie jest obsługiwane.
  • Nie wszystkie interfejsy API tylko do odczytu są obsługiwane przez jednostkę usługi. Aby włączyć obsługę jednostki usługi dla interfejsów API administratora tylko do odczytu, włącz ustawienia administratora usługa Power BI w dzierżawie. Aby uzyskać więcej informacji, zapoznaj się z Włącz uwierzytelnianie podmiotu usługi dla interfejsów API administratora tylko do odczytu.
  • Jeśli używasz obiektu zabezpieczeń ze źródłem danych Azure Analysis Services, sam obiekt zabezpieczeń musi mieć uprawnienia wystąpienia Azure Analysis Services. Użycie grupy zabezpieczeń zawierającej jednostkę usługi w tym celu nie działa.