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

> ユーザーメタデータ、アプリメタデータ、アプリケーション（クライアント）メタデータのフィールド名、データ型、および制限事項について説明します。

# メタデータのフィールド名とデータ型

Auth0では、特定の種類の情報を保存するために使用されるメタデータを、3種類に区別しています。

<Warning>
  Auth0のメタデータは安全なデータストアではないため、高リスクのシークレットや、社会保障番号やクレジットカード番号などの個人を特定できる情報 (PII) のような機微な情報を保存しないでください。Auth0をご利用のお客様には、メタデータに保存するデータを評価し、アイデンティティおよびアクセス管理の目的に必要なものだけを保存することを強く推奨します。
</Warning>

| メタデータの種類       | フィールド名                                                                                                                          | 説明                                                                                                                                 |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **ユーザー情報**     | `user_metadata`                                                                                                                 | 設定など、ユーザーの中核的な機能に影響しないユーザー属性を保存します。Management APIを使用してフォームを構築した場合、このデータはログインしているユーザーが編集**できます**。そのため、安全なデータストアとして使用すべき**ではありません**。 |
| **アクセス情報**     | `app_metadata`                                                                                                                  | 権限、Auth0プラン、外部IDなど、ユーザーの機能へのアクセスに影響する可能性がある情報を保存します。このデータはユーザーが編集**できません**。また、このフィールドに保存できる内容には制限があります。                            |
| **アプリケーション情報** | `client_metadata` in the `Client` object, `context.clientMetadata` in Rules, and `event.client.metadata` in post-login Actions. | アプリケーションに関する情報 (OIDC OAuth2の用語では *クライアント*) を保存します。たとえば、アプリケーションのホームページのURLなどです (Auth0がアプリケーション設定で設定しない値) 。                         |

<div id="metadata-field-names">
  ## メタデータのフィールド名
</div>

<div id="accepted-characters">
  ### 使用可能な文字
</div>

フィールド名に `.` (ドット) または `$` (ドル記号) を含めることはできません。

たとえば、次のようなものは使用できません。

```json lines theme={null}
{
  "preference.color": "pink"
}
```

ただし、次のように展開することもできます。

```json lines theme={null}
{
    "preference": { 
        "color": "pink" 
    }
}
```

<div id="dynamic-field-names">
  ### 動的なフィールド名
</div>

フィールド名は固定にする必要があります。動的なフィールド名を使うと、インデックス作成の効率が低下し、検索クエリのパフォーマンスも悪化します。スキーマが固定されていると、検索、操作、管理がしやすくなります。

代わりに、次のようにします。

```json lines theme={null}
{
    "participants": [
        "Alice": {
            "role": "sender"
         },
        "Bob": {
            "role": "receiver"
        }
    ]
}
```

次のようにします:

```json lines theme={null}
{
    "participants": [
        {
            "name": "Alice",
            "role": "sender"
        },
        {
            "name" : "Bob",
            "role": "receiver"
        }
    ]
}
```

<div id="name-collision">
  ### 名前の競合
</div>

`app_metadata` フィールドとルートプロファイルのフィールドに同じ名前を使用しないでください。`app_metadata` フィールドは Rules と Actions の両方でルートプロファイルにマージされるため、ルートプロファイルのフィールドが上書きされる可能性があります。

たとえば、ユーザーのルートプロファイルに `groups` フィールドがあり (<Tooltip tip="Security Assertion Markup Language（SAML）: パスワードなしで 2 者間が認証情報をやり取りできるようにする標準化プロトコル。" cta="用語集を表示" href="/ja/docs/glossary?term=SAML">SAML</Tooltip> <Tooltip tip="IDプロバイダー（IdP）: デジタルアイデンティティを保存および管理するサービス。" cta="用語集を表示" href="/ja/docs/glossary?term=identity+provider">IDプロバイダー</Tooltip> から返される) 、さらに `app_metadata` 内にも `groups` フィールドがある場合、ユーザープロファイルは次のようになります。

```json lines theme={null}
{
    "user_id": "samlp|example-samlp-connection|username@domain.com",
    "groups": [
        "external-group-1",
        "external-group-2"
    ],
    "app_metadata": {
        "groups": [
            "internal-group-1",
            "internal-group-2"
        ]
    }
}
```

[Rule](/ja/docs/manage-users/user-accounts/metadata/manage-metadata-rules) から [User object](/ja/docs/customize/rules/user-object-in-rules) の `groups` フィールドを読み取ると、`["internal-group-1", "internal-group-2"]` が返されます。

<div id="metadata-data-types">
  ## メタデータのデータ型
</div>

メタデータフィールドでは、すべての[JSON互換データ型](https://datatracker.ietf.org/doc/html/rfc7159)をサポートしています。

* 文字列
* 数値
* 配列
* オブジェクト

ユーザー間でデータ型に一貫性を持たせるようにしてください。たとえば、あるユーザーでは値を文字列として保存し (`user.user_metadata.age = "23"`)、別のユーザーでは数値として保存している場合 (`user.user_metadata.age = 23`)、データの取得時に問題が発生する可能性があります。

<div id="limitations-and-restrictions">
  ## 制限事項と制約
</div>

<div id="rate-limits">
  ### レート制限
</div>

[Rules](/ja/docs/manage-users/user-accounts/metadata/manage-metadata-rules) または [Actions](/ja/docs/manage-users/user-accounts/metadata/manage-user-metadata) を使用してログイン時にメタデータを更新する場合は、テナントのレート制限の対象となります。詳細については、[Management API Endpoint Rate Limits](/ja/docs/troubleshoot/customer-support/operational-policies/rate-limit-policy/management-api-endpoint-rate-limits) を参照してください。

<Warning>
  メタデータには、ユーザー認証に関するデータのみを保存してください。Auth0 の保存機能と検索機能は、高頻度の検索や更新を必要としないユースケースを想定して設計されています。

  ユーザーに関する詳細なユーザープロファイルデータを管理する必要がある場合は、外部システムで管理してください。そのシステム上のユーザー識別子は、Auth0 のメタデータフィールドとして保存できます。
</Warning>

<div id="size-limits-and-storage">
  ### サイズ制限とストレージ
</div>

* インデックス化、クエリ、[ユーザー検索エンドポイント](https://auth0.com/docs/api/management/v2/users/get-users) からの返却の対象となるユーザーデータには、ユーザーごとに 1 MB の上限があります。ユーザープロフィールが 1 MB を超える場合、`app_metadata` と `user_metadata` 内で 256 文字を超える属性値は検索できず、検索結果にも返されません。これらの大きな値を除外した後でもユーザープロフィールが 1 MB を超える場合、そのユーザーでは `app_metadata` と `user_metadata` のすべての属性が検索対象にも返却対象にもなりません。Auth0 は、大きな値を除外した後でもユーザープロフィールが 1 MB を超えているケースを、`wum` [イベントコード](/ja/docs/deploy-monitor/logs/log-event-type-codes) で記録します。サイズ超過したユーザープロフィールのすべてのメタデータ属性を取得するには、[ユーザー取得エンドポイント](https://auth0.com/docs/api/management/v2/users/get-users-by-id) を使用する必要があります。
* Auth0 Authentication API の [Signup エンドポイント](https://auth0.com/docs/api/authentication?javascript#signup) を使用して `user_metadata` フィールドを設定する場合、各値が 500 文字以下の文字列フィールドを最大 10 個まで含めることができます。カスタムサインアッププロセスでメタデータを扱う例については、[Custom Signup](/ja/docs/libraries/custom-signup) を参照してください。
* `client_metadata` フィールドには最大 10 個のキーを設定できます。キーと値はそれぞれ最大 255 文字までで、UTF-8 の特殊文字は使用できません。

<div id="restrictions">
  ### 制約事項
</div>

`app_metadata` フィールドには、以下のプロパティを含めることはできません。

* `__tenant`
* `_id`
* `blocked`
* `clientID`
* `created_at`
* `email_verified`
* `email`
* `globalClientID`
* `global_client_id`
* `identities`
* `lastIP`
* `lastLogin`
* `loginsCount`
* `metadata`
* `multifactor_last_modified`
* `multifactor`
* `updated_at`
* `user_id`

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

* [Rules を使用してメタデータを管理する](/ja/docs/manage-users/user-accounts/metadata/manage-metadata-rules)
* [Management API を使用してメタデータを管理する](/ja/docs/manage-users/user-accounts/metadata/manage-metadata-api)
* [アプリケーションのメタデータを設定する](/ja/docs/get-started/applications/configure-application-metadata)
* [ユーザーデータの保存場所](/ja/docs/secure/security-guidance/data-security/user-data-storage)
