> ## 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` オブジェクト内の `client_metadata`、ルール内の `context.clientMetadata`、および post-login Actions 内の `event.client.metadata`。 | アプリケーション (OIDC および OAuth 2.0 の用語では *client*) に関する情報を保存します。たとえば、アプリケーションのホームページ URL などです (Application Settings で 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` フィールドは、ルールと Actions の両方でルートプロファイルにマージされるため、ルートプロファイルフィールドを上書きしてしまう可能性があります。

たとえば、ユーザーのルートプロファイルに `groups` フィールド (<Tooltip tip="Security Assertion Markup Language (SAML): パスワードなしで 2 つの当事者が認証情報を交換できるようにする標準化されたプロトコル。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=SAML">SAML</Tooltip> <Tooltip tip="Identity Provider (IdP): デジタルアイデンティティを保存および管理するサービス。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=identity+provider">アイデンティティプロバイダー</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](/docs/ja-jp/manage-users/user-accounts/metadata/manage-metadata-rules) で [ユーザーオブジェクト](/docs/ja-jp/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)をすべてサポートしています。

* String
* Number
* Array
* Object

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

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

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

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

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

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

<div id="size-limits-and-storage">
  ### サイズ制限と保存
</div>

* [user search endpoint](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` の[イベントコード](/docs/ja-jp/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](/docs/ja-jp/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>

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