Uwaga
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.
Omówienie
Omówienie dotyczy ponownej publikacji w MIP SDK, co jest szczególnym przypadkiem, gdy aplikacja musi umożliwić użytkownikowi edytowanie pliku, ale chce zachować oryginalne informacje o licencji publikowania, takie jak dane o właścicielu, prawach, kluczu zawartości itp.
Wzorzec może wyglądać mniej więcej tak:
- Użytkownik otwiera chroniony dokument do edycji.
- Użytkownik musi mieć uprawnienia do edytowania pliku tylko wtedy, gdy przyznano mu odpowiednie prawa.
- Użytkownik edytuje, a następnie zapisuje dokument.
Pseudokod zestawu MIP SDK do wykonania tego zadania może wyglądać następująco:
- Utwórz obiekt
mip::FileHandler
wskazujący plik docelowy. - Przechowuj wartości
mip::ProtectionHandler
, które zostały uwidocznione przez metodęGetProtection()
obiektumip::FileHandler
. - Sprawdź, czy użytkownik ma uprawnienia EDIT , wywołując
AccessCheck()
metodę . - Użyj
mip::FileHandler
GetDecryptedTemporaryFileAsync()
alboGetDecryptedTemporaryStreamAsync()
, aby uzyskać tymczasowe odszyfrowane dane wyjściowe. - Edytuj plik tymczasowy lub zawartość strumienia i zapisz.
- Utwórz nowe
mip::FileHandler
wystąpienie wskazujące plik tymczasowy i użyjSetProtection()
metody , podając parametr przechowywanymip::ProtectionHandler
jako parametr. - Zatwierdź zmianę.
Używając mip::ProtectionHandler
z oryginalnego pliku, właściciel, identyfikator zawartości, klucz zawartości itp. będą zachowane w edytowanym dokumencie. Ten scenariusz ponownego publikowania wymaga, aby aplikacja utrzymywała odwołanie do oryginalnego .mip::ProtectionHandler
Implementacja
Jak wspomniano wcześniej, mip::FileHandler
klasa uwidacznia metody odczytywania, zapisywania i usuwania zarówno etykiet, jak i informacji o ochronie. Aby uzyskać pełną listę obsługiwanych operacji, zapoznaj się z dokumentacją programu mip::FileHandler.
W tym scenariuszu są używane następujące metody:mip::FileHandler
GetProtection()
CommitAsync()
GetDecryptedTemporaryFileAsync()
SetProtection()
W scenariuszu używany jest również mip::ProtectionHandler
, który uwidacznia funkcje szyfrowania i odszyfrowywania chronionych strumieni i buforów, przeprowadzania kontroli dostępu, uzyskiwania licencji publikowania oraz pobierania atrybutów z chronionych informacji. Metoda AccessCheck()
będzie używana do sprawdzania, czy użytkownik ma uprawnienia do edytowania pliku.
Aby pomyślnie ukończyć ten scenariusz ponownego włączania ochrony, zapoznaj się z przewodnikami Szybki start w obszarze "Następne kroki" i upewnij się, że aplikacja kompiluje i może pomyślnie wyświetlić listę etykiet.
Tworzenie programu obsługi ochrony na podstawie pliku i odszyfrowywanie pliku
mip::ProtectionHandler
Udostępnia funkcje szyfrowania i odszyfrowywania chronionych strumieni i buforów, przeprowadzania kontroli dostępu, uzyskiwania licencji publikowania oraz pobierania atrybutów z chronionych informacji.
mip::ProtectionHandler
obiekty są konstruowane przez podanie ProtectionDescriptor lub zserializowanej licencji publikowania. W tym przypadku użycia używalibyśmy w sposób niejawny licencji publikowania, gdy licencja publikowania jest stosowana podczas odszyfrowywania już chronionej zawartości lub ochrony zawartości, dla której licencja została już skonstruowana.
mip::FileHandler
Uwidacznia metodę o nazwie GetProtection()
, która pobiera mip::ProtectionHandler
z pliku skojarzonego z elementem mip::FileHandler
. Po pobraniu mip::ProtectionHandler
obiektu można użyć go do sprawdzania poprawności poziomów dostępu użytkownika dla pliku, odszyfrowywania pliku i późniejszego szyfrowania pliku po jego edycji.
mip::ProtectionHandler
AccessCheck()
Element jest używany do sprawdzania, czy użytkownik ma określone prawo do pliku i zwraca odpowiedź logiczną w zależności od wyniku. Aby na przykład sprawdzić, czy użytkownik ma uprawnienia do edycji, wywołaj metodę przekazującą wartość "EDIT". Jeśli wynik ma wartość true, zezwól użytkownikowi na edycję pliku. Po zweryfikowaniu prawa EDIT, użyj elementu GetDecryptedTemporaryFileAsync()
z mip::FileHandler
w celu pobrania tymczasowego odszyfrowanego pliku.
Aby uzyskać więcej informacji na temat różnych praw użytkownika, zapoznaj się z tematem Prawa użytkownika dla usługi Azure Information Protection.
Ważne
Kontrole dostępu i ich egzekwowanie należą wyłącznie do odpowiedzialności dewelopera aplikacji. Użytkownik z uprawnieniami VIEW może odszyfrować chronione informacje. Aplikacja musi zweryfikować zestaw praw udzielonych użytkownikowi i wymusić te prawa za pośrednictwem mechanizmów kontroli ochrony informacji, takich jak zapobieganie kopiowaniu, edytowaniu lub robieniu zrzutów ekranu. Nieprawidłowe wdrożenie mechanizmów kontroli ochrony może spowodować ujawnienie poufnych informacji.
Zapisz i opublikuj edytowany plik, stosując ochronę
Po odszyfrowaniu pliku można edytować plik. Po zakończeniu operacji edycji można zatwierdzać zmiany.
IFileHandler
Utwórz obiekt przy użyciu powyższego pliku tymczasowego do obsługi zatwierdzonego pliku. Plik tymczasowy można następnie chronić przy użyciu IProtectionHandler
obiektu pobranego z oryginalnego pliku.