Huomautus
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Yhteensopivuuden vaatimusten täyttämiseksi organisaatioita vaaditaan usein luokittelemaan ja merkitsemään kaikki arkaluontoiset tiedot Power BI:ssä. Tämä voi olla haastavaa vuokraajille, joilla on suuria tietomääriä Power BI:ssä. Voit tehdä tehtävästä helpompaa ja tehokkaampaa käyttämällä Power BI -järjestelmänvalvojan REST-ohjelmointirajapintoja, jotka määrittävät ohjelmallisestiLabels- ja removeLabels-tiedot suurissa joukoissa Power BI -artefakteja.
Ohjelmointirajapinnat määrittävät tai poistavat otsikoita artefakteja artefaktin tunnuksen perusteella.
Vaatimukset ja huomioitavat seikat
- Käyttäjien on oltava Fabric-järjestelmänvalvojia, jotta he voivat kutsua näitä ohjelmointirajapintoja.
- Järjestelmänvalvojakäyttäjällä (ja tarvittaessa delegoidulla käyttäjällä) on oltava riittävät käyttöoikeudet tunnisteiden määrittämiseen tai poistamiseen.
- Jos haluat määrittää luottamuksellisuustunnisteen setLabels-ohjelmointirajapinnan avulla, järjestelmänvalvojakäyttäjällä (tai tarvittaessa delegoidulla käyttäjällä) on oltava tunniste tunnisteen mukana otsikkokäytännössä.
- Ohjelmointirajapinnat sallivat enintään 25 pyyntöä tunnissa. Jokainen pyyntö voi päivittää enintään 2 000 artefaktia.
- Vaadittu vaikutusalue: Tenant.ReadWrite.All
Ohjelmointirajapintadokumentaatio
Näyte
Seuraavassa mallissa näytetään, miten voit määrittää ja poistaa luottamuksellisuustunnisteita Power BI -koontinäytöissä. Vastaavaa koodia voidaan käyttää semanttisten mallien, raporttien ja tietovoiden otsikoiden määrittämiseen ja poistamiseen.
const string adminBearerToken = "<adminBearerToken>";
const string ApiUrl = "<api url>";
var persistedDashboardId = Guid.Parse("<dashboard object Id>");
var credentials = new TokenCredentials(adminBearerToken, "Bearer");
var artifacts = new InformationProtectionArtifactsChangeLabel();
artifacts.Dashboards = new List<ArtifactId> { new ArtifactId(id: persistedDashboardId) };
using (PowerBIClient client = new PowerBIClient(credentials))
{
client.BaseUri = new Uri(ApiUrl);
// Delete labels
var removeResponse = client.InformationProtection.RemoveLabelsAsAdmin(artifacts);
foreach (var updateLabelResult in removeResponse.Dashboards)
{
if (updateLabelResult.Status == Status.Succeeded)
{
Console.WriteLine($"label has been deleted from artifact {updateLabelResult.Id}");
}
else
{
Console.WriteLine($"label has not been deleted from artifact {updateLabelResult.Id}");
}
}
// Set labels
var setLabelRequest = new InformationProtectionChangeLabelDetails();
setLabelRequest.Artifacts = artifacts;
setLabelRequest.LabelId = Guid.Parse("<label Id>");
// assignmentMethod (optional)
setLabelRequest.AssignmentMethod = AssignmentMethod.Priviledged;
// delegetedUser (optional)
var delegatedUser = new DelegatedUser();
delegatedUser.EmailAddress = "<delegated user email address>";
setLabelRequest.DelegatedUser = delegatedUser;
var setResponse = client.InformationProtection.SetLabelsAsAdmin(setLabelRequest);
foreach (var updateLabelResult in setResponse.Dashboards)
{
if (updateLabelResult.Status == Status.Succeeded)
{
Console.WriteLine($"label has been upsert on artifact {updateLabelResult.Id}");
}
else
{
Console.WriteLine($"label has not been upsert on artifact {updateLabelResult.Id}");
}
}
}
}