2.12. ユーザーおよびプロファイルの管理
2.12.1. Red Hat OpenShift Service Mesh メンバーの作成 リンクのコピーリンクがクリップボードにコピーされました!
ServiceMeshMember リソースは、各ユーザーが Service Mesh プロジェクトまたはメンバーロールに直接アクセスできない場合でも、Red Hat OpenShift Service Mesh の管理者がプロジェクトを Service Mesh に追加する権限を委譲する方法を提供します。プロジェクト管理者にはプロジェクトで ServiceMeshMember リソースを作成するためのパーミッションが自動的に付与されますが、Service Mesh 管理者が Service Mesh へのアクセスを明示的に付与するまで、これらのプロジェクト管理者はこれを ServiceMeshControlPlane にポイントすることはできません。管理者は、ユーザーに mesh-user ユーザーロールを付与してメッシュにアクセスするパーミッションをユーザーに付与できます。この例では、istio-system が Service Mesh コントロールプレーンプロジェクトの名前となります。
$ oc policy add-role-to-user -n istio-system --role-namespace istio-system mesh-user <user_name>
管理者は、Service Mesh コントロールプレーンプロジェクト内の mesh-user ロールバインディングを変更して、アクセスを許可するユーザーとグループを指定できます。ServiceMeshMember は、プロジェクトを、参照する Service Mesh コントロールプレーンプロジェクト内の ServiceMeshMemberRoll に追加します。
apiVersion: maistra.io/v1
kind: ServiceMeshMember
metadata:
name: default
spec:
controlPlaneRef:
namespace: istio-system
name: basic
mesh-users ロールバインディングは、管理者が ServiceMeshControlPlane リソースを作成した後に自動的に作成されます。管理者は以下のコマンドを使用してロールをユーザーに追加できます。
$ oc policy add-role-to-user
管理者は、ServiceMeshControlPlane リソースを作成する前に、mesh-user ロールバインディングを作成することもできます。たとえば、管理者は ServiceMeshControlPlane リソースと同じ oc apply 操作でこれを作成できます。
この例では、alice のロールバインディングを追加します。
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
namespace: istio-system
name: mesh-users
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: mesh-user
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: User
name: alice