servicePrincipal: addKey
名前空間: microsoft.graph
重要
Microsoft Graph の /beta
バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
servicePrincipal にキー資格情報を追加します。 このメソッドと removeKey を servicePrincipal で使用すると、期限切れのキーのローリングを自動化できます。
注:
servicePrincipal および Update servicePrincipal 操作を引き続き使用して、ユーザーのコンテキストの有無にかかわらず、servicePrincipal のキー資格情報を追加および更新できます。
このメソッドの要求検証の一環として、アクションを実行する前に、既存のキーの所有証明が検証されます。
既存の有効な証明書がない ServicePrincipals (つまり、証明書がまだ追加されていないか、すべての証明書の有効期限が切れています) は、このサービス アクションを使用できません。 Update servicePrincipal を使用して、代わりに更新を実行できます。
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、 アクセス許可のリファレンスを参照してください。
アクセス許可の種類 | 最小特権アクセス許可 | 特権の高いアクセス許可 |
---|---|---|
委任 (職場または学校のアカウント) | Application.ReadWrite.All | Directory.ReadWrite.All |
委任 (個人用 Microsoft アカウント) | サポートされていません。 | サポートされていません。 |
アプリケーション | Application.ReadWrite.OwnedBy | Application.ReadWrite.All, Directory.ReadWrite.All |
HTTP 要求
サービス プリンシパルは、 その ID または appId を使用してアドレス指定できます。 id と appId は、Microsoft Entra 管理センターのアプリ登録でそれぞれオブジェクト ID とアプリケーション (クライアント) ID と呼ばれます。
POST /servicePrincipals/{id}/addKey
POST /servicePrincipals(appId='{appId}')/addKey
要求ヘッダー
名前 | 説明 |
---|---|
Authorization | ベアラー {token}。 必須です。 認証と承認の詳細については、こちらをご覧ください。 |
Content-Type | application/json. 必須です。 |
要求本文
要求本文で、次の必須プロパティを指定します。
プロパティ | 型 | 説明 |
---|---|---|
keyCredential | keyCredential | 追加する新しい servicePrincipal キー資格情報。 この使用に必要なプロパティは、型、使用法、キーです。 サポートされているキーの種類は次のとおりです。
|
passwordCredential | passwordCredential | key のパスワードを含める必要がある設定が必要なのは secretText のみです。 このプロパティは、 型 X509CertAndPassword のキーにのみ必要です。 それ以外の場合は に null 設定します。 |
証拠 | String | 既存のキーの所有証明として使用される自己署名 JWT トークン。 この JWT トークンは、 servicePrincipal に関連付けられている既存の有効な証明書のいずれかに対応する秘密キーで署名する必要があります。 トークンには、次の要求を含める必要があります。
この所有証明トークンを生成する手順については、「 ローリング キーの所有証明トークンの生成」を参照してください。 |
応答
成功した場合、このメソッドは 200 OK
応答コードと、応答本文に新しい keyCredential オブジェクトを返します。
例
例 1: servicePrincipal に新しいキー資格情報を追加する
要求
次の例は要求を示しています。
POST https://graph.microsoft.com/beta/servicePrincipals/{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/beta/$metadata#microsoft.graph.keyCredential"
}
例 2: キーの資格情報と関連付けられたパスワードの追加
要求
次の例は要求を示しています。
POST https://graph.microsoft.com/beta/servicePrincipals/{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/beta/$metadata#microsoft.graph.keyCredential"
}