Tanzu Kubernetes 클러스터에는 권한 있는 워크로드 및 제한된 워크로드 배포를 위해 바인딩할 수 있는 기본 PodSecurityPolicy가 포함됩니다.
기본 포드 보안 정책 정보
이 섹션에서는 ClusterRoleBinding 및 RoleBinding을 포함하여 기본 포드 보안 정책에 대한 역할 바인딩 개체를 생성하기 위한 YAML 및 CLI 명령을 제공합니다. 자세한 내용은 Tanzu Kubernetes 클러스터에서 포드 보안 정책 사용의 내용을 참조하십시오.
RoleBinding은 특정 네임스페이스 내에서 사용 권한을 부여하지만 ClusterRoleBinding은 클러스터 전체에서 사용 권한을 부여합니다. RoleBinding을 사용할지 아니면 ClusterRoleBinding을 사용할지는 사용 사례에 따라 다릅니다. 예를 들어 ClusterRoleBinding을 사용하고 system:serviceaccounts:<namespace>
를 사용하도록 주체를 구성하는 경우 네임스페이스가 생성되기 전에 PSP에 바인딩할 수 있습니다. 자세한 내용은 Kubernetes 설명서에서 RoleBinding 및 ClusterRoleBinding을 참조하십시오.
예 1: 권한 있는 워크로드 집합을 실행하는 ClusterRoleBinding
vmware-system-privileged
를 사용하여 권한 있는 워크로드 집합을 실행하도록 인증된 사용자에게 액세스 권한을 부여하는 ClusterRoleBinding을 생성합니다.
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
명령을 실행할 수 있습니다.
kubectl create clusterrolebinding default-tkg-admin-privileged-binding --clusterrole=psp:vmware-system-privileged --group=system:authenticated
예 2: 권한 있는 워크로드 집합을 실행하는 RoleBinding
vmware-system-privileged
를 사용하여 권한 있는 워크로드 집합을 실행하도록 기본 네임스페이스 내의 모든 서비스 계정에 액세스 권한을 부여하는 RoleBinding을 생성합니다.
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
예 3: 제한된 워크로드 집합을 실행하는 ClusterRoleBinding
다음 YAML은 기본 PSP vmware-system-restricted
를 사용하여 제한된 워크로드 집합을 실행하도록 인증된 사용자에게 클러스터 전체 액세스 권한을 부여하는 ClusterRoleBinding을 생성합니다.
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
YAML을 적용하는 대신 다음 kubectl 명령을 실행할 수 있습니다.
kubectl create clusterrolebinding psp:authenticated --clusterrole=psp:vmware-system-restricted --group=system:authenticated
예 4: 제한된 워크로드 집합을 실행하는 RoleBinding
다음 YAML은 기본 PSP vmware-system-restricted
를 사용하여 제한된 워크로드 집합을 실행하도록 특정 네임스페이스 내의 모든 서비스 계정에 액세스 권한을 부여하는 RoleBinding을 생성합니다.
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
YAML을 적용하는 대신 다음 kubectl 명령을 실행할 수 있습니다.
kubectl create rolebinding psp:serviceaccounts --clusterrole=psp:vmware-system-restricted --group=system:serviceaccounts