fido2AuthenticationMethod を作成する

名前空間: microsoft.graph

ユーザーの新しい fido2AuthenticationMethod オブジェクトを作成します。 この API は、WebAuthn 登録式の一部として FIDO2 セキュリティ キー (パスキー) の登録を完了します。

Passkey 登録フロー:

  1. creationOptions 関数を呼び出して、Microsoft Entra IDから WebAuthn 資格情報の作成オプションを取得します。
  2. 返されたオプションを使用して、WebAuthn API を使用してブラウザーまたは認証子に新しい資格情報を作成します。
  3. 結果の公開キー資格情報をこの API に投稿して登録を完了します。

注:

この API には、次の既知の問題があります。

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。

アクセス許可の種類 最小特権アクセス許可 より高い特権のアクセス許可
委任 (職場または学校のアカウント) UserAuthMethod-Passkey.ReadWrite.All UserAuthenticationMethod.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション UserAuthMethod-Passkey.ReadWrite.All UserAuthenticationMethod.ReadWrite.All

重要

サインインしているユーザーが別のユーザーを操作している職場または学校アカウントを使用して委任されたアクセスを行うには、サポートされているMicrosoft Entraロールまたはこの操作に必要なアクセス許可を付与するカスタム ロールを割り当てる必要があります。 この操作では、必要最小限の特権のみを提供する次の組み込みロールがサポートされています。

  • 認証管理者
  • 特権認証管理者

ユーザーが独自の認証方法を管理すると、現在のセッションで最後に 10 分以上前に認証された場合に多要素認証 (MFA) を完了するように求められます。

HTTP 要求

注:

/me エンドポイントの呼び出しにはサインインしているユーザーが必要であり、そのため委任されたアクセス許可が必要です。 /me エンドポイントを使用する場合、アプリケーションのアクセス許可はサポートされません。

POST /users/{id}/authentication/fido2Methods
POST /me/authentication/fido2Methods

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
Content-Type application/json. 必須です。

要求本文

要求本文で、 fido2AuthenticationMethod オブジェクトの JSON 表現を指定します。

fido2AuthenticationMethod を作成するときに、次のプロパティを指定できます。

プロパティ 説明
displayName 文字列 FIDO2 セキュリティ キーの表示名。 省略可能。
publicKeyCredential webauthnPublicKeyCredential 認証子が作成した WebAuthn 公開キー資格情報。 RFC 4648 セクション 5 で定義されているように、 Base64URL はパディングなしですべてのバイナリ データをエンコードします。 このエンコードは、資格情報 IDclientDataJSON、および attestationObject プロパティに 適用されます。 必須です。

応答

成功した場合、このメソッドは応答コード 201 Created と、応答本文に fido2AuthenticationMethod オブジェクトを返します。

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/v1.0/users/99a1915f-70a7-4b67-9dca-64095b41be73/authentication/fido2Methods
Content-Type: application/json

{
  "@odata.type": "#microsoft.graph.fido2AuthenticationMethod",
  "displayName": "My security key",
  "publicKeyCredential": {
    "@odata.type": "#microsoft.graph.webauthnPublicKeyCredential",
    "id": "OEVEMkQzNTctNzNEMi00RjEzLTk5MjYtODdGNjFCMjRBMzQy",
    "response": {
      "@odata.type": "#microsoft.graph.webauthnAuthenticatorAttestationResponse",
      "clientDataJSON": "eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiUVRVMU16TkROekF0TmtNM05pMDBOVFJETFVKRFEwWXRSVFJFTURaQ05UQkZSVFJFIiwib3JpZ2luIjoiaHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tIiwiY3Jvc3NPcmlnaW4iOmZhbHNlfQ",
      "attestationObject": "o2NmbXRkbm9uZWdhdHRTdG10oGhhdXRoRGF0YVikSZYN5YgOjGh0NBcPZHZgW4/krrmihjLHmVzzuoMdl2NdAAAAALraVWanqkAfvZZFYZpVEg0AIDhFRDJEMzU3LTczRDItNEYxMy05OTI2LTg3RjYxQjI0QTM0MqUBAgMmIAEhWCAMKJ7T4r8w5F6JGxJLJXNR0hV1MZF1aZ1F0pZXq5p5"
    },
    "clientExtensionResults": {
      "@odata.type": "#microsoft.graph.webauthnAuthenticationExtensionsClientOutputs"
    }
  }
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@odata.type": "#microsoft.graph.fido2AuthenticationMethod",
  "id": "73e4b2c6-8a2f-4d3e-9b1a-5c7d8e9f0a1b",
  "displayName": "My security key",
  "createdDateTime": "2026-04-20T10:15:30Z",
  "aaGuid": "de1e552d-db1d-4423-a619-566b625cdc84",
  "model": "Security Key NFC by Yubico",
  "attestationCertificates": [],
  "attestationLevel": "attested",
  "passkeyType": "deviceBound"
}