Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op:✅ Power BI ingesloten analyses voor uw klanten (App-owns-data)
In dit artikel wordt uitgelegd hoe u Power BI-inhoud insluit met een liveverbinding van een on-premisesTabellair Model van Analysis Services in een standaard Power BI-app die eigenaar is van de gegevenstoepassing. Dit artikel is van toepassing op alle SSAS-modellen voor liveverbindingen, ongeacht of ze RLS implementeren.
In dit scenario bevindt de database zich in het SSAS-model (on-premises) en maakt de Power BI-engine er verbinding mee via een gateway. De beveiligingsrollen (RLS) en machtigingen, indien aanwezig, worden gedefinieerd in het SSAS-model en niet in Power BI Desktop.
Voor wie dit artikel is
Dit artikel is voornamelijk relevant voor ISV's die al een on-premises database (SSAS) hebben ingesteld (met of zonder RLS) en inhoud rechtstreeks van daaruit willen insluiten.
ISV-installatie
On-premises-beveiliging op rijniveau is alleen beschikbaar met een live verbinding, maar u kunt een live verbinding maken met elke database, of die nu wel of geen beveiliging op rijniveau implementeert. Dit zijn onder andere de nieuwe mogelijkheden:
- Databases zonder geconfigureerde RLS-rollen
- Databases met leden die tot een of meer rollen behoren
- Databases met statische of dynamische beveiligingsrollen
Als u een rapport wilt insluiten vanuit een SSAS-model, moet u de volgende acties uitvoeren:
Gateway instellen
Een gegevensbronverbinding toevoegen aan de SSAS-gateway
Voer de naam van de gegevensbron, het gegevensbrontype, de server, de database, een gebruikersnaam en wachtwoord in die door de Active Directory worden herkend.
Zie Een gatewaygegevensbron toevoegen of verwijderen voor meer informatie over het maken en beheren van een gateway.
Geef de service-principal of hoofdgebruiker machtigingen voor de gateway
De gebruiker die het insluittoken genereert, heeft ook een van de volgende machtigingen nodig:
Gatewaybeheerdersmachtigingen
Machtiging om zich als gegevensbron voor te doen (ReadOverrideEffectiveIdentity)
Gebruikers met de machtiging om zich voor te doen als een andere gebruiker (overschrijven) hebben een sleutelpictogram naast hun naam.
Volg deze instructies om machtigingen voor de gateway te verlenen aan uw primaire gebruiker, service-principal of service-principal-profiel.
Doe één van de volgende dingen:
Gebruikersnamen koppelen
Als de gebruikersnamen in de on-premises directory en de Microsoft Entra-map verschillen en u gegevens wilt weergeven in de portal, moet u een gebruikerstoewijzingstabel maken waarmee elke gebruiker of rol in Microsoft Entra-id wordt toegewezen aan gebruikers uit de on-premises database. Ga voor instructies over het opnieuw toewijzen van gebruikersnamen naar Gebruikersnamen handmatig opnieuw toewijzen
Zie Gebruikersnamen toewijzen voor Analysis Services-gegevensbronnen voor meer informatie.
Een liveverbinding maken
Zodra de omgeving is ingesteld, maakt u een liveverbinding tussen Power BI Desktop en de SQL-server en maakt u uw rapport.
Start Power BI Desktop en selecteer Gegevens ophalen>Database.
Selecteer in de lijst met gegevensbronnen de SQL Server Analysis Services-database en selecteer Verbinding maken.
Vul de details van uw tabellaire Analysis Services-exemplaar in en selecteer Live verbinding maken. Selecteer vervolgens OK.
Een insluittoken genereren
Als u uw rapport wilt insluiten in het scenario voor het insluiten van uw klanten , genereert u een insluittoken dat de effectieve identiteit doorgeeft aan Power BI. Alle live verbindingen met AS-engines vereisen een effectieve identiteit, zelfs als RLS niet is geïmplementeerd.
Als er geen RLS is ingesteld, heeft alleen de beheerder toegang tot de database, zodat u de beheerder als effectieve identiteit wilt gebruiken.
De informatie die nodig is om een insluittoken te genereren, is afhankelijk van of u bent verbonden met Power BI met behulp van een service-principal of als hoofdgebruiker, en ook als de database RLS heeft.
- Insluittoken van hoofdgebruiker
- Insluitingstoken voor service-principal of insluitingstoken voor service-principalprofiel
Geef de volgende informatie op om het insluittoken te genereren:
- Gebruikersnaam (Optioneel indien er geen RLS is. Vereist voor RLS) - Een geldige gebruikersnaam die door SSAS wordt herkend en als de effectieve identiteit wordt gebruikt. Als de database geen RLS gebruikt en er geen gebruikersnaam is opgegeven, worden de referenties van de hoofdgebruiker gebruikt.
- Rol (vereist voor RLS) - Het rapport geeft alleen gegevens weer als de effectieve identiteit lid is van de rol.
Voorbeeld:
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;
}
U kunt uw rapport nu insluiten in uw app en uw rapport filtert gegevens op basis van de machtigingen van de gebruiker die het rapport opent.
Overwegingen en beperkingen
CustomData wordt niet ondersteund.