クイックスタート: 秘密度ラベルの一覧表示 (C#)

このクイックスタートでは、MIP File SDK を使用して、組織用に構成された秘密度ラベルを一覧表示する方法について説明します。

前提条件

先に進む前に、次の前提条件をまだ実行していない場合は完了してください。

秘密度ラベルを一覧表示するロジックを追加する

ファイル エンジン オブジェクトを使用して、組織の秘密度ラベルを一覧表示するロジックを追加します。

  1. 前の「クイックスタート: クライアント アプリケーションの初期化 (C#)」の記事で作成した Visual Studio ソリューションを開きます。

  2. ソリューション エクスプローラーを使用して、Main() メソッドの実装を含むプロジェクトの .cs ファイルを開きます。 既定の名前は、それが含まれるプロジェクトと同じであり、プロジェクトの作成時に指定したものです。

  3. Main() 本体の末尾付近の Main() 関数のアプリケーションのシャットダウン セクションの上 (前のクイックスタートを終えた場所) に、次のコードを挿入します。

// List sensitivity labels from fileEngine and display name and id
foreach(var label in fileEngine.SensitivityLabels)
{
    Console.WriteLine(string.Format("{0} : {1}", label.Name, label.Id));

    if (label.Children.Count != 0)
    {
        foreach (var child in label.Children)
        {
            Console.WriteLine(string.Format("{0}{1} : {2}", "\t",child.Name, child.Id));
        }
    }
}

アプリケーションのビルドとテスト

最後に、クライアント アプリケーションをビルドしてテストします。

  1. Ctrl + Shift + B キー ([ソリューションのビルド]) を使用して、クライアント アプリケーションをビルドします。 ビルド エラーがない場合は、F5 キー ([デバッグの開始]) を使用してアプリケーションを実行します。

  2. プロジェクトが正常にビルドされて実行された場合、SDK から AcquireToken() メソッドが呼び出されるたびに、アプリケーションで Microsoft 認証ライブラリ (MSAL) を使用した認証を求めるダイアログが表示される "場合があります"。 キャッシュされた資格情報が既に存在する場合は、サインインするように求められてラベルの一覧が表示されることはありません。

    Visual Studio acquire token sign-in

    • サインイン アカウントでの実行中に、アプリケーションで MIP API にアクセスできるようにすることについての同意を求められることもあります。 これは、Microsoft Entra アプリケーションの登録が (「MIP SDK のセットアップと構成」での概説どおりに) 事前に同意されていないか、別の (アプリケーションの登録先とは異なる) テナントのアカウントでサインインしているときに発生します。 [同意] をクリックして、同意を記録します。

      Visual Studio consent

  3. 認証されると、コンソール出力に、次の例のような秘密度ラベルが表示されます。

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.

Note

1 つ以上の秘密度ラベルの ID (f42a3342-8706-4288-bd31-ebb85995028z など) をコピーして保存しておいてください。次のクイックスタートで使用します。

トラブルシューティング

C# アプリケーションの実行中の問題

まとめ エラー メッセージ 解決策
不正なアクセス トークン An exception occurred... is the access token incorrect/expired? (例外が発生しました... アクセス トークンが正しくないか、有効期限が切れている可能性があります)

Failed API call: profile_add_engine_async Failed with: [class mip::PolicySyncException] Failed acquiring policy, Request failed with http status code: 401, x-ms-diagnostics: [2000001;reason="OAuth token submitted with the request cannot be parsed.";error_category="invalid_token"], correlationId:[35bc0023-3727-4eff-8062-000006d5d672]' (API 呼び出しに失敗しました: profile_add_engine_async 失敗した原因: [class mip::PolicySyncException] ポリシーの取得中にエラーが発生しました。要求が次の http 状態コードで失敗しました: 401、x-ms-diagnostics: [2000001;理由="要求と共に送信された OAuth トークンを解析できません。";error_category="invalid_token"], correlationId:[35bc0023-3727-4eff-8062-000006d5d672]')

C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (process 29924) exited with code 0. (C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (process 29924) がコード 0 で終了しました。)

Press any key to close this window. (このウィンドウを閉じるには、任意のキーを押してください) 。 。
プロジェクトは正常にビルドされたが、左記のような出力が表示された場合は、おそらく、AcquireOAuth2Token() メソッドのトークンが無効であるか、有効期限が切れています。 「アプリケーションをビルドしてテストする」に戻ってアクセス トークンを再生成し、もう一度 AcquireOAuth2Token() を更新してから、リビルドと再テストを行います。 jwt.ms シングルページ Web アプリケーションを使用して、トークンとそのクレームを確認および検証することもできます。
秘密度ラベルが構成されていない 該当なし プロジェクトが正常にビルドされたが、コンソール ウィンドウに出力がない場合は、組織の秘密度ラベルが正しく構成されていることを確認します。 詳細については、「MIP SDK のセットアップと構成」の "ラベル分類と保護設定の定義" に関する説明を参照してください。

次のステップ

組織の秘密度ラベルを一覧表示する方法を学習しました。次のクイックスタートにお進みください。