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 umożliwia aplikacji Entra firmy Microsoft dostęp usługa Power BI zawartości i interfejsów API.
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.
- Dowiedz się więcej na temat uzyskiwania tokenów dostępu z identyfikatora Entra firmy Microsoft przy użyciu kluczy tajnych lub certyfikatów.
- Aby zabezpieczyć rozwiązanie przy użyciu certyfikatu, wykonaj instrukcje opisane w tym artykule, a następnie wykonaj kroki opisane w artykule Osadzanie zawartości usługi Power BI przy użyciu jednostki usługi i certyfikatu.
Method
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.
Utwórz aplikację Firmy Microsoft Entra.
- Utwórz wpis tajny dla aplikacji Microsoft Entra.
- 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.
Utwórz grupę zabezpieczeń Entra firmy Microsoft.
Włącz ustawienia administratora usługa Power BI.
Dodaj jednostkę usługi do obszaru roboczego.
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:
Zaloguj się w witrynie Azure Portal.
Wyszukaj i wybierz pozycję Rejestracje aplikacji.
Wybierz opcjęNowa rejestracja.
Wypełnij wymagane informacje:
- Nazwa — wprowadź nazwę aplikacji.
- Obsługiwane typy kont — wybierz obsługiwane typy kont.
- (Opcjonalnie) Identyfikator URI przekierowania — w razie potrzeby wprowadź identyfikator URI .
Wybierz pozycję Zarejestruj.
Po zarejestrowaniu aplikacji identyfikator aplikacji jest dostępny na karcie Przegląd. Skopiuj i zapisz identyfikator aplikacji do późniejszego użycia.
Wybierz pozycję Certyfikaty i wpisy tajne.
Wybierz Nowy klucz tajny klienta.
W oknie Dodawanie wpisu tajnego klienta wprowadź opis, określ, kiedy klucz tajny klienta ma wygasnąć, a następnie wybierz pozycję Dodaj.
Skopiuj i zapisz wartość wpisu tajnego klienta.
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.
Włącz opcję Zezwalaj jednostkom usługi na używanie interfejs API usługi Power BI dla całej organizacji lub dla określonej grupy zabezpieczeń utworzonej w usłudze Microsoft Entra ID.
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ęcznie
- Korzystanie z programu PowerShell
- Korzystanie z interfejsu API użytkowników grup — dodawanie grupy
Ręczne dodawanie jednostki usługi lub grupy zabezpieczeń
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.
W okienku Dostęp w obszarze Dodaj administratorów, członków lub współautorów dodaj jedną z następujących pozycji:
- Jednostka usługi. 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.
W menu rozwijanym wybierz pozycję Członek lub Administrator.
Wybierz 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 w przypadku korzystania z jednostki 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 aplikacji organizacji nie może używać 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, zobacz Włączanie uwierzytelniania jednostki usługi dla interfejsów API administratora tylko do odczytu.
- Jeśli używasz jednostki usługi ze źródłem danych usług Azure Analysis Services , sama jednostka usługi musi mieć uprawnienia wystąpienia usług Azure Analysis Services. Użycie grupy zabezpieczeń zawierającej jednostkę usługi w tym celu nie działa.