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

# ロールとロールバンドル

> Iru Identity でグループメンバーシップに基づいてアプリケーションにロールをアサートし、ロールバンドルを使用してロールごとにセッションの長さとリスクを制御します。

多くのアプリケーションは、ユーザーが誰であるかだけでなく、**どのロール**（管理者、メンバー、閲覧者など）を
持っているかを知る必要があります。Iru は、ユーザーのグループメンバーシップに基づいて、サインオン時に
アプリケーションにロールをアサートでき、ロールごとに**セッションの長さ**と**リスク**を変えることができます。

これはアプリケーションの **Roles** タブで設定します。アプリの他の部分と同様に、ドラフトで編集して
公開します。[アプリケーションの概要](/ja/identity/applications/applications-overview)を参照してください。

## ロールがアプリケーションに届く仕組み

```mermaid theme={null}
flowchart LR
  group["グループメンバーシップ"] --> role["ロール"]
  role -->|"ロール識別子"| method["ロールのアサート方法"]
  method --> app["アプリケーション"]
```

**ロール**は 1 つ以上の[グループ](/ja/identity/directory/groups)に付与されます。それらのグループの
メンバーがサインオンすると、Iru は選択した方法を使用して、ロールの**識別子**をアプリケーションに
アサートします。

## ロールのアサート方法

ロールをアプリケーションにどのように送信するか（または送信するかどうか）を決定します。

| 方法 | 動作 |
| - | - |
| **なし** | アプリケーションはシングルサインオンでロールを受け取りません。ロールバンドルはオフになります。**割り当て** タブでグループに割り当てられるのは **Default** ロールのみです。 |
| **グループ** | ロール識別子は、アプリケーションが受け取るグループの値として送信されます。 |
| **Custom attribute** | ロール識別子は、指定したカスタム属性またはクレームで、単一の値または配列として送信されます。SAML アプリの場合は、属性名の形式も選択します。 |

## ロールバンドル

ロールは**ロールバンドル**内にあります。ロールバンドルは関連するロールをグループ化し、
ユーザーが同時に複数のロールを持てるかどうかを決定します。

| バンドル設定 | 動作 |
| - | - |
| **Display name** | ダッシュボードでのバンドルの名前。 |
| **Bundle identifier** | 関連するロールを整理するためだけに使用される一意の識別子。ロール値としてアプリケーションに送信されることは**ありません**。 |
| **Exclusivity mode** | **Include all** は、バンドル内でユーザーが該当するすべてのロールをアサートします。**Priority** は、最も優先度の高い単一のロールのみをアサートするため、ロールは相互に排他的になります。 |

**Priority** モードでは、各ロールに一意の**優先度**番号があり、ユーザーが複数のロールに該当する場合は
最も優先度の高いロールが選ばれます。

## ロールの内容

<AccordionGroup>
  <Accordion title="表示名と識別子" icon="tag">
    ダッシュボードでのロールの名前と、アプリケーションにアサートされる**ロール識別子**
    （このロールに対してアプリが受け取る値）。
  </Accordion>

  <Accordion title="グループ" icon="users">
    メンバーがロールを受け取る[グループ](/ja/identity/directory/groups)。ロールをグループに基づかせることで、
    ロールの割り当てがディレクトリに追従します。
  </Accordion>

  <Accordion title="セッション期間" icon="clock">
    このロールを通じて付与されたセッションの持続時間（分）。ロールごとに異なるセッションの長さを
    設定できます。**0** に設定すると、アプリケーションのデフォルト（アプリで変更しない限り **60 分**）に
    戻ります。
  </Accordion>

  <Accordion title="リスクレベル" icon="gauge-high">
    ロールのオプションの[リスクレベル](/ja/identity/authentication/risk-based-access)分類。
    機密性の高いロールに一貫してラベルを付けることができます。
  </Accordion>
</AccordionGroup>

<Note>
  すべてのアプリケーションは **Default** バンドルとロールから始まるため、すぐにアクセスが機能します。
  アプリケーションでロールベースのアクセスが必要な場合にのみ、バンドルとロールを追加してください。
</Note>

## アプリケーションのロールを設定する

<Steps>
  <Step title="ロールのアサート方法を選択する">
    アプリの **Roles** タブで、ロールをアプリケーションに届ける方法を設定します：
    **グループ** または **Custom attribute**、あるいはアプリがシングルサインオンでロールを受け取らない場合は **なし**。
  </Step>

  <Step title="ロールバンドルを作成する">
    バンドルを追加し、名前と識別子を付け、**Include all** または **Priority** の排他性を選択します。
  </Step>

  <Step title="ロールを追加する">
    各ロールについて、識別子を設定し、ロールを受け取るグループを割り当て、セッション期間と
    （オプションで）リスクレベルを設定します。**Priority** バンドルでは、各ロールに優先度番号を付けます。
  </Step>

  <Step title="公開する">
    ドラフトを現在のバージョンとして設定します。以降、サインオン時にバンドルに従って各ユーザーの
    ロールがアサートされます。
  </Step>
</Steps>

## 次のステップ

<CardGroup cols={2}>
  <Card title="アクセスの割り当て" icon="user-check" href="/ja/identity/applications/assigning-access">
    そもそもアプリにアクセスできるユーザーを付与します。
  </Card>

  <Card title="グループ" icon="users" href="/ja/identity/directory/groups">
    ロールはグループに付与されます。メンバーシップはそこで整理します。
  </Card>

  <Card title="SAML アプリケーション" icon="file-signature" href="/ja/identity/applications/saml-applications">
    SAML のロールアサートでカスタム属性名の形式を設定する場所。
  </Card>

  <Card title="OIDC アプリケーション" icon="id-card" href="/ja/identity/applications/oidc-applications">
    OIDC アプリでロールがクレームとして送信される場所。
  </Card>
</CardGroup>
