application: addKey

名前空間: microsoft.graph

アプリケーションにキー資格情報を追加 します。 このメソッドは、 removeKey と共に、アプリケーションが期限切れのキーのローリングを自動化するために使用できます。

注意

アプリケーションの作成アプリケーションの更新 操作を引き続き使用して、ユーザーのコンテキストを使用するアプリケーションのキー資格情報を追加および更新できます。

このメソッドの要求検証の一環として、アクションを実行する前に、既存のキーの所有証明が検証されます。

既存の有効な証明書がないアプリケーション (まだ証明書が追加されていない、またはすべての証明書の有効期限が切れている) は、このサービス アクションを使用できません。 代わりに、アプリケーションの更新操作を使用して更新を行うことができます。

アクセス許可

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) なし。
委任 (個人用 Microsoft アカウント) なし。
アプリケーション なし。

注意

アプリケーションは、独自のキーをロールするための特定のアクセス許可を必要とします。

HTTP 要求

POST /applications/{id}/addKey

要求ヘッダー

名前 説明
Authorization ベアラー {token}。必須。
Content-Type application/json. Required.

要求本文

要求本文で、次の必須プロパティを指定します。

プロパティ 種類 説明
keyCredential keyCredential 追加する新しいアプリケーション キー資格情報。 この 使用法に____必要な____プロパティは、型、使用法、およびキーです。 サポートされているキーの種類は次のとおりです。
  • AsymmetricX509Cert: 使用法は、 である必要があります Verify
  • X509CertAndPassword: 使用法は次の値である必要があります。 Sign
passwordCredential passwordCredential シークレット テキストのみを 設定する必要があります。キーのパスワードを含む必要があります。 このプロパティは、型のキーにのみ必要です X509CertAndPassword。 それ以外の場合は null 設定します。
proof 文字列 既存のキーの所有証明として使用される自己署名証明書の JWT トークン。 この JWT トークンは、アプリケーションの既存の有効な証明書の 1 つの秘密キーを使用して署名される必要があります。 トークンには、次の要求を含める必要があります。
  • aud - 対象ユーザーは 00000002-0000-0000-c000-000000000000 である必要があります。
  • iss - 発行者は、呼び出しを行っているアプリケーションの ID を持っている必要があります。
  • nbf - 時間前ではないこと。
  • exp - 有効期限は "nbf" + 10 分にする必要があります。

この所有証明 トークンを 生成するために使用できるコード サンプルを次に示します。 クレームの種類の詳細については、「 Claims payload」を参照してください

応答

成功した場合、このメソッドは応答 200 OK コードと、応答本文の 新しい keyCredential オブジェクトを返します。

例 1: アプリケーションに新しいキー資格情報を追加する

要求

要求の例を次に示します。

POST https://graph.microsoft.com/v1.0/applications/{id}/addKey
Content-type: application/json

{
    "keyCredential": {
        "type": "AsymmetricX509Cert",
        "usage": "Verify",
        "key": "MIIDYDCCAki..."
    },
    "passwordCredential": null,
    "proof":"eyJ0eXAiOiJ..."
}

応答

応答の例を次に示します。

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.keyCredential"
}

例 2: キーの資格情報と関連するパスワードを追加する

要求

要求の例を次に示します。

POST https://graph.microsoft.com/v1.0/applications/{id}/addKey
Content-type: application/json

{
    "keyCredential": {
        "type": "X509CertAndPassword",
        "usage": "Sign",
        "key": "MIIDYDCCAki..."
    },
    "passwordCredential": {
        "secretText": "MKTr0w1..."
    },
    "proof":"eyJ0eXAiOiJ..."
}

応答

応答の例を次に示します。

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.keyCredential"
}