I cluster Tanzu Kubernetes includono il valore predefinito di PodSecurityPolicy per il quale è possibile eseguire il binding per la distribuzione dei carichi di lavoro con privilegi e restrizioni.
Informazioni sul criterio di sicurezza del pod predefinito
Questa sezione fornisce i comandi YAML e CLI per la creazione di oggetti di binding del ruolo al criterio di sicurezza pod predefinito, inclusi ClusterRoleBinding e RoleBinding. Per ulteriori informazioni, vedere Utilizzo dei criteri di protezione pod con i cluster di Tanzu Kubernetes.
Un RoleBinding concede le autorizzazioni all'interno di uno spazio dei nomi specifico, mentre ClusterRoleBinding concede le autorizzazioni a livello di cluster. La decisione di utilizzare RoleBindings o ClusterRoleBinding dipende dal caso d'uso. Ad esempio, se si utilizza un ClusterRoleBinding e si configurano gli argomenti da utilizzare per l'utilizzo di system:serviceaccounts:<namespace>
, è possibile eseguire il binding a un PSP prima che venga creato lo spazio dei nomi. Per ulteriori informazioni, vedere RoleBinding and ClusterRoleBinding nella documentazione di Kubernetes.
Esempio 1: ClusterRoleBinding per eseguire un set di carichi di lavoro con privilegi
vmware-system-privileged
predefinito.
kubectl create clusterrolebinding default-tkg-admin-privileged-binding --clusterrole=psp:vmware-system-privileged --group=system:authenticated
Esempio 2: RoleBinding per l'esecuzione di un set con privilegi di carichi di lavoro
vmware-system-privileged
predefinito.
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
Esempio 3: ClusterRoleBinding per l'esecuzione di un set di carichi di lavoro con restrizioni
Il seguente codice YAML crea un ClusterRoleBinding che concede agli utenti autenticati l'accesso a livello di cluster per eseguire un set di carichi di lavoro con restrizioni utilizzando il PSP vmware-system-restricted
predefinito.
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
In alternativa all'applicazione del codice YAML, è possibile eseguire il comando kubectl seguente.
kubectl create clusterrolebinding psp:authenticated --clusterrole=psp:vmware-system-restricted --group=system:authenticated
Esempio 4: RoleBinding per l'esecuzione di un set di carichi di lavoro con restrizioni
Il seguente codice YAML crea un RoleBinding che concede l'accesso a tutti gli account di servizio all'interno di uno spazio dei nomi specifico per eseguire una serie di carichi di lavoro con restrizioni utilizzando il PSP vmware-system-restricted
predefinito.
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
In alternativa all'applicazione del codice YAML, è possibile eseguire il comando kubectl seguente.
kubectl create rolebinding psp:serviceaccounts --clusterrole=psp:vmware-system-restricted --group=system:serviceaccounts