Définir ou supprimer des étiquettes de confidentialité à l’aide des API d’administration REST de Power BI
Article
Pour répondre aux exigences de conformité, les organisations sont souvent tenues de classifier et d’étiqueter toutes les données sensibles dans Power BI. Cette tâche peut être difficile pour les locataires qui ont de grands volumes de données dans Power BI. Pour la faciliter la tâche et la rendre plus efficace, vous pouvez utiliser les API REST d’administration Power BI pour définir et supprimer des étiquettes (setLabels et removeLabels) par programmation sur un grand nombre d’artefacts Power BI.
Les API définissent ou suppriment les étiquettes des artefacts par ID d’artefact.
Conditions requises et éléments à prendre en compte
Les utilisateurs doivent être administrateurs Fabric pour appeler ces API.
L’utilisateur administrateur (ainsi que l’utilisateur délégué le cas échéant) doit disposer des droits d’utilisation suffisants pour définir ou supprimer des étiquettes.
Pour définir une étiquette de confidentialité à l’aide de l’API setLabels, l’étiquette doit être incluse dans la stratégie d’étiquette de l’utilisateur administrateur (ou de l’utilisateur délégué le cas échéant).
Les API autorisent un maximum de 25 requêtes par heure. Chaque requête peut mettre à jour jusqu’à 2000 artefacts.
L’exemple suivant montre comment définir et supprimer des étiquettes de confidentialité sur des tableaux de bord Power BI. Un code similaire peut être utilisé pour définir et supprimer des étiquettes sur des modèles sémantiques, des rapports et des flux de données.
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}");
}
}
}
}
Ce module examine le processus d’implémentation des étiquettes de confidentialité, notamment l’application des autorisations administratives appropriées, la détermination d’une stratégie de déploiement, la création, la configuration et la publication d’étiquettes, ainsi que le retrait et la suppression d’étiquettes.
Démontrez des méthodes et les meilleures pratiques qui s’alignent sur les exigences métier et techniques pour la modélisation, la visualisation et l’analyse des données avec Microsoft Power BI.
Découvrez comment les organisations peuvent demander aux utilisateurs d’appliquer des étiquettes de confidentialité aux éléments dotés d’une stratégie d’étiquette obligatoire dans Fabric et Power BI.