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

ロールベースのアクセス制御(RBAC)は、割り当てられた役割に基づいて、認可されたユーザーにリソースへのアクセスを制限するセキュリティ手法です。SUSE Managerにおいて、RBACはユーザーが明示的に認可されたアクションを実行し、リソースにアクセスできることを保証し、セキュリティを強化し、管理を簡素化します。

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

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

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

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

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

1. RBACの主要概念

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

  • 役割:SUSE Manager内の特定の機能セットを定義する権限のコレクション。ロールはユーザに割り当てられ、ユーザに集約された許可を付与します。

    ロールはユーザに割り当てられ、ユーザに集約された許可を付与します。

  • 権限:SUSE Manager内で特定のアクションを実行したり、特定のウェブページにアクセスしたり、特定のAPIエンドポイントを呼び出したりするための原子的な認可。SUSE Managerにおいて、権限はネームスペースとそのアクセスモードによって表されます。

  • ユーザー:SUSE Managerと対話する個別のアカウント。ユーザーには1つ以上の役割が割り当てられます。

  • *[Namespace:*木構造で整理されたきめ細かなアクセス制御のユニット。ほとんどのネームスペースには、明確な「表示」または「変更」モードがあります。

2. SUSE Managerにおけるユーザロール

SUSE 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 Manager APIドキュメントを参照してください。

4. RBACの管理

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

4.1. APIを介したRBACの管理

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

4.1.1. access API

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

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

  • listPermissions:ロールの許可されたネームスペースを一覧表示します。

  • listRoles:SUSE Managerに存在するロールを一覧表示します。

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

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

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

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

4.1.2. user API

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

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

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

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

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

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

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

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

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

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

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

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