Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Durchsetzung der im Complianceportal definierten Rechteverwaltungsrechte liegt in der Verantwortung des Anwendungsentwicklers. Das SDK stellt eine API und eine Reihe von Enumerationen bereit, um diese Zugriffsprüfungen zu vereinfachen.
Die folgenden Beispiele und Tabellen veranschaulichen, welche Szenarien eine Zugriffsüberprüfung, die Liste der zu überprüfenden Rechte und die Durchführung der Überprüfung erfordern.
Rechteliste und Ergebnisse
Eine vollständige Liste der Nutzungsrechte und Beschreibungen finden Sie unter Konfigurieren von Nutzungsrechten für Microsoft Purview Information Protection. In diesem Artikel werden die Verantwortlichkeiten eines Anwendungsentwicklers bei der Erzwingung von Rechten und aktivierten Funktionen definiert, wenn bestimmte Rechte vorhanden sind oder fehlen.
Von Bedeutung
Es liegt in der Verantwortung von Anwendungsentwicklern, Rechte zu überprüfen und durchzusetzen . Fehler bei der Durchführung von Prüfungen können zu Datenverlusten führen.
Szenarien
Wo und wie Ihre Anwendung Zugriffsprüfungen durchführt, hängt vom Typ der Anwendung ab, die Sie erstellen. Anwendungen, die vollen Datei-Output verarbeiten und über keine Benutzeroberfläche verfügen, verwenden die EXTRACT- oder OWNER-Rechte am häufigsten. Anwendungen mit einer Benutzeroberfläche erfordern präziseste Steuerelemente, die den Zugriff auf Benutzersteuerelemente blockieren und Pfade in der Anwendung exportieren. Codebeispiele finden Sie im Abschnitt "Zugriffsüberprüfungen ausführen ".
Anwendungen ohne Benutzeroberfläche
Anwendungen ohne Benutzeroberfläche sind häufig dienstbasierte oder Befehlszeilenschnittstellen (CLI). Wenn Ihre Anwendung Dateien verarbeitet, die durch Purview Information Protection geschützt sind, muss sie sicherstellen, dass ein Benutzer ohne die richtigen Rechte den Dienst oder die CLI nicht verwenden kann, um die Datei in einem nicht geschützten Format zu exportieren.
Diese Anwendungen sollten überprüfen, ob die OWNER- oder EXTRACT-Rechte vorhanden sind. Benutzer mit OWNER können einen beliebigen Vorgang ausführen. Benutzer mit EXTRACT können den Schutz direkt entfernen oder in einem neuen Format speichern, auch wenn dieses Format keinen Schutz unterstützt.
Anwendungen mit einer Benutzeroberfläche
File SDK-Anwendungen mit einer Benutzeroberfläche müssen Steuerelemente implementieren, die den Zugriff auf Vorgänge einschränken, die der Benutzer nicht ausführen darf. Ein Beispiel für eine solche Anwendung ist der Microsoft Purview Information Protection Viewer. Der Viewer entschlüsselt die Datei vorübergehend und rendert Inhalte im Anwendungsfenster. Es führt präzise Zugriffsüberprüfungen durch, bevor das Dokument angezeigt wird, und benutzeroberflächenelemente werden basierend auf den Ergebnissen der Zugriffsprüfungen deaktiviert.
Ein Teilworkflow zum Ausführen von Zugriffsprüfungen könnte wie folgt aussehen:
- Hat der Benutzer das OWNER-Recht? Wenn ja, aktivieren Sie alle Steuerelemente, und beenden Sie die Verarbeitung anderer Rechte.
- Hat der Benutzer das Recht auf DRUCKEN? Wenn ja, aktivieren Sie das Drucksteuerelement. Wenn nicht, deaktivieren Sie das Drucksteuerelement.
- Hat der Benutzer das Exportrecht ? Wenn ja, aktivieren Sie die Exporteinstellungen und die Benutzeroberflächenelemente. Wenn dies nicht der Fall ist, deaktivieren Sie diese Elemente.
- Hat der Benutzer das Recht ZUM EXTRAHIEREN ? Wenn ja, aktivieren Sie kopieren und Screenshots. Wenn nicht, deaktivieren Sie diese Funktionen.
- Hat der Benutzer die Berechtigung EDIT? Wenn ja, aktivieren Sie das Bearbeiten und Speichern des aktuellen Elements. Wenn nicht, machen Sie das Element schreibgeschützt.
Diese Prüfungen sollten für alle Berechtigungen in der Rechteliste und ergebnistabelle ausgeführt werden, mit Ausnahme der ANSICHT-Rechten . Auf die Datei kann nicht ohne dieses Recht zugegriffen werden.
Durchführen von Zugriffsprüfungen
Muster für die Ausführung der Zugriffsüberprüfung sind im Datei- und Schutz-SDK für C++, .NET und Java ähnlich.
Bei diesen Codebeispielen wird davon ausgegangen, dass Sie die Schritte zum Initialisieren des SDK durchlaufen und ein Modul und einen Handler instanziiert haben.
- Schnellstart: Clientanwendungsinitialisierung (C++)
- Schnellstart: Initialisierung der Clientanwendung (C#)
- Schnellstart: Clientanwendungsinitialisierung für Schutz-SDKs (C++)
- Schnellstart: Clientanwendungsinitialisierung für Schutz-SDKs (C#)
Durchführen von Zugriffsüberprüfungen im Datei-SDK mit .NET
Bei diesem Code wird davon ausgegangen, dass ein FileHandler erstellt wurde und auf eine gültige Datei verweist.
// Validate that the file referred to by the FileHandler is protected.
if(handler.Protection != null)
{
// Validate that user has rights to remove protection from the file.
if(handler.Protection.AccessCheck(Rights.Extract))
{
// If user has Extract right, remove protection and commit the change. Otherwise, throw exception.
handler.RemoveProtection();
bool result = handler.CommitAsync(outputPath).GetAwaiter().GetResult();
return result;
}
else
{
throw new Microsoft.InformationProtection.Exceptions.AccessDeniedException("User lacks EXPORT right.");
}
}
Durchführen von Zugriffsüberprüfungen im Protection SDK mit .NET
Bei diesem Code-Snip wird davon ausgegangen, dass ein ProtectionHandler für den Verbrauch erstellt wurde.
// Validate that the file referred to by the FileHandler is protected.
if(protectionHandler != null)
{
// Validate that user has rights to remove protection from the file.
if(protectionHandler.AccessCheck(Rights.Print))
{
// If the user has the print right, enable the control.
// SetPrintControlEnabled() is an example and not a MIP SDK function.
SetPrintControlEnabled(true);
}
else
{
// If the user does not have the print right, disable the control.
// SetPrintControlEnabled() is an example and not a MIP SDK function.
SetPrintControlEnabled(false);
}
}
Durchführen von Zugriffsüberprüfungen im Datei-SDK mit C++
Bei diesem Code wird davon ausgegangen, dass ein FileHandler erstellt wurde und auf eine gültige Datei verweist.
// Validate that the file referred to by the FileHandler is protected.
if (fileHandler->GetProtection() != nullptr)
{
if (fileHandler->GetProtection()->AccessCheck(mip::rights::Extract()))
{
auto commitPromise = std::make_shared<std::promise<bool>>();
auto commitFuture = commitPromise->get_future();
fileHandler->RemoveProtection();
fileHandler->CommitAsync(outputFile, commitPromise);
result = commitFuture.get();
}
else
{
throw std::runtime_error("User doesn't have EXTRACT right.");
}
}
Durchführen von Zugriffsprüfungen im Protection SDK mit C++
Bei diesem Code-Snip wird davon ausgegangen, dass ein ProtectionHandler für den Verbrauch erstellt wurde.
// Validate that the file referred to by the FileHandler is protected.
if (protectionHandler != nullptr)
{
if (protectionHandler->AccessCheck(mip::rights::Print()))
{
// If the user has the print right, enable the control.
// SetPrintControlEnabled() is an example and not a MIP SDK function.
SetPrintControlEnabled(true);
}
else
{
// If the user does not have the print right, disable the control.
// SetPrintControlEnabled() is an example and not a MIP SDK function.
SetPrintControlEnabled(false);
}
}
Nächste Schritte
Nachdem Sie nun eine Vorstellung davon haben, wie Sie Zugriffsprüfungen ordnungsgemäß durchführen und die mit diesen Prüfungen verbundenen Rechte erzwingen können, fahren Sie mit den Dateihandlerkonzepten fort, um mehr über das Entfernen des Schutzes von Dateien zu erfahren.