OpenShiftのグループ作成と権限管理
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つのレベルで適用されます。
-
クラスター全体に適用されるRBAC(ClusterRoleBinding):
- クラスター全体に影響を与えるアクセス権を設定します。
- 例: 管理者権限(
cluster-admin
)を付与する。
-
プロジェクト(名前空間)単位の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