Szybki start: ustawianie i uzyskiwanie etykiety poufności (C#)

W tym przewodniku Szybki start pokazano, jak używać większej liczby zestawów SDK plików MIP. Korzystając z jednej z etykiet poufności wymienionych w poprzednim przewodniku Szybki start, program obsługi plików służy do ustawiania/pobierania etykiety w pliku. Klasa obsługi plików uwidacznia różne operacje ustawiania/pobierania etykiet lub ochrony dla obsługiwanych typów plików.

Wymagania wstępne

Jeśli jeszcze tego nie zrobiono, przed kontynuowaniem upewnij się, że zostały spełnione następujące wymagania wstępne:

Dodawanie logiki do ustawiania i uzyskiwania etykiety poufności

Dodaj logikę, aby ustawić i uzyskać etykietę poufności w pliku przy użyciu obiektu Aparat plików.

  1. Za pomocą Eksplorator rozwiązań otwórz plik cs w projekcie zawierający implementację metody Main()". Domyślnie ma taką samą nazwę jak projekt zawierający go, który został określony podczas tworzenia projektu.

  2. W kierunku końca treści po komentarzu Main()//Application Shutdown i var fileEngine = powyżej komentarza wstaw następujący kod:

      //Set paths and label ID
      string inputFilePath = "<input-file-path>";
      string actualFilePath = inputFilePath;
      string labelId = "<label-id>";
      string outputFilePath = "<output-file-path>";
      string actualOutputFilePath = outputFilePath;
    
      //Create a file handler for that file
      //Note: the 2nd inputFilePath is used to provide a human-readable content identifier for admin auditing.
      var handler = Task.Run(async () => await fileEngine.CreateFileHandlerAsync(inputFilePath, actualFilePath, true)).Result;
    
      //Set Labeling Options
      LabelingOptions labelingOptions = new LabelingOptions()
      {
           AssignmentMethod = AssignmentMethod.Standard
      };
    
      // Set a label on input file
      handler.SetLabel(fileEngine.GetLabelById(labelId), labelingOptions, new ProtectionSettings());
    
      // Commit changes, save as outputFilePath
      var result = Task.Run(async () => await handler.CommitAsync(outputFilePath)).Result;
    
      // Create a new handler to read the labeled file metadata
      var handlerModified = Task.Run(async () => await fileEngine.CreateFileHandlerAsync(outputFilePath, actualOutputFilePath, true)).Result;
    
      // Get the label from output file
      var contentLabel = handlerModified.Label;
      Console.WriteLine(string.Format("Getting the label committed to file: {0}", outputFilePath));
      Console.WriteLine(string.Format("File Label: {0} \r\nIsProtected: {1}", contentLabel.Label.Name, contentLabel.IsProtectionAppliedFromLabel.ToString()));
      Console.WriteLine("Press a key to continue.");
      Console.ReadKey();
    
  3. Na końcu znajdowania bloku zamykania aplikacji utworzonego w pierwszym przewodniku Main() Szybki start i usuń komentarz z wiersza procedury obsługi:

    // Application Shutdown
    handler = null;
    fileEngine = null;
    fileProfile = null;
    mipContext = null;
    
  4. Zastąp wartości symboli zastępczych w kodzie źródłowym przy użyciu następujących wartości:

    Symbol zastępczy Wartość
    <input-file-path> Pełna ścieżka do pliku wejściowego testu, na przykład: c:\\Test\\Test.docx.
    <label-id> Identyfikator etykiety poufności skopiowany z danych wyjściowych konsoli w poprzednim przewodniku Szybki start, na przykład: f42a3342-8706-4288-bd31-ebb85995028z.
    <output-file-path> Pełna ścieżka do pliku wyjściowego, który będzie etykietą kopii pliku wejściowego, na przykład: c:\\Test\\Test_labeled.docx.

Kompilowanie i testowanie aplikacji

Skompiluj i przetestuj aplikację kliencą.

  1. Użyj klawiszy CTRL-SHIFT-B (rozwiązanie kompilacji), aby skompilować aplikację kliencą. Jeśli nie masz błędów kompilacji, użyj klawisza F5 (Rozpocznij debugowanie), aby uruchomić aplikację.

  2. Jeśli projekt kompiluje i uruchamia się pomyślnie, aplikacja może monitować o uwierzytelnienie za pośrednictwem biblioteki ADAL za każdym razem, gdy zestaw SDK wywołuje metodę AcquireToken() . Jeśli buforowane poświadczenia już istnieją, nie zostanie wyświetlony monit o zalogowanie się i wyświetlenie listy etykiet, a następnie informacje o zastosowanej etykiecie i zmodyfikowanym pliku.

Personal : 73c47c6a-eb00-4a6a-8e19-efaada66dee6
Public : 73254501-3d5b-4426-979a-657881dfcb1e
General : da480625-e536-430a-9a9e-028d16a29c59
Confidential : 569af77e-61ea-4deb-b7e6-79dc73653959
      Recipients Only (C) : d98c4267-727b-430e-a2d9-4181ca5265b0
      All Employees (C) : 2096f6a2-d2f7-48be-b329-b73aaa526e5d
      Anyone (not protected) (C) : 63a945ec-1131-420d-80da-2fedd15d3bc0
Highly Confidential : 905845d6-b548-439c-9ce5-73b2e06be157
      Recipients Only : 05ee72d9-1a75-441f-94e2-dca5cacfe012
      All Employees : 922b06ef-044b-44a3-a8aa-df12509d1bfe
      Anyone (not protected) : c83fc820-961d-40d4-ba12-c63f72a970a3
Press a key to continue.

 Applying Label ID 074e457c-5848-4542-9a6f-34a182080e7z to c:\Test\Test.docx
 Committing changes

 Label committed to file: c:\Test\Test_labeled.docx
 Press any key to continue.

 Getting the label committed to file: c:\Test\Test_labeled.docx
 File Label: Confidential
 IsProtected: false   
 Press any key to continue.

Aplikację etykiety można zweryfikować, otwierając plik wyjściowy i sprawdzając wizualnie ustawienia ochrony informacji dokumentu.

Uwaga

Jeśli oznaczasz dokument pakietu Office, ale nie logujesz się przy użyciu konta z dzierżawy firmy Microsoft Entra, w której uzyskano token dostępu (i skonfigurowano etykiety poufności), może zostać wyświetlony monit o zalogowanie się, zanim będzie można otworzyć dokument oznaczony etykietą.