> ## 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.

> カスタムデータベース接続とデータベースアクションスクリプトのベストプラクティスについて説明します。

# カスタムデータベース接続と Action スクリプトのベストプラクティス

<Card title="利用可否は Auth0 プランによって異なります">
  この機能が利用可能かどうかは、ログイン実装の内容と、Auth0 プランまたは個別契約の内容によって決まります。詳しくは、[Pricing](https://auth0.com/pricing) を参照してください。
</Card>

拡張性により、管理者は Identity and Access Management (IdAM) のラストマイルを補う仕組みとして、Auth0 にカスタムログインを追加できます。各拡張機能タイプは Node.js を使用し、Auth0 テナント内の Auth0 プラットフォーム上で実行されます。

Auth0 Extensibility には、いくつかの種類があります。

* [Actions](/ja/docs/customize/actions): Actions は、Auth0 プラットフォーム内の特定のタイミングで実行される、安全でテナント固有のバージョン管理された Node.js 関数です。Actions を使用すると、カスタムログインによって Auth0 の機能をカスタマイズおよび拡張できます。
* [Rules](/ja/docs/customize/rules): ユーザー認証に関する成果物が生成される際に実行されます。たとえば、次のようなものです。

  * OpenID Connect (OIDC) の IDトークン
  * OAuth 2.0 のアクセストークン
  * SAML のアサーション
* [Hooks](/ja/docs/customize/hooks): ユーザーに関連しない成果物のやり取りが行われる場合や、事前ユーザー登録や事後ユーザー登録のようにユーザーIDが作成される場合に、追加の拡張性を提供します。

以下は、Auth0 Extensibility 製品を使用する際のベストプラクティスです。

* カスタムデータベース接続と移行の両方のスクリプトは、既存のユーザーIDストアと統合する場合や、独立したまたはレガシーなIDストアからの自動ユーザー移行が必要な場合に使用します。設定の詳細については、[Create Custom Database Connections.](/ja/docs/authenticate/database-connections/custom-db/create-db-connection) を参照してください。
* ユーザーの重複を避けるため、返される各ユーザープロファイルで一貫した `user_id` を設定してください。さらに、`get_user` または `login` スクリプトで、異なる 2 人のユーザーに同じメールアドレスを返さないようにし、両方のスクリプトが同じユーザーを返すことを確認してください。
* 後方互換性を維持するため、カスタム DB スクリプトでは `app_metadata` は `metadata` と呼ばれます。データ転送は中断される可能性があるため、`app_metadata` または `user_metadata` に含まれるべきメタデータが不足している場合は、それを取得するために Action を使用してください。
* [Action](/ja/docs/customize/actions) を使用して、<Tooltip tip="オーディエンス: 発行されたトークンの対象となるオーディエンスの一意の識別子。トークン内では aud という名前で示され、その値には IDトークン の場合はアプリケーション (クライアントID)、アクセストークン の場合は API (API Identifier) の ID が含まれます。" cta="用語集を見る" href="/ja/docs/glossary?term=audience">オーディエンス</Tooltip> へのアクセスを必ず制限してください。

Auth0 Extensibility は、IdAM の運用を調整するための包括的で高度な機能ですが、その一方で、データベースが不適切または意図しない形で利用される可能性もあります。このセクションのドキュメントでは、設計者と実装担当者の両方に向けたベストプラクティスを紹介しています。すでに Auth0 の利用を始めている場合でも、少なくとも一度は全体に目を通すことをお勧めします。

<div id="learn-more">
  ## 詳しく見る
</div>

* [カスタムデータベース接続の構成に関するベストプラクティス](/ja/docs/authenticate/database-connections/custom-db/custom-database-connections-scripts/anatomy)
* [カスタムデータベースのAction スクリプト環境に関するベストプラクティス](/ja/docs/authenticate/database-connections/custom-db/custom-database-connections-scripts/environment)
* [カスタムデータベースのAction スクリプト実行に関するベストプラクティス](/ja/docs/authenticate/database-connections/custom-db/custom-database-connections-scripts/execution)
* [カスタムデータベース接続のセキュリティに関するベストプラクティス](/ja/docs/authenticate/database-connections/custom-db/custom-database-connections-scripts/connection-security)
