RBAC管理#
RBAC(ロールベースアクセス制御)管理では、スーパー管理者がきめ細かい権限を持つロールを定義し、ユーザーに割り当てることができます。RBACを使用すると、Backend.AIシステム全体で特定のユーザーがさまざまなリソースに対して実行できる操作を制御できます。
RBAC管理はスーパー管理者のみが利用でき、Backend.AI Managerバージョン26.4.0以降が必要です。
RBAC管理ページにアクセスするには、サイドバーメニューの管理者設定セクションでRBAC管理をクリックします。

ロール一覧#
ロール一覧ページでは、すべてのロールがテーブル形式で表示されます。ページ上部のコントロールを使用して、ロールのフィルタリング、検索、ソートができます。
- ステータスフィルター: アクティブと非アクティブのロールを切り替えるセグメントコントロールです。デフォルトではアクティブが選択されています。
- 名前検索: 名前でロールを検索したり、ソース(システムまたはカスタム)でフィルタリングできるプロパティフィルターです。フィルター入力は選択したプロパティに合わせて切り替わります。例えば ソース フィルターは利用可能な値(システム / カスタム)を選択式の入力として表示し、名前 フィルターは自由入力のテキストボックスを表示します。
- ロールを作成: 新しいカスタムロールを作成するボタンです。
テーブルには以下の列が表示されます:
- ロール名: ロールの名前です。名前をクリックするとロール詳細パネルが開きます。
- 説明: ロールの目的に関する簡単な説明です。
- スコープタイプ: ロールに最初に割り当てられたスコープのタイプです。ロールに複数のスコープが割り当てられている場合は
+N表示が一緒に表示されます。 - スコープID: ロールに最初に割り当てられたスコープの生IDです。複数のスコープが割り当てられている場合は
+N表示が一緒に表示されます。 - ソース: ロールがシステム(事前定義)かカスタム(ユーザー作成)かを示します。
- 作成日時: ロールが作成された日時です。
- 更新日時: ロールが最後に変更された日時です。
ロール名、作成日時、更新日時の列ヘッダーをクリックしてテーブルをソートできます。
システムロールとカスタムロール#
ロールは2つのソースタイプに分類されます:
- システム: 自動生成されるロールです。名前や説明は編集できませんが、ユーザーの割り当てと権限を管理できます。
- カスタム: スーパー管理者が作成したロールです。名前、説明、割り当て、スコープ、権限など、すべての項目を編集できます。
ロールの作成#
ロールを作成する際には、まずスコープを事前に定義する必要があります。スコープはロールを特定のリソースエンティティ(ドメイン、プロジェクト、ユーザーなど)にバインドし、後で追加するすべての権限がここで定義したスコープ内でのみ動作するように制限します。
新しいカスタムロールを作成するには:
- ロール一覧ページの右上にあるロールを作成ボタンをクリックします
- 作成モーダルで以下のフィールドを入力します:
- ロール名(必須): 一意のロール名を入力します
- 説明(任意): ロールの目的に関する説明を入力します
- スコープタイプ / 対象(必須、1つ以上): 各スコープ行でスコープタイプを選択し、そのスコープタイプ内の特定の対象を選択します。追加ボタンでスコープ行を追加したり、削除アイコンで行を削除できます。少なくとも1つのスコープを追加する必要があります。
- OKをクリックしてロールを作成します

スコープはロール作成時に定義され、作成後はロール詳細パネルから編集できません。ロールを作成する前にスコープを慎重に計画してください。
スコープタイプ#
ロール作成時に利用できるスコープタイプは以下のとおりです:
- ドメイン: アクティブなドメインのリストから選択
- プロジェクト: プロジェクトを選択(ドメインフィルタリング可能)
- ユーザー: メールアドレスまたは名前でユーザーを検索
ロール詳細の表示#
ロールの詳細情報を表示するには、テーブルでロール名をクリックします。ページの右側に詳細パネルが開きます。
パネルのヘッダーにはロール名が表示され、カスタムロールの場合は編集ボタンが提供されます。詳細セクションには以下のメタデータが表示されます:
- ソース: システムまたはカスタム
- ステータス: アクティブまたは非アクティブ
- 作成日時: 作成タイムスタンプ
- 更新日時: 最終変更タイムスタンプ
- 説明: ロールの説明
メタデータの下にはスコープ、権限、ロール割り当ての3つのタブがあります。

ロールの編集#
カスタムロールの名前や説明を編集するには:
- テーブルでロール名をクリックして詳細パネルを開きます
- パネルヘッダーの編集ボタン(鉛筆アイコン)をクリックします
- 編集モーダルでロール名や説明を変更します
- OKをクリックして変更を保存します

編集ボタンはカスタムロールでのみ利用可能です。システムロールの名前や説明は変更できません。また、どちらの場合もロール作成後にスコープを変更することはできません。
ロールのスコープ表示#
ロール詳細パネルのスコープタブには、ロール作成時に割り当てられたスコープエントリが一覧表示されます。各エントリは、このロールの権限が参照できる対象の集合を制限します。

テーブルには以下の列が表示されます:
- スコープタイプ: スコープエントリのタイプです(例: ドメイン、プロジェクト、ユーザー)。
- 対象: スコープ対象の表示名です(例: ドメイン名、プロジェクト名、ユーザーのメールアドレス)。
- スコープID: スコープ対象のUUIDです。
上部のフィルターコントロールを使用して、スコープタイプでエントリを絞り込むことができます。
このタブではスコープは読み取り専用です。ロールのスコープを変更するには、目的のスコープを持つ新しいロールを作成する必要があります。
権限の管理#
ロール詳細パネルの権限タブでは、ロールに設定されたきめ細かい権限を確認できます。

権限について#
各権限は4つの構成要素で構成されています:
- スコープタイプ: 権限が対象とするリソースの種類(例: ドメイン、プロジェクト、ユーザー)
- 対象: スコープタイプ内の特定のエンティティ(例: 特定のドメイン名、特定のプロジェクト)
- 権限タイプ: 権限が制御するリソースのカテゴリで、選択したスコープタイプに基づいてフィルタリングされます
- 権限: リソースに対して許可される操作です。選択した権限タイプに応じて、有効な操作のみが表示されます。操作は2つのカテゴリに分類されます:
- 直接実行: 作成、読み取り、更新、削除、完全削除
- 他ユーザーへ委任: 全権限委任、読み取り権限委任、更新権限委任、削除権限委任、完全削除権限委任
各権限のスコープタイプ / 対象の組み合わせは、ロールのスコープエントリから継承されます。権限を追加する際は、ロール作成時に定義されたスコープからのみ選択できます。ロールの適用範囲を広げるには、追加のスコープを持つ新しいロールを作成する必要があります。
権限設定の例#
以下は、4つの構成要素がどのように連携するかを理解するための一般的な権限設定例です。スコープタイプ / 対象列は、権限が再利用するロールレベルのスコープを示しています。
| シナリオ | スコープタイプ / 対象 | 権限タイプ | 権限 |
|---|---|---|---|
| 特定プロジェクトでストレージフォルダの作成を許可 | プロジェクト / my-project | VFolder | 作成 |
| ドメイン内のすべてのセッションの表示を許可 | ドメイン / default | Session | 読み取り |
| モデルサービングエンドポイントの管理を許可 | ドメイン / default | Endpoint | 作成、読み取り、更新 |
| コンテナイメージの削除を許可 | ドメイン / default | Image | 削除 |
権限の追加#
- ロール詳細パネルを開き、権限タブを選択します
- 権限を追加ボタンをクリックします
- モーダルで以下のフィールドを入力します:
- スコープタイプ / 対象: ロールに割り当てられたスコープエントリの1つを選択します。ドロップダウンには、操作可能なエンティティが少なくとも1つ存在するスコープのみが表示されます。対象は生のUUIDではなく、解決済みのローカライズ表示名(ドメインやプロジェクトの表示名など)で表示されるため、どのスコープか一目で確認できます。
- 権限タイプ: エンティティタイプを選択します。選択したスコープタイプに有効なタイプのみ表示されます。権限タイプのラベル(例: ロール割り当て)もUIの言語に合わせてローカライズされます。
- 権限: 操作を選択します(例: 作成、読み取り、更新、削除、完全削除、または委任操作)
- 追加をクリックして権限を作成します

権限一覧のフィルターコントロールは、各フィルタープロパティに合わせた入力タイプを使うようになりました。列挙値(権限タイプ、権限など)にはセレクター、名前形式のフィールドには自由入力のテキストが提供され、目的のエントリを素早く絞り込めます。
スコープなしで作成されたロール(例: 以前のバージョンからインポートされたレガシーロール)の場合、権限を追加モーダルにはスコープタイプと対象のフィールドがそれぞれ表示され、管理者が権限の対象を直接設定できます。
権限の削除#
- 権限タブで、削除する権限の横にある権限を削除ボタンをクリックします
- ボタンに連動した小さな確認ポップアップが表示されます。OKをクリックして削除するか、キャンセルで閉じます。
ロールから権限を削除しても、ロール自体・スコープ・ユーザー割り当ては保持され、ロールの権限セットから切り離されるだけです。同じ権限はこのタブから後で再度追加できるため、この操作は元に戻せる操作として扱われ、名前を入力して確認するモーダルではなく軽量なポップアップ確認を使用します。
ユーザー割り当ての管理#
ロール詳細パネルのロール割り当てタブでは、ロールに割り当てられているユーザーを確認できます。

ロールにユーザーを追加#
- ロール詳細パネルを開き、ロール割り当てタブを選択します
- ユーザーを追加ボタンをクリックします
- モーダルでメールアドレスまたは名前でユーザーを検索します
- チェックボックスを使用して1人以上のユーザーを選択します
- 割り当てをクリックして選択したユーザーをロールに割り当てます

ロールからユーザーを解除#
- ロール割り当てタブで、解除するユーザーの横にある解除(ゴミ箱)アイコンボタンをクリックします
- ロールからユーザーを外す確認モーダルが開きます。入力欄に**
完全に削除を表示どおり正確に入力する必要があり、入力したテキストが一致するまでロールからユーザーを外す**ボタンは無効のままです。ロールからユーザーを外すをクリックして確定するか、キャンセルで閉じます。

ユーザーを解除すると、そのユーザーのこのロールへの割り当てだけが取り除かれ、ロール自体や他の割り当ては保持されます。
ロールからユーザーを解除する操作は元に戻せません。確認モーダルでロールからユーザーを外すボタンを有効にするには、完全に削除と入力する必要があります。
プロジェクト管理者権限の付与#
プロジェクトを作成すると、project-<project_id>-adminという専用のロールも併せて作成されます。ここで<project_id>は対象プロジェクトのUUIDです。このロールにユーザーを割り当てると、そのユーザーには該当プロジェクトに対するプロジェクト管理者権限が付与されます。これにより、システム全体のスーパー管理者権限を持たなくても、そのプロジェクトのユーザー、セッション、デプロイ、ストレージフォルダを管理できるようになります。

ユーザーにプロジェクト管理者権限を付与するには:
- ロール一覧を開き、対象プロジェクトの
project-<project_id>-adminロールを探します。プロパティフィルターを使用してロール名で検索できます(例:project-と入力して一覧を絞り込みます)。 - ロール名をクリックしてロール詳細画面を開きます。
- そのロールに対してロールにユーザーを追加の手順に従ってユーザーを割り当てます。

ユーザーには即座にプロジェクト管理者権限が付与されます。次にヘッダーのプロジェクトドロップダウンを開くと、対応するプロジェクトの横にプロジェクト管理者バッジが表示され、プロジェクト管理者機能章で説明されているプロジェクト管理者専用のサイドバー項目も表示されます。
プロジェクト管理者権限を取り消すには、同じproject-<project_id>-adminロールに対してロールからユーザーを解除の手順を実行します。