Tanzu Kubernetes-Cluster enthalten die standardmäßige PodSecurityPolicy-Ressource, zu der Sie für die Bereitstellung von berechtigten und eingeschränkten Arbeitslasten eine Bindung herstellen können.
Informationen zur standardmäßigen Pod-Sicherheitsrichtlinie
Dieser Abschnitt enthält YAML- und CLI-Befehle zum Erstellen von Rollenbindungsobjekten für die standardmäßige Pod-Sicherheitsrichtlinie, einschließlich ClusterRoleBinding und RoleBinding. Weitere Informationen finden Sie unter Verwenden von Pod-Sicherheitsrichtlinien mit Tanzu Kubernetes-Clustern.
Ein RoleBinding gewährt Berechtigungen innerhalb eines bestimmten Namespace, während ein ClusterRoleBinding Berechtigungen clusterweit gewährt. Die Entscheidung, RoleBindings oder ClusterRoleBinding zu verwenden, hängt von Ihrem Anwendungsfall ab. Wenn Sie beispielsweise ClusterRoleBinding verwenden und die Subjekte für die Verwendung von system:serviceaccounts:<namespace>
konfigurieren, können Sie eine Bindung an eine PSP herstellen, bevor der Namespace erstellt wird. Weitere Informationen finden Sie unter RoleBinding and ClusterRoleBinding in der Kubernetes-Dokumentation.
Beispiel 1: ClusterRoleBinding-Objekt zum Ausführen eines privilegierten Satzes von Arbeitslasten
vmware-system-privileged
gewährt.
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: psp:privileged rules: - apiGroups: ['policy'] resources: ['podsecuritypolicies'] verbs: ['use'] resourceNames: - vmware-system-privileged --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: all:psp:privileged roleRef: kind: ClusterRole name: psp:privileged apiGroup: rbac.authorization.k8s.io subjects: - kind: Group name: system:serviceaccounts apiGroup: rbac.authorization.k8s.io
kubectl
-Befehl ausführen:
kubectl create clusterrolebinding default-tkg-admin-privileged-binding --clusterrole=psp:vmware-system-privileged --group=system:authenticated
Beispiel 2: RoleBinding-Objekt zum Ausführen eines berechtigten Satzes von Arbeitslasten
vmware-system-privileged
Zugriff auf alle Dienstkonten im Standard-Namespace gewährt.
kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: rolebinding-default-privileged-sa-ns_default namespace: default roleRef: kind: ClusterRole name: psp:vmware-system-privileged apiGroup: rbac.authorization.k8s.io subjects: - kind: Group apiGroup: rbac.authorization.k8s.io name: system:serviceaccounts
kubectl create rolebinding rolebinding-default-privileged-sa-ns_default --namespace=default --clusterrole=psp:vmware-system-privileged --group=system:serviceaccounts
Beispiel 3: ClusterRoleBinding-Objekt zum Ausführen eines eingeschränkten Satzes von Arbeitslasten
Die folgende YAML erstellt ein ClusterRoleBinding-Objekt, das authentifizierten Benutzern für die Ausführung eines begrenzten Satzes von Arbeitslasten mithilfe der Standard-PSP vmware-system-restricted
clusterweiten Zugriff gewährt.
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: psp:authenticated subjects: - apiGroup: rbac.authorization.k8s.io kind: Group name: system:authenticated roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: psp:vmware-system-restricted
Alternativ zur Anwendung von YAML können Sie folgenden kubectl-Befehl ausführen:
kubectl create clusterrolebinding psp:authenticated --clusterrole=psp:vmware-system-restricted --group=system:authenticated
Beispiel 4: RoleBinding-Objekt zum Ausführen eines eingeschränkten Satzes von Arbeitslasten
Die folgende YAML erstellt ein RoleBinding-Objekt, das für die Ausführung eines begrenzten Satzes von Arbeitslasten mithilfe der Standard-PSP vmware-system-restricted
Zugriff auf alle Dienstkonten in einem bestimmten Namespace gewährt.
apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: psp:serviceaccounts namespace: some-namespace subjects: - apiGroup: rbac.authorization.k8s.io kind: Group name: system:serviceaccounts roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: psp:vmware-system-restricted
Alternativ zur Anwendung von YAML können Sie folgenden kubectl-Befehl ausführen:
kubectl create rolebinding psp:serviceaccounts --clusterrole=psp:vmware-system-restricted --group=system:serviceaccounts