ビュー:
プロファイル適用性: レベル1
RBACロールcluster-adminは、環境に対して広範な権限を提供するため、必要な場合にのみ使用するべきです。
Kubernetesは、RBACが使用される一連のデフォルトロールを提供します。これらのロールの中には、cluster-adminのように、絶対に必要な場合にのみ適用すべき広範な特権を提供するものがあります。cluster-adminのようなロールは、あらゆるリソースに対して任意のアクションを実行するスーパーユーザアクセスを許可します。ClusterRoleBindingで使用されると、クラスター内およびすべてのネームスペース内のすべてのリソースに対する完全な制御を提供します。RoleBindingで使用されると、ロールバインディングのネームスペース自体を含む、そのネームスペース内のすべてのリソースに対する完全な制御を提供します。
注意
注意
デフォルトでは、clusterrolebinding という単一の cluster-adminsystem:masters グループをプリンシパルとして提供されます。

影響

環境からclusterrolebindingsを削除する前に、それがクラスタの運用に必要でないことを確認する必要があります。特に、system:プレフィックスが付いたclusterrolebindingsには変更を加えてはいけません。これらはシステムコンポーネントの運用に必要です。

監査

cluster-adminロールにアクセスできるプリンシパルのリストを取得するには、cluster-adminロールにアクセスできる各ロールバインディングのclusterrolebinding出力を確認してください。
kubectl get clusterrolebindings -o=custom-
columns=NAME:.metadata.name,ROLE:.roleRef.name,SUBJECT:.subjects[*].name
記載されている各プリンシパルを確認し、それにcluster-admin権限が必要であることを確認してください。

修復

すべてのclusterrolebindingscluster-adminロールに特定します。それらが使用されているか、このロールが必要か、またはより少ない権限のロールを使用できるかを確認します。可能であれば、まずユーザを低権限のロールにバインドし、その後cluster-adminロールへのclusterrolebindingを削除します。
kubectl delete clusterrolebinding [name]