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

Il seguente comando kubectl crea un ClusterRoleBinding che concede l'accesso agli utenti autenticati eseguono un set con privilegi di carichi di lavoro utilizzando il PSP vmware-system-privileged predefinito.
kubectl create clusterrolebinding default-tkg-admin-privileged-binding --clusterrole=psp:vmware-system-privileged --group=system:authenticated
Nota: Il comando precedente consente la distribuzione di carichi di lavoro con privilegi a livello di cluster. Per una sicurezza più stretta, è consigliabile utilizzare un RoleBinding.

Esempio 2: RoleBinding per l'esecuzione di un set con privilegi di carichi di lavoro

Il seguente comando kubectl crea un RoleBinding che concede l'accesso a tutti gli account di servizio all'interno dello spazio dei nomi predefinito per eseguire un set con privilegi di carichi di lavoro utilizzando il PSP 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
In alternativa all'applicazione del codice YAML, è possibile eseguire il comando kubectl seguente.
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