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.
Dotyczy:✅ Analiza osadzona Power BI dla swoich klientów (App-owns-data)
W tym artykule wyjaśniono, jak osadzić zawartość usługi Power BI z użyciem połączenia na żywo z lokalnymmodelem tabelarycznym usług Analysis Services w standardowej aplikacji Power BI typu app-owns-data. Ten artykuł dotyczy wszystkich modeli SSAS połączeń na żywo niezależnie od tego, czy implementują zabezpieczenia na poziomie wiersza.
W tym scenariuszu baza danych działa w modelu SSAS (lokalnym), a silnik Power BI łączy się z nią za pośrednictwem bramy. Role zabezpieczeń (RLS) i uprawnienia, jeśli istnieją, są zdefiniowane w modelu usług SSAS, a nie w programie Power BI Desktop.
Dla kogo jest ten artykuł
Ten artykuł jest przeznaczony głównie dla dostawców ISV, którzy mają już skonfigurowaną lokalną bazę danych (SSAS) — z mechanizmem RLS lub bez — i chcą bezpośrednio z niej osadzać zawartość.
Konfiguracja ISV
Lokalne zabezpieczenia na poziomie wierszy są dostępne tylko w przypadku połączenia na żywo, ale można utworzyć połączenie na żywo z dowolną bazą danych, niezależnie od tego, czy obsługuje ona mechanizm RLS. Obejmuje to:
- Bazy danych bez skonfigurowanych ról RLS
- Bazy danych z członkami należącymi do co najmniej jednej roli
- Bazy danych ze statycznymi lub dynamicznymi rolami zabezpieczeń
Aby osadzić raport z modelu usług SSAS, należy wykonać następujące czynności:
Konfigurowanie bramy
Dodawanie połączenia ze źródłem danych do bramy usług SSAS
Wprowadź nazwę źródła danych, typ źródła danych, serwer, bazę danych, nazwę użytkownika i hasło rozpoznawane przez usługę Active Directory.
Aby uzyskać więcej informacji na temat tworzenia bramy i zarządzania nią, zobacz Dodawanie lub usuwanie źródła danych bramy.
Nadaj jednostce usługi lub użytkownikowi głównemu uprawnienia do bramy
Użytkownik generujący token osadzania wymaga również jednego z następujących uprawnień:
Uprawnienia administratora bramy
Uprawnienie do podszywania się pod źródło danych (ReadOverrideEffectiveIdentity)
Użytkownicy z uprawnieniem do podszywania się (zastępowania) mają ikonę klucza obok ich nazwy.
Postępuj zgodnie z tymi instrukcjami, aby nadać uprawnienia do bramy użytkownikowi nadrzędnemu, jednostce usługi lub profilowi jednostki usługi.
Wykonaj jedną z następujących czynności:
Mapuj nazwy użytkowników
Jeśli nazwy użytkowników w katalogu lokalnym i katalogu Microsoft Entra są inne i chcesz wyświetlić dane w portalu, musisz utworzyć tabelę mapowania użytkowników, która mapuje każdego użytkownika lub rolę w usłudze Microsoft Entra ID do użytkowników z lokalnej bazy danych. Aby uzyskać instrukcje dotyczące mapowania nazw użytkowników, przejdź do sekcji Ręczne ponowne mapowanie nazwy użytkownika
Aby uzyskać więcej informacji, zobacz Mapowanie nazw użytkowników dla źródeł danych usług Analysis Services.
Tworzenie połączenia na żywo
Po skonfigurowaniu środowiska utwórz połączenie na żywo między programem Power BI Desktop a serwerem SQL i utwórz raport.
Uruchom program Power BI Desktop i wybierz pozycję Pobierz bazę danych>.
Z listy źródeł danych wybierz bazę danych usług SQL Server Analysis Services i wybierz pozycję Połącz.
Wprowadź szczegóły wystąpienia tabelarycznego usługi Analysis Services i wybierz pozycję Połącz na żywo. Następnie wybierz opcję OK.
Wygeneruj token osadzania
Aby osadzić raport w scenariuszu osadzania dla swoich klientów, wygeneruj token osadzenia, który przekazuje tożsamość efektywną do Power BI. Wszystkie aktywne połączenia z silnikami AS wymagają skutecznej tożsamości, nawet jeśli nie wdrożono mechanizmu RLS.
Jeśli nie skonfigurowano RLS, tylko Administrator ma dostęp do bazy danych, więc należy użyć Administratora jako efektywnej tożsamości.
Informacje potrzebne do wygenerowania tokenu osadzania zależą od tego, czy nawiązano połączenie z usługą Power BI przy użyciu jednostki usługi lub użytkownika głównego, a także jeśli baza danych ma zabezpieczenia na poziomie wiersza.
- Token osadzania użytkownika głównego
- Token osadzania dla nazwy głównej usługi lub profilu nazwy głównej usługi
Aby wygenerować token osadzania, podaj następujące informacje:
- Nazwa użytkownika (Opcjonalna, jeśli nie ma RLS. Wymagana dla RLS) — prawidłowa nazwa użytkownika rozpoznawana przez usługę SSAS, która będzie używana jako tożsamość efektywna. Jeśli baza danych nie używa mechanizmu RLS i nie podano nazwy użytkownika, używane są poświadczenia użytkownika głównego.
- Rola (wymagana dla zabezpieczeń na poziomie wiersza) — raport będzie wyświetlał dane tylko wtedy, gdy efektywna tożsamość jest członkiem roli.
Przykład:
public EmbedToken GetEmbedToken(Guid reportId, IList<Guid> datasetIds, [Optional] Guid targetWorkspaceId)
{
PowerBIClient pbiClient = this.GetPowerBIClient();
// Define the user identity and roles. Use one of the following:
var rlsidentity = new EffectiveIdentity( //If no RLS
username: "Domain\\Username", // can also be username@contoso.com
datasets: new List<string>{ datasetId.ToString()}
)
var rlsidentity = new EffectiveIdentity( // If RLS
username: "username@contoso.com",
roles: new List<string>{ "MyRole" },
datasets: new List<string>{ datasetId.ToString()}
)
// Create a request for getting an embed token for the rls identity defined above
var tokenRequest = new GenerateTokenRequestV2(
reports: new List<GenerateTokenRequestV2Report>() { new GenerateTokenRequestV2Report(reportId) },
datasets: datasetIds.Select(datasetId => new GenerateTokenRequestV2Dataset(datasetId.ToString())).ToList(),
targetWorkspaces: targetWorkspaceId != Guid.Empty ? new List<GenerateTokenRequestV2TargetWorkspace>() { new GenerateTokenRequestV2TargetWorkspace(targetWorkspaceId) } : null,
identities: new List<EffectiveIdentity> { rlsIdentity }
);
// Generate an embed token
var embedToken = pbiClient.EmbedToken.GenerateToken(tokenRequest);
return embedToken;
}
Teraz możesz osadzić raport w aplikacji, a raport będzie filtrować dane zgodnie z uprawnieniami użytkownika, który uzyskuje dostęp do raportu.
Rozważania i ograniczenia
Funkcja CustomData nie jest obsługiwana.