ロールベースのアクセス制御(RBAC)

ロールベースのアクセス制御(RBAC)は、割り当てられたロールに基づいて、許可されたユーザのみがリソースにアクセスできるようにするセキュリティ手法です。SUSE Multi-Linux Managerでは、RBACによりユーザは明示的に許可されたアクションやリソースへのアクセスのみを実行できるようになり、セキュリティが強化され、管理が簡素化されます。

RBACのコア原則は次のとおりです。

  • 最小権限の原則: ユーザがタスクを実行するために必要なアクセス権のみを付与する。

  • きめ細かな制御: 特定の機能に対してきめ細かな制御を提供する。

  • 職務の分離: 単一ユーザが重要なプロセスに対して過度に制御することを防止する。

  • 監査可能性: ユーザのアクションと許可を明確に追跡できるようにする。

1. RBACの主要概念

効果的なRBAC管理には、以下のコア概念を理解することが重要です。

  • Role: A collection of permissions defining a specific set of capabilities within SUSE Multi-Linux Manager.

    Roles are assigned to users, granting the user aggregated permissions.

  • 許可: SUSE Multi-Linux Manager内で特定のアクションを実行したり、特定のWebページにアクセスしたり、特定のAPIエンドポイントを呼び出したりするためのアトミック認可。SUSE Multi-Linux Managerでは、許可はネームスペースとそのアクセスモードによって表されます。

  • ユーザ: SUSE Multi-Linux Managerとやり取りする個々のアカウント。ユーザには1つ以上のロールが割り当てられます。

  • ネームスペース: ツリーのような構造で構成された、アクセス制御のきめ細かな単位。ほとんどのネームスペースには、明確な「表示」モードまたは「変更」モードがあります。

2. SUSE Multi-Linux Managerでのユーザロール

SUSE Multi-Linux Managerでは、事前定義されたロールを提供し、オプションで、他のロールの組み合わせを継承して追加のカスタムロールを定義することもできます。

2.1. 事前定義済みロール

事前定義済みロールとその説明の完全なリストについては、administration:users.adoc#administrator-rolesを参照してください。

2.2. 追加のロールの定義

追加のロールを定義するには、次の操作を実行できます。

  • 許可を継承する既存のロールを複数選択する。

  • アクセスを許可する追加のネームスペースを指定する。

3. きめ細かなアクセスのためのネームスペース

ネームスペースはツリーのような構造で構成された、きめ細かなアクセス制御を提供します。ほとんどのネームスペースでは、ネームスペース内のアクセスは「表示」モードと「変更」モードによってさらに細分化されます。

Table 1. 例: イメージ管理のネームスペースとアクセスモード
ネームスペース アクセスモード 説明

cm.build

変更

コンテナまたはKiwiイメージを構築します

cm.image.import

変更

登録済みイメージストアからコンテナイメージを取り込みます

cm.image.list

表示

すべてのイメージを一覧表示します

cm.image.list

変更

イメージを削除します

cm.image.overview

表示

イメージの詳細、パッチ、パッケージ、構築ログ、クラスタ情報を表示します

cm.image.overview

変更

イメージを検査、再構築、削除します

cm.profile.details

表示

イメージプロファイルの詳細を表示します

cm.profile.details

変更

イメージプロファイルを作成し、プロファイルの詳細を編集します

cm.profile.list

表示

すべてのイメージプロファイルを一覧表示します

cm.profile.list

変更

イメージプロファイルを削除します

cm.store.details

表示

イメージストアの詳細を表示します

cm.store.details

変更

イメージストアを作成し、ストアの詳細を編集します

cm.store.list

表示

すべてのイメージストアを一覧表示します

cm.store.list

変更

イメージストアを削除します

ネームスペースとその説明の包括的なリストは、access.listNamespaces APIメソッドを呼び出すことで取得できます。 リクエストおよび応答形式を含む詳細については、SUSE Multi-Linux Manager APIドキュメントを参照してください。

4. RBACの管理

RBACロールと許可の管理は現在、APIを通じてのみ可能です。 Web UIを介してユーザにロールを割り当てるには、 ユーザーを参照してください。

4.1. APIを介したRBACの管理

SUSE Multi-Linux Manager APIは、ロール、許可、およびユーザの割り当てをプログラムで管理するためのメソッドを提供します。

4.1.1. アクセスAPI

これらのAPIメソッドは、ロールとそれに関連するアクセスを管理します。

  • listNamespaces: SUSE Multi-Linux Managerで利用可能なネームスペース、アクセスモード、およびそれらの説明を一覧表示します。

  • listPermissions: ロールに許可されているネームスペースを一覧表示します。

  • listRoles: SUSE Multi-Linux Manager内の既存のロールを一覧表示します。

  • createRole: 新しいロールを作成します。オプションで既存のロールから許可をコピーします。

  • deleteRole: ロールを削除します。

  • grantAccess: ネームスペースへのアクセスを許可します。

  • revokeAccess: ネームスペースへのアクセスを取り消します。

4.1.2. ユーザAPI

以下のAPIメソッドはユーザとロールの割り当てを管理します。

  • listPermissions: ユーザの有効な許可を一覧表示します。

  • listRoles: ユーザの割り当てられたロールを一覧表示します。

  • addRole: ユーザにロールを割り当てます。

  • removeRole: ユーザからロールを削除します。

リクエストおよび応答形式を含む詳細なAPIドキュメントについては、SUSE Multi-Linux Manager APIリファレンスを参照してください。

5. RBACベストプラクティス

これらのベストプラクティスに従うことで、安全で、効率的で、管理しやすいRBAC環境を維持できます。

  • 最小権限の原則: 職務を遂行するために必要な最小限の許可をユーザに常に付与します。過度に広範な許可は避けてください。

  • 定期的なレビュー: ユーザに割り当てられたロールと許可を定期的にレビューして、それらが依然として適切であり、現在のセキュリティポリシーに準拠していることを確認します。

  • ロールの文書化: 作成する各カスタムロールの目的と許可を明確に文書化します。

  • 職務の分離: 単一ユーザが重要なプロセスに対して過度に制御することを防止するため、職務の分離を強制するロールを実装します。