0

このドキュメントhttps://docs.microsoft.com/en-us/graph/api/trustframework-に従って、グラフ API を使用して、カスタム ポリシー (その部分は機能しています) と関連するポリシー キーをアップロードするコンソール アプリを開発しています。 post-keysets?view=graph-rest-beta&tabs=http#example-2-create-a-keyset-with-a-key

リクエスト:

URL: https://graph.microsoft.com/beta/trustFramework/keySets
Headers: Content-Type = application/json, Authorization = Bearer eyJ0e...Mca9g
Payload: {
  "id":"Test3AADSecret",
  "keys":
  [
    {
      "use":"sig",
      "k":"A1B2C3D4E5F6G7H8I9J10K11L12M13N14O15P16Q17R18S19T20U21V22W23X24Y25Z26",
      "nbf":1644941414,
      "exp":4070908800
    }
  ]
}

keys プロパティを空の配列に設定すると、リクエストが機能します。ただし、keys プロパティにキーを含めようとすると (上記の例のように)、この応答ペイロードで 400 Bad Request ステータスが返されます。

{
  "error":
  {
    "code":"AADB2C",
    "message":"The 'keySet' field is invalid in request. Please check the request body and parameters.",
    "innerError":
    {
      "correlationId":"ee3aa070-a5a7-4c52-96b7-f0a9471fba63",
      "date":"2022-02-15T16:27:36",
      "request-id":"ad5dba0f-595a-4f94-ade2-fec2357bcb55",
      "client-request-id":"ad5dba0f-595a-4f94-ade2-fec2357bcb55"
    }
  }
}

私が github で見つけることができる唯一の問題は、GraphServiceClient C# クラス (Graph API ではない) を使用してキーを持つキーセットを作成することに関連しており、その問題は解決されました (解決済み) https://github.com/microsoftgraph/msgraph-beta- SDK-dotnet/issues/67

Microsoft.Graph nuget パッケージ (4.18.0) の最新バージョンをインストールしようとしましたが、ここから C# の例をたどることができませんhttps://docs.microsoft.com/en-us/graph/api/trustframework- post-keysets?view=graph-rest-beta&tabs=csharp#requestは、TrustFrameworkKeySet クラスがなく、GraphServiceClient に TrustFramework の定義が含まれていないためです。これらのギャップを埋めるために、nuget と google で他の nuget パッケージを検索してみましたが、何も見つかりませんでした。

はい、空のキー配列でhttps://graph.microsoft.com/beta/trustFramework/keySets API を呼び出してから、 https://graph.microsoft.com/beta/trustFramework/keySetsへの 2 回目の呼び出しを行うことができます。 /{id}/uploadSecretを使用して、キーを ketset に追加します。しかし、これを行うと、2 つのポリシー キーが作成され、そのうちの 1 つは名前に .bak 拡張子が付きます。

なので質問が多いです

  1. キー配列内のキーを使用して Graph API を呼び出すときに、何か問題がありますか?
  2. GraphServiceClient C# クラスの nuget パッケージがありませんか? もしそうなら、どこでそれらを見つけることができますか?
  3. 空のキーセットを作成した後、別の API 呼び出しでキーを追加しようとしたときに、2 番目のポリシー キー (.bak ファイル) が表示されないようにするにはどうすればよいですか?

これらのアプローチの少なくとも 1 つを達成するのを手伝ってくれたら、事前に感謝します。

4

0 に答える 0