👩‍👩‍👦‍👦

OpenShiftのグループ作成と権限管理

2024/12/01に公開

0.はじめに

OpenShift Container Platform(以下、OCP)入門者向けに、OpenShiftのグループ作成と権限管理ついて解説します。

OpenShiftでは、グループを作成し、ユーザーを追加してアクセス権限を管理することができます。

また、グループやユーザーにロールを割り当てることで、特定のプロジェクトやリソースへのアクセス権を設定します。これにより、効率的かつ柔軟に権限を管理できます。

では、次の章から具体的な解説を進めます!

1.グループの作成と管理

1.1.グループの作成とユーザーの追加

次のコマンドを使用して、新しいグループを作成し、ユーザーを登録します。

oc adm groups new testers alice bob charlie
  • testers: 新しいグループ名。
  • alice, bob, charlie: グループに追加するユーザー名。

実行結果の例:

group.user.openshift.io/testers created

1.2.グループへの表示ロールの割り当て

特定のプロジェクトでグループに対してロール(役割)を割り当てます。たとえば、view ロールを testers グループに付与します。

oc adm policy add-role-to-group view testers -n manage-groups
  • view: プロジェクト内のリソースを表示できるロール。
  • testers: 権限を割り当てるグループ。
  • -n manage-groups: ロールを適用するプロジェクト名。

実行結果の例:

role "view" added: "testers" in project "manage-groups"

1.3.グループから特定のユーザーを削除

次のコマンドで、グループから特定のユーザーを削除します。

oc adm groups remove-users testers alice
  • testers: ユーザーを削除する対象のグループ名。
  • alice: 削除するユーザー名。

実行結果の例:

group "testers" updated

2.RBACの基本構造と権限管理

OpenShiftのRole-Based Access Control (RBAC)は、ユーザーやグループがリソースにアクセスする権限を細かく管理します。RBACは以下の2つのレベルで適用されます。

  1. クラスター全体に適用されるRBAC(ClusterRoleBinding):

    • クラスター全体に影響を与えるアクセス権を設定します。
    • 例: 管理者権限(cluster-admin)を付与する。
  2. プロジェクト(名前空間)単位のRBAC(RoleBinding):

    • 特定の名前空間内でリソースに対するアクセス権を設定します。
    • 例: 表示専用ロール(view)を付与する。

3.RBACの構成例

3.1. クラスター全体にロールを割り当てる

クラスター全体で特定のグループに管理者権限を付与します。

oc adm policy add-cluster-role-to-group cluster-admin testers

実行結果の例:

cluster role "cluster-admin" added: "testers"
  • cluster-admin: クラスター全体の管理者ロール。
  • testers: 権限を付与するグループ。

3.2. プロジェクト単位でロールを割り当てる

プロジェクト内のリソースを操作する権限を、特定のグループに付与します。

oc adm policy add-role-to-group edit testers -n myproject

実行結果の例:

role "edit" added: "testers" in project "myproject"
  • edit: プロジェクト内のリソースを変更できるロール。
  • -n myproject: ロールを適用するプロジェクト名。

3.3. ロールバインディングの確認

現在のプロジェクトで適用されているロールバインディングを確認します。

oc get rolebindings -n myproject

実行結果の例:

NAME      ROLE          USERS      GROUPS
edit      Role/edit                testers
view      Role/view                developers

3.4. グループやユーザーのロールバインディングを削除

不要になった権限を削除する場合は、以下のコマンドを使用します。

oc adm policy remove-role-from-group edit testers -n myproject

実行結果の例:

role "edit" removed: "testers" in project "myproject"

4. おわりに

今回はOpenShiftのグループ作成と権限管理について理解を深めるために、以下を学びました。

操作 コマンド例 説明
グループの作成 oc adm groups new testers alice bob グループを作成し、ユーザーを追加する
グループへのロール割り当て oc adm policy add-role-to-group view testers -n myproject グループにロールを付与する
グループからユーザーを削除 oc adm groups remove-users testers alice グループから特定ユーザーを削除する
クラスター全体のロール割り当て oc adm policy add-cluster-role-to-group cluster-admin testers クラスター全体の権限を付与する
プロジェクト内のロール割り当て oc adm policy add-role-to-group edit testers -n myproject プロジェクト内のリソース操作権限を付与する
ロールバインディングの確認 oc get rolebindings -n myproject プロジェクト内の権限設定を確認する

これらのコマンドを使い分けることで、OpenShiftのグループを効率的かつ柔軟に管理できます。

1回で覚えるのは難しいと思うので、何度かトライして覚えるで全然大丈夫です。

今後もOpenShiftについて解説していきます。

おわりっ!

参考サイト

Discussion