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

影響

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

監査

cluster-adminロールにアクセス権を持つプリンシパルのリストを取得するには、cluster-adminロールにアクセス権を持つ各ロールバインディングのclusterrolebinding出力を確認してください。
cluster-adminロールにバインドされているすべてのプリンシパル (ユーザ、グループ、またはサービスアカウント) を一覧表示するための簡潔で効果的なCLIステートメントはこちらです。
kubectl get clusterrolebinding -o jsonpath='{range .items[?(@.roleRef.name=="cluster-admin")]}{.metadata.name}{"\n"}{range .subjects[*]}{.kind}{"\t"}{.name}{"\n"}{end}{"\n"}{end}'
記載されている各プリンシパルを確認し、それにcluster-admin権限が必要であることを確認してください。

修復

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