Microsoft Information Protection SDK — pojęcia dotyczące obiektów profilów i aparatu

Profile

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

Istnieją trzy typy profilów w zestawie MIP SDK:

Interfejs API używany w aplikacji korzystającej określa, która klasa profilu powinna być używana.

Sam profil zapewnia następujące funkcje:

  • Określa, czy stan powinien być załadowany w pamięci, czy utrwalone na dysku, a jeśli jest on utrwalone na dysku, powinien być zaszyfrowany.
  • Definiuje element mip::ConsentDelegate , który ma być używany do operacji wyrażania zgody.
  • Definiuje implementację mip::FileProfile::Observer , która będzie używana na potrzeby asynchronicznych wywołań zwrotnych dla operacji profilu.

Ustawienia profilu

  • MipContextMipContext: obiekt, który został zainicjowany do przechowywania informacji o aplikacji, ścieżki stanu itp.
  • CacheStorageType: definiuje sposób przechowywania stanu: w pamięci, na dysku lub na dysku i zaszyfrowane.
  • consentDelegate: współużytkowany wskaźnik klasy mip::ConsentDelegate.
  • observer: wskaźnik udostępniony do implementacji profilu Observer (w PolicyProfilesystemach , ProtectionProfilei FileProfile).
  • applicationInfomip::ApplicationInfo: obiekt. Informacje o aplikacji korzystającej z zestawu SDK zgodnego z identyfikatorem rejestracji i nazwą aplikacji Firmy Microsoft Entra.

Silniki

Aparaty zestawu SDK plików, profilu i ochrony udostępniają interfejs dla operacji wykonywanych przez określoną tożsamość. Jeden aparat jest dodawany do obiektu Profile dla każdego użytkownika lub jednostki usługi, który loguje się do aplikacji. Można wykonywać delegowane operacje za pośrednictwem programu mip::ProtectionSettings i programu obsługi plików lub ochrony. Aby uzyskać więcej informacji, zobacz sekcję Ustawienia ochrony w temacie FileHandler concepts (Pojęcia dotyczące programu FileHandler).

Istnieją trzy klasy aparatu w zestawie SDK, po jednym dla każdego interfejsu API. Na poniższej liście przedstawiono klasy aparatu i kilka funkcji skojarzonych z poszczególnymi funkcjami:

  • mip::ProtectionEngine
  • mip::PolicyEngine
    • ListSensitivityLabels(): Pobiera listę etykiet dla załadowanego aparatu.
    • GetSensitivityLabel(): pobiera etykietę z istniejącej zawartości.
    • ComputeActions(): Podany 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 mip::FileHandler element dla określonego pliku lub strumienia.

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

Stany aparatu

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

  • CREATED: Utworzono wskazuje, że zestaw SDK ma wystarczającą ilość informacji o stanie lokalnym po wywołaniu wymaganych usług zaplecza.
  • LOADED: Zestaw SDK utworzył wymagane struktury danych, aby aparat działał.

Aparat musi zostać utworzony i załadowany, aby wykonać dowolne operacje. Klasa Profile udostępnia kilka metod zarządzania aparatami: AddEngineAsync, DeleteEngineAsynci UnloadEngineAsync.

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

Stan aparatu BRAK UTWORZONO ZAŁADOWANY
BRAK AddEngineAsync
UTWORZONO DeleteEngineAsync AddEngineAsync
ZAŁADOWANY DeleteEngineAsync UnloadEngineAsync

Identyfikator aparatu

Każdy aparat ma unikatowy identyfikator , idktóry jest używany we wszystkich operacjach zarządzania aparatem. Aplikacja może dostarczyć element idlub zestaw SDK może go wygenerować, jeśli nie jest on dostarczany przez aplikację. Wszystkie inne właściwości aparatu (na przykład adres e-mail w informacjach o tożsamości) są nieprzezroczyste ładunki dla zestawu SDK. Zestaw SDK nie wykonuje żadnej logiki, aby zachować unikatowe żadne inne właściwości ani wymuszać żadnych innych ograniczeń.

Ważne

**Najlepszym rozwiązaniem jest użycie identyfikatora aparatu unikatowego dla użytkownika i użycie go za każdym razem, gdy użytkownik wykonuje operację z zestawem SDK. Nie można podać istniejącego, unikatowego identyfikatora aparatu dla użytkownika lub usługi spowoduje dodatkowe rundy usług. Te rundy usług mogą spowodować obniżenie wydajności i ograniczenie przepustowoś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 aparatem

Jak wspomniano wcześniej, w zestawie SDK istnieją trzy metody zarządzania aparatami: AddEngineAsync, DeleteEngineAsynci UnloadEngineAsync.

AddEngineAsync

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

Jeśli aplikacja nie udostępnia elementu id in FileEngineSettings, AddEngineAsync generuje nowy idelement . Następnie sprawdza, czy aparat z tym id już istnieje w lokalnej pamięci podręcznej magazynu. Jeśli tak, ładuje ten silnik. Jeśli aparat nie istnieje w lokalnej pamięci podręcznej, zostanie utworzony nowy aparat przez wywołanie niezbędnych interfejsów API i usług zaplecza.

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

DeleteEngineAsync

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

UnloadEngineAsync

Zwalnia struktury danych w pamięci dla aparatu przy użyciu danego idelementu . Stan lokalny tego aparatu jest nadal nienaruszony i można go ponownie załadować za pomocą polecenia AddEngineAsync.

Ta metoda pozwala aplikacji być rozsądnie na temat użycia pamięci, zwalniając aparaty, które nie powinny być używane wkrótce.

Następne kroki