> For AI agents: the complete documentation index is available at /resource/ucidm/docs/on-premise/dev/llms.txt, the full documentation bundle is available at /resource/ucidm/docs/on-premise/dev/llms-full.txt.

# ロールとアクセス制御 \{#roles-and-access-control}

アカウント認証と LDAP 認証 (SAML 認証) を用いてログインすると、ログインしたユーザーに対してロールが1つだけ割り当てられます。

ロールは次の機能をもちます。

- UCIDM API に対するアクセス制御
- ID 連携管理画面やセルフメンテナンス機能の Web UI の制御

ロールには2つの種別があります。

## システムロール \{#system-roles}

UCIDM 組み込みのロールになります。システム管理者がカスタマイズすることはできません。

システムロールは次になります。

### アカウント認証向けロール \{#account-auth-roles}

#### system-superadmin

UCIDM 全般のシステム管理権限をもつロールです。

- ID 連携システムに対する、すべての操作のアクセス権限をもつ
- 内部ディレクトリサービス (LDAP サーバー) に対する、すべての操作のアクセス権限をもつ

#### system-admin

system-superadmin と同様に UCIDM 全般のシステム管理権限をもつロールです。

- ID 連携管理に対する、システム系の設定以外のすべての操作のアクセス権限をもつ
- 内部ディレクトリサービス (LDAP サーバー) に対する、システム系の設定以外のすべての操作のアクセス権限をもつ

#### system-user

UCIDM 全般のシステム参照権限をもつロールです。

- ID 連携管理に対する、すべての操作の参照（更新はできません）権限をもつ
- 内部ディレクトリサービス (LDAP サーバー) に対する、すべての操作の参照（更新はできません）権限をもつ

#### ldap-admin

内部ディレクトリサービス (LDAP サーバー) に対する管理権限をもつロールです。

- ID 連携管理に対する、すべての操作の参照（更新はできません）権限をもつ
- 内部ディレクトリサービス (LDAP サーバー) に対する、システム系の設定以外のすべての操作のアクセス権限をもつ

#### ldap-maintainer

内部ディレクトリサービス (LDAP サーバー) に対するユーザーおよびグループ更新管理者用のロールです。

- ID 連携システムに対する権限はない
- 内部ディレクトリサービス (LDAP サーバー) に対する、設定権限はない
- 内部ディレクトリサービス (LDAP サーバー) に対する、ユーザーおよびグループ管理のすべての操作のアクセス権限をもつ

#### ldap-password-updater

内部ディレクトリサービス (LDAP サーバー) に対するユーザー更新管理者用のロールです。

- ID 連携システムに対する権限はない
- 内部ディレクトリサービス (LDAP サーバー) に対する、設定権限はない
- 内部ディレクトリサービス (LDAP サーバー) に対する、ユーザーのパスワード更新および TOTP/Passkey デバイス削除のみの権限をもつ

#### ldap-minimum

カスタマイズ向け内部ディレクトリサービス (LDAP サーバー) 管理者向けのロールです。

- ロールのカスタマイズを前提とした、最低限の権限が付与されているロールです。
- ID 連携システムに対する権限はない
- 内部ディレクトリサービス (LDAP サーバー) に対する、設定権限はない
  - 必要に応じて後述するアクセス権を任意に付与する
- 内部ディレクトリサービス (LDAP サーバー) に対する、ユーザーおよびグループ管理の権限はない
  - 必要に応じて後述するアクセス権を任意に付与する

#### system-agent

[Agent モジュール](/resource/ucidm/docs/on-premise/dev/configuration/agent/index.md) および [PassSync Agent モジュール](/resource/ucidm/docs/on-premise/dev/configuration/passsync/index.md) が認証するときに使うアカウント向けのロールです。システム管理者向けには使いません。

- Agent および PassSync Agent に必要な UCIDM API を操作するためのアクセス権限をもつ

デフォルトで `agent` というアカウントが作成されています。初期状態はパスワードが未設定で利用できません。利用するときは `admin` アカウントでログインして管理者アカウント画面から `agent` アカウントのパスワードを設定してください。

### LDAP 認証 (SAML 認証) 向けロール \{#ldap-auth-roles}

#### ldap-user

UCIDM が接続する内部ディレクトリサービス (LDAP サーバー) に登録されているエントリー情報を用いてログインしたユーザーの操作権限をもつロールです。一般ユーザー向けのデフォルトのシステムロールになります。

- LDAP 認証 (SAML 認証) で使う
- 自身の情報のみを操作するアクセス権限をもつ

## カスタムロール \{#custom-roles}

システム管理者が任意の名前で作成できるロールになります。カスタムロールを使うときには次の制約があります。

- ロール名に `system-` と `ldap-` という接頭辞は使えない
- アクセス権限はシステムロールの設定を引き継ぎ、後述するアクセス権を追加で付与する
- システムロールとカスタムロール両方を同時に併用できない

カスタムロールは利用する Web UI や管理画面によって用途が異なります。

### アカウント認証向けロール \{#custom-account-auth-roles}

システム管理者が Web UI の管理画面の操作を任意に制限するためにカスタムロールを設定できます。アクセス権を付与しやすいよう、関連のある一連の操作をまとめて付与できるよう調整されています。

カスタムロールを使うには、システム設定の [`role` セクション](/resource/ucidm/docs/on-premise/dev/configuration/system-setting.md#role-accountAuthCustomRoleEnabled) の `accountAuthCustomRoleEnabled` を `true` にします。
`false` のときは、カスタムロールを割り当てたアカウントは継承ロール (システムロール) としてログインし、カスタムロールで追加したアクセス権は使えません。

ID 連携管理画面でカスタムロールを作成するときに次のアクセス権を選択して組み合わせて付与できます。

#### view-bundled-ldap-entry

- LDAP サーバー上のユーザーおよびグループの参照権限

#### view-bundled-ldap-setting

- LDAP サーバーに対する管理設定の参照権限

#### view-ldap-auth-scoped-role

- LDAP サーバーに対する管理設定に必要な LDAP 認証 (SAML 認証) 向けロールの参照権限
- bundled-ldap-setting の権限を付与するときに一緒に付与する

#### edit-bundled-ldap-entry

- LDAP サーバー上のユーザーおよびグループの参照/更新権限

#### edit-bundled-ldap-entry-by-csv

- LDAP サーバー上のユーザーおよびグループを CSV 取込で一括登録するための権限

#### edit-bundled-ldap-setting

- LDAP サーバーに対する管理設定の参照/更新権限

#### delete-bundled-ldap-entry

- LDAP サーバー上のユーザーおよびグループの参照/削除権限

#### delete-bundled-ldap-setting

- LDAP サーバーに対する管理設定の参照/削除権限

### LDAP 認証 (SAML 認証) 向けロール \{#custom-ldap-auth-roles}

LDAP サーバーに登録されているエントリーの属性情報を用いてカスタムロールを設定できます。画面などの Web UI 制御を行うための設定を切り替えたりできます。主な用途は次にあげます。

- ログインするユーザーの特性に応じた画面を表示する
- エントリー情報を更新するときのスクリプトでロールごとに処理を変える

管理画面の操作を行うわけではないため、アクセス権を付与することはできません。

カスタムロールを使うには、システム設定の [`role` セクション](/resource/ucidm/docs/on-premise/dev/configuration/system-setting.md#role-ldapAuthCustomRoleEnabled) の `ldapAuthCustomRoleEnabled` を `true` にします。
`false` のときは、すべての一般ユーザーに [ldap-user](#ldap-user) が使用されます。
