zestaw SDK Microsoft Information Protection — koncepcje obiektu Profile i Engine

Profile

Gdzie jest klasa przechowywania ustawień specyficznych dla zestawu SDK, profil jest klasą główną dla wszystkich operacji z etykietami i ochroną miP w zestawie MipContext SDK miP. Przed użyciem dowolnego z trzech zestawów interfejsu API aplikacja klienckia musi utworzyć profil. Przyszłe operacje są wykonywane przez profil lub inne obiekty dodane do profilu. Zalecany jest tylko jeden obiekt profilu na proces. Utworzenie więcej niż jednego może spowodować nieoczekiwane zachowanie.

Zestaw SDK miP ma trzy typy profilów:

Interfejs API używany w aplikacji, która będzie używana, określa, która klasa profilu ma być używana.

Sam profil udostępnia następujące funkcje:

  • Określa, czy stan ma być ładowany w pamięci, czy trwały na dysku, czy trwały na dysku, czy zaszyfrowany.
  • Definiuje to, mip::ConsentDelegate które mają być używane na podstawie operacji zgody.
  • Definiuje mip::FileProfile::Observer implementację, która będzie używana do asynchronicznych wywołań w przypadku operacji profilu.

Profil Ustawienia

  • MipContext: MipContext Obiekt, który został zainicjowany w celu przechowywania informacji o aplikacji, ścieżka województwa itp.
  • CacheStorageType: Definiuje sposób przechowywania stanu: W pamięci, na dysku lub na dysku i zaszyfrowany.
  • consentDelegate: Udostępniony wskaźnik zajęć mip::ConsentDelegate .
  • observer: Udostępniony wskaźnik implementacji Observer profilu (w PolicyProfile , i ProtectionProfileFileProfile ).
  • applicationInfo: mip::ApplicationInfo obiekt. Informacje o aplikacji, która konsumuje zestaw SDK, który jest Azure Active Directory identyfikatora i nazwy rejestracji aplikacji.

Aparaty

Aparaty SDK Plik, Profil i Ochrona zapewniają interfejs dla operacji wykonywanych przez określoną tożsamość. Jeden aparat jest dodawany do obiektu Profile dla każdego użytkownika lub podmiotu zabezpieczeń usługi, który się insekwuje do aplikacji. Operacje delegowane można wykonywać za pośrednictwem programu obsługi plików mip::ProtectionSettings lub ochrony. Aby uzyskać więcej szczegółowych informacji, zobacz sekcję ustawień ochrony w pojęciach obsługi plików.

Zestaw SDK ma trzy klasy aparatów, po jednym dla każdego interfejsu API. Na poniższej liście przedstawiono klasy aparatów oraz kilka funkcji skojarzonych z każdą z nich:

  • mip::ProtectionEngine
  • mip::PolicyEngine
    • ListSensitivityLabels(): pobiera listę etykiet dla załadowanego aparatu.
    • GetSensitivityLabel(): pobiera etykietę z istniejącej zawartości.
    • ComputeActions(): Razem z identyfikatorem etykiety i opcjonalnymi metadanymi zwraca listę akcji, które powinny wystąpić dla określonego elementu.
  • mip::FileEngine
    • ListSensitivityLabels(): pobiera listę etykiet dla załadowanego aparatu.
    • CreateFileHandler(): tworzy określony mip::FileHandler plik lub strumień.

Tworzenie aparatu wymaga podania określonego obiektu ustawień aparatu zawierającego ustawienia typu aparatu, który ma zostać utworzony. Obiekt settings umożliwia deweloperowi określenie szczegółów dotyczących identyfikatora aparatu, implementacji, ustawień regionalnych i niestandardowych, a także innych szczegółów specyficznych dla mip::AuthDelegate interfejsu API.

Stany aparatów

Aparat może mieć jeden z dwóch stanów:

  • CREATEDUtworzono wskazuje, że zestaw SDK zawiera wystarczającą ilość informacji o stanie lokalnym po wywołaniu wymaganych usług zaplecza.
  • LOADED: Zestaw SDK sbudowył struktury danych wymagane do działania aparatu.

Aby wykonać wszystkie operacje, należy zarówno utworzyć aparat, jak i załadować go. Klasa Profile udostępnia kilka metod zarządzania AddEngineAsync aparatem: DeleteEngineAsync , i UnloadEngineAsync .

W poniższej tabeli opisano możliwe stany aparatów oraz metody, które mogą zmienić ten stan:

Stan aparatu NONE UTWORZONO ZAŁADOWANO
NONE AddEngineAsync
UTWORZONO DeleteEngineAsync AddEngineAsync
ZAŁADOWANO DeleteEngineAsync UnloadEngineAsync

Identyfikator aparatu

Każdy aparat ma id identyfikator unikatowy, który jest używany we wszystkich operacjach zarządzania aparatem. Aplikacja może dostarczyć kod lub zestaw SDK może go wygenerować, jeśli nie jest on id dostarczony przez aplikację. Wszystkie pozostałe właściwości aparatu (na przykład adres e-mail w informacjach o tożsamości) są nieprzezroczystymi ładami dla zestawu SDK. Zestaw SDK NIE wykonuje żadnej logiki w celu zachowania unikatowości innych właściwości ani nie wymusza żadnych innych ograniczeń.

Ważne

**Najlepszym rozwiązaniem jest użycie unikatowego dla użytkownika identyfikatora aparatu i używanie go za każdym razem, gdy użytkownik wykonuje operację z zestawem SDK. W przypadku braku podania istniejącego, unikatowego identyfikatoru engineId dla użytkownika lub usługi spowoduje dodatkowe odjęcie rundy usługi. Te odejmowania usług mogą skutkować obniżeniem wydajności i ograniczeniem wydajności. **

// Create the FileEngineSettings object
FileEngine::Settings engineSettings(mip::Identity(mUsername), // This will be the engine ID. UPN, email address, or other unique user identifiers are recommended. 
													          mAuthDelegate,            // authDelegate implementation 
													          "",                       // ClientData
													          "en-US",                  // Client Locale
                                    false);                   // Load Sensitive Information Types

Metody zarządzania aparatami

Jak wspomniano wcześniej, zestaw SDK oferuje trzy metody zarządzania aparatami: AddEngineAsyncDeleteEngineAsync , i UnloadEngineAsync .

AddEngineAsync

Ta metoda ładuje istniejący aparat lub tworzy go, jeśli jeszcze nie istnieje w stanie lokalnym.

Jeśli aplikacja nie udostępni w id programie FileEngineSettings , AddEngineAsync wygeneruje nowy id . Następnie sprawdza, czy aparat, który już istnieje id w lokalnej pamięci podręcznej magazynu. Jeśli tak się stanie, ładowany jest ten aparat. Jeśli aparat nie istnieje w lokalnej pamięci podręcznej, nowy aparat jest tworzony przez wywoływanie niezbędnych interfejsów API i usług zaplecza.

W obu przypadkach, jeśli metoda się powiedzie, aparat zostanie załadowany i gotowy do użycia.

DeleteEngineAsync

Usuwa aparat z danym id . Wszystkie śledzenia aparatu są usuwane z lokalnej pamięci podręcznej.

UnloadEngineAsync

Zwalnia struktury danych w pamięci aparatu z podaną . id Stan lokalny tego aparatu pozostaje nienaruszony i można go ponownie załadować za pomocą AddEngineAsync .

Ta metoda pozwala aplikacji rozsyłać dane o użyciu pamięci przez aparaty zwalniania, które nie powinny być wkrótce używane.

Następne kroki