Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 aplikacji aplikacja może uzyskiwać dostęp do zasobów dzierżawy Microsoft Entra.
Aby się uwierzytelnić, jednostka usługi używa identyfikatora aplikacji Microsoft Entra application ID oraz jednego z następujących elementów:
- Certyfikat
- Klucz tajny aplikacji
W tym artykule opisano uwierzytelnianie za pomocą nazwy głównej usługi przy użyciu identyfikatora aplikacji i klucza 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.
Metoda
Aby używać nazwy głównej usługi i identyfikatora aplikacji do analizy osadzonej, wykonaj następujące kroki. W kolejnych sekcjach szczegółowo opisano te kroki.
Utwórz aplikację Firmy Microsoft Entra.
- Utwórz klucz tajny dla swojej 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ługi Power BI.
Dodaj nazwę główną 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:
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ść klucza tajnego klienta zostanie ukryta i nie będzie można jej ponownie wyświetlić ani skopiować.
Krok 2. Tworzenie grupy zabezpieczeń firmy Microsoft Entra
Twoja jednostka usługi nie ma dostępu do żadnych Twoich zasobów usługi Power BI ani jej interfejsów API. Aby przyznać jednostce usługi dostęp, utwórz grupę zabezpieczeń w identyfikatorze Entra firmy Microsoft. Następnie dodaj utworzoną jednostkę usługi 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ż utworzoną wcześniej jednostkę usługi 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 a Microsoft Entra 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łącz ustawienia administratora usługi 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 głównym usługi na korzystanie z 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 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. Aby uzyskać więcej informacji, zobacz Jednostki usługi mogą wywoływać publiczne interfejsy API usługi Fabric.
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 — Dodaj jednostkę 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, aby dodać jednostkę usługi głównej lub jej grupę zabezpieczeń do obszaru roboczego:
Dodaj ręcznie nazwę główną usługi lub grupę zabezpieczeń
W usłudze 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:
- 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.
W menu rozwijanym wybierz pozycję Członek lub Administrator.
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 element
<service-principal-object-ID>identyfikatorem obiektu zapisanym wcześniej dla nowej nazwy głównej 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>identyfikatorem obiektu, który został wcześniej zanotowany 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 za pomocą nazwy głównej usługi.
- Aby włączyć nazwę główną usługi w ustawieniach deweloperskich w portalu administratora Power BI, wymagane są uprawnienia administratora 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ę nazwy głównej usługi dla interfejsów API administratora przeznaczonych tylko do odczytu, włącz ustawienia administratora usługi Power BI w swojej 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 w tym celu grupy zabezpieczeń zawierającej nazwę główną usługi nie działa.