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

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

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

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

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

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

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

1. RBACの主要概念

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

  • ロール: SUSE Multi-Linux Manager内で特定の機能セットを定義する許可の集合。ロールはユーザに割り当てられ、ユーザに集約された許可を付与します。

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

  • 許可: 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. 例: イメージ管理のネームスペースとアクセスモード
Namespace Access Mode Description

cm.build

Modify

Build container or Kiwi images

cm.image.import

Modify

Import container images from a registered image store

cm.image.list

View

List all images

cm.image.list

Modify

Delete images

cm.image.overview

View

View image details, patches, packages, build log and cluster information

cm.image.overview

Modify

Inspect, rebuild, delete images

cm.profile.details

View

View details of an image profile

cm.profile.details

Modify

Create image profiles, edit profile details

cm.profile.list

View

List all image profiles

cm.profile.list

Modify

Delete image profiles

cm.store.details

View

View details of an image store

cm.store.details

Modify

Create image stores, edit store details

cm.store.list

View

List all image stores

cm.store.list

Modify

Delete image stores

A comprehensive list of namespaces and their descriptions can be retrieved by making a call to the access.listNamespaces API method. Refer to SUSE Multi-Linux Manager API documentation for detailed information, including request and response formats.

4. RBACの管理

Managing RBAC roles and permissions is possible either through the API or through the Web UI. To assign roles to users via the web UI, refer to ユーザー.

4.1. APIを介したRBACの管理

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

4.1.1. The access API

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

  • listNamespaces: Lists available namespaces, access modes and their descriptions in SUSE Multi-Linux Manager.

  • listPermissions: Lists permitted namespaces of a role.

  • listRoles: Lists existing roles in SUSE Multi-Linux Manager.

  • createRole: Creates a new role, optionally copying permissions from existing roles.

  • deleteRole: Deletes a role.

  • grantAccess: Grants access to namespaces.

  • revokeAccess: Revokes access to namespaces.

4.1.2. The user API

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

  • listPermissions: Lists effective permissions of a user.

  • listRoles: Lists a user’s assigned roles.

  • addRole: Assigns a role to a user.

  • removeRole: Removes a role from a user.

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

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

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

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

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

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

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