> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# スキーマ

> すべてのユーザープロファイルの背後にあるスキーマ: 組み込みフィールド、定義するカスタム属性、および属性が Auto Groups とアプリのマッピングにどのように使用されるか。

すべてのユーザープロファイルは、**スキーマ** (プロファイルが保持できる属性のセット) によって形作られます。スキーマは全員に存在する組み込みフィールドから始まり、組織に合わせた**カスタム属性**で拡張します。スキーマは **Directory → Users → Schema** から編集します (Users ページのスキーマコントロールは、テキストラベルではなくアイコンボタンです)。

属性は単なるストレージではありません。属性は [Auto Groups](/ja/identity/directory/auto-groups) がメンバーシップを計算する元となり、アプリケーションが受け取る ID 情報にマッピングされる素材です。そのため、ここで設計するスキーマは Iru Identity 全体のアクセスと自動化を形作ります。

<Frame caption="User Schema エディター: スラッグ、タイプ、フラグを持つ組み込み属性とカスタム属性が、カテゴリにグループ化されています。">
  <img src="https://mintcdn.com/iru/yv46VZ-WbN1GdStp/assets/media/images/user-schema.webp?fit=max&auto=format&n=yv46VZ-WbN1GdStp&q=85&s=374c27a7f249db7f8fa332ecb1964c26" alt="Default カテゴリに Domain、Username、Iru Role、Name、Email などの属性が表示された User Schema ページ。各属性にスラッグ、タイプ、および Unique、Required、Auto Group 列があります。" width="2000" height="1137" data-path="assets/media/images/user-schema.webp" />
</Frame>

## 組み込みフィールド

すべてのプロファイルには、定義する必要のない組み込みファセットのセットが含まれています。

* **名前**。ユーザーの表示名を構築するために使用されます。
* **メールアドレス**、**電話番号**、**住所**。各エントリには勤務先や個人などの**ラベル**が付きます。
* **ユーザー名**と**ドメイン**。組み合わせてサインイン識別子を形成します。
* **ロール**、**ステータス**、**ソース**。**ロール**は Identity だけでなく、Iru 製品全体に適用されます。

これらについては、プロファイルの他の部分とともに[ユーザー](/ja/identity/directory/users)で説明しています。

<Note>
  **複数のメールドメインのサポート。** ユーザーが持つことができる**ドメイン**は、組み込みのドメインフィールドの許可された値の固定リストから取得されます。組織が複数のドメイン (例: `example.com` と `example.io`) を使用する場合は、スキーマでそれぞれをそのリストに追加してください。ユーザーを作成またはインポートするときに選択できるのは、そこで定義されたドメインのみです。
</Note>

## カスタム属性

カスタム属性は、すべてのユーザープロファイルにフィールドを追加します。作成時に次を指定します。

| プロパティ | 機能 |
| - | - |
| **Display name** | プロファイルに表示される人が読めるラベル。 |
| **Slug** | 属性をアプリやルールにマッピングするときに使用される、安定した機械向けの識別子。 |
| **Type** | 保持する値の種類。下記の**属性タイプ**から選択します。 |
| **説明** | プロファイルを編集する管理者に表示されるオプションのガイダンス。 |
| **カテゴリ** | 属性が表示されるプロファイルのセクション (下記参照)。 |
| **Required** | オンの場合、この属性の値がないとプロファイルを保存できません。 |
| **Unique** | オンの場合、2 人のユーザーがこの属性で同じ値を共有することはできません。 |

<Frame caption="カスタム属性の追加。">
  <img src="https://mintcdn.com/iru/yv46VZ-WbN1GdStp/assets/media/images/schema-add-attribute.webp?fit=max&auto=format&n=yv46VZ-WbN1GdStp&q=85&s=d1cd709823941a74f2e097f8f386453f" alt="Display Name、Slug、Description フィールド、Category と Type のセレクター、および Unique と Required のトグルを含む Add Attribute ダイアログ。" width="2000" height="1135" data-path="assets/media/images/schema-add-attribute.webp" />
</Frame>

<Note>
  **required** と **unique** は慎重に選択してください。必須属性は、インポートや HR 同期によって作成されたユーザーを含むすべてのユーザーに存在する必要があるため、それがないレコードは保存に失敗します。一意の属性は、従業員番号などの識別子に適しています。
</Note>

### 属性タイプ

カスタム属性を追加するときは、保持する値に次のいずれかのタイプを選択します。

| タイプ | 保持する内容 |
| - | - |
| **String** | 自由形式のテキスト。 |
| **Integer** | 整数。 |
| **Decimal** | 小数部分を持つことができる数値。 |
| **Boolean** | true または false の値。 |
| **Enumeration** | 定義したオプションの固定リストから選択される値 (下記参照)。 |
| **Date** | 日付の値。 |
| **Binary** | base64 でエンコードされた値。 |
| **JSON** | ネストされたデータや複合データ用の構造化 JSON 値。 |

<Note>
  タイプは属性の作成時に選択され、**後から変更することはできません**。**Unique** は、値がユーザー間で繰り返されることを想定した **Boolean** または **Enumeration** 属性では使用できません。**Binary** 値は base64 として保存され、サイズ制限がないため、大きなファイルではなく、トークンやキーなどの**小さな**値に使用してください。
</Note>

### 固定の選択肢を持つ属性

一部の属性は、既知のリストからの値のみを受け入れるべきです (部署、所在地、雇用形態など)。このような場合は、属性に**許可された値** (列挙オプション) の固定リストを指定します。各オプションには独自の表示名と識別子があります。

固定選択属性は、[Auto Groups](/ja/identity/directory/auto-groups) と自然に組み合わせられるため特に便利です。許可された各値が独自のグループになり、メンバーシップは自動的に計算されます。

## カテゴリ

属性は**カテゴリ** (「Employment」や「Contact」など、プロファイルがグループ化される名前付きセクション) に整理されます。各カテゴリには、表示名、アイコン、およびプロファイル上の順序を制御する位置があります。関連する属性をグループ化すると、長いプロファイルが読みやすくなり、スキーマの管理が容易になります。

<Frame caption="カテゴリの追加。">
  <img src="https://mintcdn.com/iru/yv46VZ-WbN1GdStp/assets/media/images/schema-add-category.webp?fit=max&auto=format&n=yv46VZ-WbN1GdStp&q=85&s=7e0973bc1aa36406e83acf65a1f1c572" alt="Display Name、Slug、Icon、Description フィールドを含む Add Category ダイアログ。" width="2000" height="1126" data-path="assets/media/images/schema-add-category.webp" />
</Frame>

## 属性の使用方法

```mermaid theme={null}
flowchart LR
  attr["プロファイル属性"]
  attr -->|"メンバーシップを計算"| dyn["Auto Groups"]
  attr -->|"マッピング先"| apps["アプリケーションのサインオン<br/>(アサーションとトークン)"]
  attr -->|"条件として使用可能"| pol["認証ポリシー"]
```

<CardGroup cols={2}>
  <Card title="Auto Groups を駆動する" icon="wand-magic-sparkles" href="/ja/identity/directory/auto-groups">
    属性にフラグを設定して **Auto Groups** を駆動すると、Iru はその値を、プロファイルの変更に応じてメンバーシップが更新されるグループに変換します。
  </Card>

  <Card title="アプリケーションにマッピングする" icon="grip" href="/ja/identity/applications/provisioning">
    アプリケーションはプロファイル属性を受け取るアサーションまたはトークンにマッピングするため、各アプリは期待する ID 情報を取得できます。
  </Card>
</CardGroup>

<Tip>
  ユーザーを大規模に取り込む前にスキーマを設計してください。どの属性を必須、一意、固定選択にするかを事前に決定しておくと、インポートと HR 同期が問題なく完了し、Auto Groups が期待どおりに動作します。
</Tip>

## 次のステップ

<CardGroup cols={2}>
  <Card title="Auto Groups を構築する" icon="wand-magic-sparkles" href="/ja/identity/directory/auto-groups">
    属性を自己管理するグループに変換します。
  </Card>

  <Card title="ユーザーを管理する" icon="user" href="/ja/identity/directory/users">
    個々のプロファイルで属性の動作を確認します。
  </Card>
</CardGroup>
