> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-docs-event-stream-action-templates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# カスタムデータベース接続とアクションスクリプトのベストプラクティス

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

<Card title="利用可能性はAuth0プランによって異なる">
  この機能が利用できるかどうかは、使用しているログイン実装とAuth0プラン（または契約）によります。詳細については、「[価格設定](https://auth0.com/pricing)」をお読みください。
</Card>

拡張機能により、管理者はAuth0にカスタムログインを追加し、IDおよびアクセス管理（IdAM）のラストマイルソリューションを構築する手段として利用できます。それぞれの拡張機能のタイプは、Node.jsを使用し、Auth0テナントのAuth0プラットフォームで実行されます。

Auth0の拡張機能は複数の形式で提供されます。

* [Actions](/docs/ja-jp/customize/actions)：Actionsは安全でテナント固有のバージョン管理された関数で、Node.jsで記述され、Auth0プラットフォームにある特定の拠点で実行されます。Actionsを使用し、カスタムログインでAuth0の機能をカスタマイズして拡張します。
* [ルール](/docs/ja-jp/customize/rules)：ユーザーの認証アーティファクトが生成されたときに実行されます。例：

  * OpenID Connect（OIDC）のIDトークン
  * OAuth 2.0のアクセストークン
  * SAMLのアサーション
* [Hooks](/docs/ja-jp/customize/hooks)：ユーザーに関連しないアーティファクトの交換や、ユーザー登録前や登録後などユーザーのIDが作成される際に、追加の拡張機能を提供します。

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

* カスタムデータベース接続および移行のためのスクリプトは、既存のユーザーIDストアとの統合や、独立またはレガシーのIDストアからの自動ユーザー移行が必要な場合に使用されます。構成の詳細については、「[カスタムデータベース接続の作成](/docs/ja-jp/authenticate/database-connections/custom-db/create-db-connection)
* ユーザーの重複を避けるため、返される各ユーザープロファイルに一貫した`user_id`を設定してください。さらに、`get_user`または`login`スクリプトで、2人の異なるユーザーに同じメールアドレスを返さず、両スクリプトが同じユーザーに返されることを確認してください。
* 後方互換性を確保するために、カスタムDBスクリプトでは`app_metadata`を`metadata`と呼びます。データ転送が中断される可能性があるため、欠落している場合は、アクションを使用して`app_metadata`または`user_metadata`に含むべきメタデータを取得してください。
* [アクション](/docs/ja-jp/customize/actions)でオーディエンスのアクセスを制限するようにしてください。

Auth0の拡張機能は、IdAM操作をカスタマイズするための包括的かつ高度な機能ですが、データベースが不適切または意図しない使用にさらされる可能性もあります。このセクションの文書は、設計者と実装者の両方に対するベストプラクティスを強調しています。Auth0の使用を始めている場合でも、少なくとも一度は全体を通して読むことをお勧めします。

## もっと詳しく

* [カスタムデータベース接続の構造に関するベストプラクティス](/docs/ja-jp/authenticate/database-connections/custom-db/custom-database-connections-scripts/anatomy)
* [カスタムデータベースアクションスクリプト環境のベストプラクティス](/docs/ja-jp/authenticate/database-connections/custom-db/custom-database-connections-scripts/environment)
* [カスタムデータベースのアクションスクリプトのベストプラクティス](/docs/ja-jp/authenticate/database-connections/custom-db/custom-database-connections-scripts/execution)
* [カスタムデータベース接続のセキュリティに関するベストプラクティス](/docs/ja-jp/authenticate/database-connections/custom-db/custom-database-connections-scripts/connection-security)
* [エラー処理のベストプラクティス](/docs/ja-jp/troubleshoot/error-handling-best-practices)
* [ルールのテストに関するベストプラクティス](/docs/ja-jp/rules-best-practices/rules-testing-best-practices)
