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

# ルール内からManagement APIを使用

> ルール内からManagement APIを使用する方法について説明します。

<Warning>
  RulesとHooksのサポート終了（EOL）日は**2026年11月18日** であり、**2023年10月16** 日の時点で作成された新しいテナントは使用できなくなります。Hooksが有効な既存のテナントは、サポート終了までHooksを利用できます。

  今後はActionsに移行して、Auth0の機能を拡張することを強くお勧めします。Actionsを使用すると、豊富な情報やインラインドキュメント、パブリック`npm`パッケージにアクセスして、外部統合を使って全体的な拡張エクスペリエンスを強化することができます。Actionsの詳細については、「[Auth0 Actionsの仕組みを理解する](/docs/ja-jp/customize/actions/actions-overview)」をお読みください。

  当社では、移行の参考資料として、[RulesからActionsへの移行](/docs/ja-jp/customize/actions/migrate/migrate-from-rules-to-actions)と[HooksからActionsへの移行](/docs/ja-jp/customize/actions/migrate/migrate-from-hooks-to-actions)に関するガイドを提供しています。また、専用の「[Actionsへの移行](https://auth0.com/extensibility/movetoactions)」ページでは、機能の比較や[Actionsのデモ](https://www.youtube.com/watch?v=UesFSY1klrI)、その他のリソースを掲載して、円滑な移行をサポートしています。

  RulesとHooksの廃止の詳細については、当社のブログ記事「[RulesとHooksの提供終了について](https://auth0.com/blog/preparing-for-rules-and-hooks-end-of-life/)」をお読みください。
</Warning>

作成した[Auth0 Rule](/docs/ja-jp/customize/rules)内から、`auth0`オブジェクトを使用してユーザーの`app_metadata`また`はuser_metadata`を更新できます。これは`ManagementClient`（[node-auth0](https://github.com/auth0/node-auth0) Node.jsクライアントライブラリで定義）の特別に制限されたインスタンスであり、[Auth0 Management API](/docs/ja-jp/api/management/v2)への制限付きアクセスを提供します。詳細については、[Rules Execution Best Practice（ルール実行のベストプラクティス）](/docs/ja-jp/rules-best-practices/rules-execution-best-practices)をお読みください。

ルール内から追加の<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-jp/glossary?term=management-api" tip="Management API: 顧客が管理タスクを実行できるようにするための製品。" cta="用語集の表示">Management API</Tooltip>エンドポイントにアクセスするには、別のバージョンのライブラリを使用する必要があります。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  `auth0.accessToken`を通じて使用されるManagement APIのアクセストークンは、スコープが`read:users`と`update:users`に限られます。広範囲のスコープが必要な場合は、クライアントの資格情報フローを使ってトークンを要求します。詳細については、「[運用環境のManagement APIのアクセストークンを取得する](/docs/ja-jp/secure/tokens/access-tokens/management-api-access-tokens/get-management-api-access-tokens-for-production)」を参照してください。
</Callout>

## 新しいバージョンのライブラリにアクセスする

特定のバージョンのライブラリを要求することで、Auth0 Node.jsクライアントライブラリの新しいバージョンを読み込むことができます。最新のバージョン情報については、Githubの[Auth0 Nodeリポジトリ](https://github.com/auth0/node-auth0)を確認してください。

この例では、ライブラリのバージョン`2.9.1`を読み込み、ユーザーのリストを照会し、ユーザーをコンソールに記録します（[［Actions Real-time Logs（Actions リアルタイムログ）］](/docs/ja-jp/customize/actions/actions-real-time-logs)を使用して確認）。

<Warning>
  [ユーザーの検索](/docs/ja-jp/manage-users/user-search/user-search-best-practices)をルール内で行うとログインのパフォーマンスに影響するので、行わないようにしてください。
</Warning>

```javascript lines theme={null}
function (user, context, callback) {
  var ManagementClient = require('auth0@2.9.1').ManagementClient;
  var management = new ManagementClient({
    token: auth0.accessToken,
    domain: auth0.domain
  });

  management.getUsers(function (err, users) {
    console.log(users);
    callback(null, user, context);
  });
}
```

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  必要に応じて設定できる使用可能なライブラリーのリストについては、「[使用可能なライブラリーのバージョン](https://auth0-extensions.github.io/canirequire/#auth0)」を確認してください。
</Callout>
