> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# データベース接続のパスキー認証

> 従来の認証方法に比べて利点のある、フィッシング耐性を備えた WebAuthn デバイス認証情報であるパスキーの Auth0 における実装について説明します。

export const ReleaseStageNotice = ({feature, stage, plans, contact, terms}) => {
  const stageTextMap = {
    "beta": "ベータ",
    "ea": "早期アクセス"
  };
  const stageText = stageTextMap[stage] || "製品リリース段階";
  const prsLink = "/docs/troubleshoot/product-lifecycle/product-release-stages";
  const linkify = (text, url) => {
    return <a href={url} target="_blank" rel="noreferrer" class="link">{text}</a>;
  };
  const includeDetails = (plans, contact, terms) => {
    const hasDetails = terms || plans || contact;
    if (!hasDetails) return null;
    return <span data-as="p">
            {plans && <>この機能は、{linkify(`${plans}プラン`, "https://auth0.com/pricing")}で利用できます。 </>}
            {contact && "参加するには、" + contact + " までお問い合わせください。 "}
            {terms && <>この機能を使用すると、Okta の{linkify("Master Subscription Agreement", "https://www.okta.com/legal")}に定める該当する無料トライアル条件に同意したものとみなされます。</>}
        </span>;
  };
  return <Warning>
            <span data-as="p">
                <strong>{feature} 機能は現在、{linkify(stageText, prsLink)}です。</strong>
            </span>

            {includeDetails(plans, contact, terms)}
        </Warning>;
};

パスキーは、[FIDO2 (WebAuthn および CTAP) 標準](https://en.wikipedia.org/wiki/WebAuthn)に基づく、安全なパスワードレス認証方法です。従来の ID/パスワード認証と比べて、次のような利点があります。

* **パスキーを使用すると、ユーザーは生体認証やデバイスに紐付いた認証情報** (指紋、PIN、パターンなど) で認証できるため、ログインがより迅速になり、パスワードを覚えておく必要もありません。

* **パスキーは認証情報をデバイス間で同期できるため**、ユーザーは新しいデバイスごとに再登録する必要がありません。

* **パスキーはフィッシングに強いという特長があります**。公開鍵暗号方式を使用するため共有シークレットが存在せず、さらにユーザーのデバイスがアカウントごとに一意の鍵を生成するためです。

* **パスキーは、より確実な復旧を可能にします**。保存された認証情報は、元のデバイスを紛失しても引き続き利用できるためです。

* **パスキーは認証情報を特定のドメインに紐付けるため**、ユーザーは 1 つのパスキーでドメイン全体にわたって認証できます。

パスキーの詳細については、[FIDO Alliance のパスキー概要](https://fidoalliance.org/passkeys)を参照してください。

<div id="about-passkeys-on-auth0">
  ## Auth0 のパスキーについて
</div>

Auth0 では、アプリケーションの種類に応じて、データベース接続の認証方法としてパスキーを次の 3 つの方法で実装できます。

* Web ベースのアプリケーション向けの Universal Login パスキー
* [Embedded Login を使用するネイティブアプリケーション](/ja/docs/authenticate/passwordless/implement-login/embedded-login/native)
* [Android および iOS アプリケーション向けのネイティブパスキー](/ja/docs/authenticate/database-connections/passkeys/native-passkeys-for-mobile-applications)

Auth0 では、ユーザー 1 人あたり最大 20 個のパスキーを登録できます。

データベース接続でパスキーを有効にすると、ユーザーはサインアップ時とログイン時にパスキーを利用できるようになります。

<AccordionGroup>
  <Accordion title="サインアップフローのプレビュー">
    <Steps>
      <Step title="サインアップ UI でユーザーにメールアドレスの入力を求めます。">
        <Frame>
          <img src="https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/5SlpzscSseNOuJlvhOgBqr/318d95254ef48197a32e58c92be00d2b/signup-passkey_default.png?fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=042103b55ad9900294b1c5b79490e328" alt="" width="402" height="422" data-path="docs/images/cdy7uua7fh8z/5SlpzscSseNOuJlvhOgBqr/318d95254ef48197a32e58c92be00d2b/signup-passkey_default.png" />
        </Frame>

        ユーザーはメールアドレスを入力し、**Continue** を選択します。
      </Step>

      <Step title="サインアップ UI でユーザーにパスキーの使用を促します。">
        <Frame>
          <img src="https://mintcdn.com/translations/c0RQ9V0YAcT0-8l5/docs/images/cdy7uua7fh8z/7vZK4q4iUtxyld1Os6og4s/c6df982f684824ef9f11a7ef9a477700/Passkeys_-_UL_-_English.png?fit=max&auto=format&n=c0RQ9V0YAcT0-8l5&q=85&s=8fc9098a5d845fe096fc4edc74d75ede" alt="" width="494" height="769" data-path="docs/images/cdy7uua7fh8z/7vZK4q4iUtxyld1Os6og4s/c6df982f684824ef9f11a7ef9a477700/Passkeys_-_UL_-_English.png" />
        </Frame>

        ユーザーは **Create a passkey** を選択します。
      </Step>

      <Step title="ユーザーの認証情報マネージャーで、パスキーの作成を求められます。">
        <Frame>
          <img src="https://mintcdn.com/translations/mMSz-RNYLuOm2GmQ/docs/images/cdy7uua7fh8z/IsWmSXNHc2fvRuEgn5DpK/52b2464e21c8dc68bb06869126043ba9/Signup_-_Passkey_-_Browser_OS_Create_a_Passkey.png?fit=max&auto=format&n=mMSz-RNYLuOm2GmQ&q=85&s=4876b2c5917c3683a1f30097eabb31f8" alt="" width="400" height="300" data-path="docs/images/cdy7uua7fh8z/IsWmSXNHc2fvRuEgn5DpK/52b2464e21c8dc68bb06869126043ba9/Signup_-_Passkey_-_Browser_OS_Create_a_Passkey.png" />
        </Frame>

        <Columns cols={2}>
          <div>
            ユーザーが **Continue** を選択すると、デバイスの認証情報で認証するよう求められます。

            <Frame caption="デバイス認証情報の認証プロンプトの例">
              <img src="https://mintcdn.com/translations/6GE5Z24GDCZehiJ9/docs/images/cdy7uua7fh8z/6OJlPQrWBhgO8izXXoKbOw/a3c1af9a94aaeffc50793e3e9b88db8f/Signup_-_Passkeys_-_Chrome_Prompt_for_Device_Credentials.png?fit=max&auto=format&n=6GE5Z24GDCZehiJ9&q=85&s=35e854d35d7bda9466a9f2c7a54fab86" alt="" width="400" height="469" data-path="docs/images/cdy7uua7fh8z/6OJlPQrWBhgO8izXXoKbOw/a3c1af9a94aaeffc50793e3e9b88db8f/Signup_-_Passkeys_-_Chrome_Prompt_for_Device_Credentials.png" />
            </Frame>
          </div>

          <div>
            ユーザーが **Try another way** を選択すると、パスキーを作成するデバイスで QR コードをスキャンするよう求められます。

            <Frame caption="QR コードの例">
              <img src="https://mintcdn.com/translations/Dcx0M11uuptU53TX/docs/images/cdy7uua7fh8z/2yXrkVbYLxxp6MXnrZLqVN/5f67ddf9b8003729a11604a3af3e553d/passkey-browser-cross-device.png?fit=max&auto=format&n=Dcx0M11uuptU53TX&q=85&s=212cfd5842ab5be1996f0c33a300997d" alt="" width="402" height="407" data-path="docs/images/cdy7uua7fh8z/2yXrkVbYLxxp6MXnrZLqVN/5f67ddf9b8003729a11604a3af3e553d/passkey-browser-cross-device.png" />
            </Frame>
          </div>
        </Columns>
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="ログインフローのプレビュー">
    <Steps>
      <Step title="ログイン UI でユーザーにメールアドレスやパスキーの入力を求めます。">
        データベース接続のパスキーポリシーでは、ログイン UI でオートフィルを許可するか、パスキーボタンを表示するか、またはその両方を有効にするかを選択できます。

        <Frame>
          <img src="https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3qqI3Uo1z1yQhvb7boQ0cx/820f38ffdec77388331ef238ff80de88/login-passkey_default.png?fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=844b4df1d2c3d49db68c21ece9620bb7" alt="" width="402" height="570" data-path="docs/images/cdy7uua7fh8z/3qqI3Uo1z1yQhvb7boQ0cx/820f38ffdec77388331ef238ff80de88/login-passkey_default.png" />
        </Frame>

        ユーザーがメールアドレスを入力すると、オートフィルによって、パスワードなどの他の認証情報とともに保存済みのパスキーが候補として表示されます。

        ユーザーが **Continue with a passkey** ボタンを選択すると、認証情報マネージャーで使用するパスキーを選ぶよう求められます。

        <Frame>
          <img src="https://mintcdn.com/translations/xwVvTWJUElMm5YAK/docs/images/cdy7uua7fh8z/tC4UZmYFgo7Zjt9kviP9j/690b87af58068c18a4609c8e9431e5b7/Login_-_Passkeys_-_Choose_a_passkey.png?fit=max&auto=format&n=xwVvTWJUElMm5YAK&q=85&s=5f0f70c6664bb87e9f50ab366973d098" alt="" width="400" height="359" data-path="docs/images/cdy7uua7fh8z/tC4UZmYFgo7Zjt9kviP9j/690b87af58068c18a4609c8e9431e5b7/Login_-_Passkeys_-_Choose_a_passkey.png" />
        </Frame>
      </Step>

      <Step title="ユーザーの認証情報マネージャーで、デバイスの認証情報による認証を求められます。">
        <Frame caption="デバイス認証情報の認証プロンプトの例">
          <img src="https://mintcdn.com/translations/6GE5Z24GDCZehiJ9/docs/images/cdy7uua7fh8z/6OJlPQrWBhgO8izXXoKbOw/a3c1af9a94aaeffc50793e3e9b88db8f/Signup_-_Passkeys_-_Chrome_Prompt_for_Device_Credentials.png?fit=max&auto=format&n=6GE5Z24GDCZehiJ9&q=85&s=35e854d35d7bda9466a9f2c7a54fab86" alt="" width="400" height="469" data-path="docs/images/cdy7uua7fh8z/6OJlPQrWBhgO8izXXoKbOw/a3c1af9a94aaeffc50793e3e9b88db8f/Signup_-_Passkeys_-_Chrome_Prompt_for_Device_Credentials.png" />
        </Frame>
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>

パスキーは、ユーザーの既存の認証情報を置き換えたり無効化したりするものではありません。ユーザーがパスキーを作成すると、認証方法の 1 つとしてアカウントに追加されますが、既存のメールアドレス/ユーザー名とパスワードによる認証情報は引き続き有効です。

<div id="passkeys-with-mfa-enabled">
  ### MFA が有効な場合のパスキー
</div>

<Tooltip tip="多要素認証（MFA）: SMS で受け取るコードなど、ユーザー名とパスワードに加えて認証要素を使用するユーザー認証プロセスです。" cta="用語集を見る" href="/ja/docs/glossary?term=MFA">MFA</Tooltip> が有効になっている場合、設定とリスク評価に応じて、パスキーで認証した後に追加の MFA を求められることがあります。

デフォルトでは、認証方法がパスワードかパスキーかにかかわらず、MFA の完了が必要です。パスキーは高いセキュリティを提供するため、手間を減らす目的で、パスキーで認証したユーザーについては MFA を省略できます。これは post-login Action を使用して実現できます。

詳しくは、[パスキーで手間を減らす](/ja/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger#reduce-friction-with-passkeys) と [多要素認証](/ja/docs/secure/multi-factor-authentication) を参照してください。

<div id="passkeys-with-multiple-custom-domains-mcd">
  ### 複数のカスタムドメイン (MCD) でのパスキー
</div>

<ReleaseStageNotice feature="Multiple Custom Domains" stage="ea" plans="Enterprise" terms="true" />

テナントで複数のカスタムドメインを有効にしている場合、Auth0 は各ドメインとそのドメイン用のパスキーを 1 対 1 で対応付けます。パスキー対応のデータベース接続を使用するユーザーは、作成したドメインに紐付いたパスキーを使ってサインアップおよびログインできます。ユーザーがパスキーを登録できるドメインは 1 つだけです (テナント上の複数のカスタムドメインのうち、最初に登録したドメイン) 。

パスワードレスログインでは、選択したカスタムドメインが、パスワードレスログインフローのマジックリンクに反映されている必要があります。

<div id="relying-party-id-for-passkeys">
  ### パスキーの Relying Party ID
</div>

[relying party identifier (RP ID) ](https://www.w3.org/TR/webauthn-2/#relying-party-identifier) は、WebAuthn がパスキーなどの認証情報に関連付けるドメインです。RP ID は、認証に使用できるリクエストオリジンを定義します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  RP ID が正しく機能するには、アプリケーションのドメインを[アプリケーション設定](https://manage.auth0.com/#/applications)の **Allowed Origins (CORS)** リストに追加する必要があります。
</Callout>

RP ID をオリジンのサフィックスとして定義すると、ユーザーは 1 つのパスキーでサブドメインをまたいで認証できます。たとえば、Web アプリケーションが `login.example.com` でホストされ、ネイティブアプリケーションが `app.example.com` で提供されている場合、RP ID を `example.com` に設定することで、エンドユーザーは 1 つのパスキーで両方のアプリケーション (およびその他の `example.com` サブドメイン) に認証できます。

| 環境      | ルートドメイン                     | RP ID         |
| :------ | :-------------------------- | :------------ |
| Web     | `https://login.example.com` | `example.com` |
| iOS     | `app.example.com`           | `example.com` |
| Android | `assetlinks.json`           | `example.com` |

Auth0 では、RP ID をルートドメインまたは親ドメインに設定できるため、ユーザーは同じパスキーを使用してモバイルアプリケーションまたは Web アプリケーションで認証できます。複数のカスタムドメインを使用している場合は、各カスタムドメインに対して `rp.id` を設定することもできます。

RP ID をカスタマイズする方法については、[Configure Passkey Policy](/ja/docs/authenticate/database-connections/passkeys/configure-passkey-policy) を参照してください。

<div id="learn-more">
  ## 詳細
</div>

* [パスキー認証を設定する](/ja/docs/authenticate/database-connections/passkeys/configure-passkey-policy)
* [テナントのログでパスキーイベントを監視する](/ja/docs/authenticate/database-connections/passkeys/monitor-passkey-events-in-tenant-logs)
