Bantu tingkatkan halaman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Ingin berkontribusi pada panduan pengguna ini? Gulir ke bagian bawah halaman ini dan pilih Edit halaman ini GitHub. Kontribusi Anda akan membantu membuat panduan pengguna kami lebih baik untuk semua orang.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memahami kebijakan keamanan pod yang EKS dibuat Amazon (PSP)
Bagian Kubernetes
Pod pengontrol penerimaan kebijakan keamanan memvalidasi Pod pembuatan dan pembaruan permintaan terhadap seperangkat aturan. Secara default, EKS kluster Amazon dikirimkan dengan kebijakan keamanan yang sepenuhnya permisif tanpa batasan. Untuk informasi selengkapnya, lihat Kebijakan Keamanan Pod
catatan
Yang PodSecurityPolicy
(PSP) tidak digunakan lagi di Kubernetes versi 1.21
dan dihapus di Kubernetes
1.25
. PSPs sedang diganti dengan Pod Security Admission (PSA)1.25
, kami sarankan Anda menerapkan PSS di AmazonEKS. Untuk informasi selengkapnya, lihat Menerapkan Standar Keamanan Pod EKS di Amazon
Amazon EKS default Pod kebijakan keamanan
EKSCluster Amazon dengan Kubernetes versi 1.13
atau lebih tinggi memiliki default Pod Kebijakan keamanan bernamaeks.privileged
. Kebijakan ini tidak memiliki batasan pada jenis apa Pod dapat diterima ke dalam sistem, yang setara dengan menjalankan Kubernetes dengan PodSecurityPolicy
pengontrol dinonaktifkan.
catatan
Kebijakan ini dibuat untuk memelihara kompatibilitas ke belakang dengan klaster yang tidak memiliki pengendali PodSecurityPolicy
yang aktif. Anda dapat membuat kebijakan yang lebih ketat untuk klaster Anda, juga untuk namespace individual serta akun layanan, dan kemudian hapus kebijakan default untuk mengaktifkan kebijakan yang lebih ketat.
Anda dapat melihat kebijakan default dengan perintah berikut.
kubectl get psp eks.privileged
Contoh output adalah sebagai berikut.
NAME PRIV CAPS SELINUX RUNASUSER FSGROUP SUPGROUP READONLYROOTFS VOLUMES eks.privileged true * RunAsAny RunAsAny RunAsAny RunAsAny false *
Untuk lebih jelasnya, Anda dapat mendeskripsikan kebijakan dengan perintah berikut.
kubectl describe psp eks.privileged
Contoh output adalah sebagai berikut.
Name: eks.privileged Settings: Allow Privileged: true Allow Privilege Escalation: 0xc0004ce5f8 Default Add Capabilities: <none> Required Drop Capabilities: <none> Allowed Capabilities: * Allowed Volume Types: * Allow Host Network: true Allow Host Ports: 0-65535 Allow Host PID: true Allow Host IPC: true Read Only Root Filesystem: false SELinux Context Strategy: RunAsAny User: <none> Role: <none> Type: <none> Level: <none> Run As User Strategy: RunAsAny Ranges: <none> FSGroup Strategy: RunAsAny Ranges: <none> Supplemental Groups Strategy: RunAsAny Ranges: <none>
Anda dapat melihat YAML file lengkap untuk eks.privileged
Pod kebijakan keamanan, peran klaster, dan pengikatan peran klaster di Instal atau pulihkan default Pod kebijakan keamanan Instal atau pulihkan kebijakan keamanan Pod default.
Hapus Amazon default EKS Pod kebijakan keamanan
Jika Anda membuat kebijakan yang lebih ketat untuk Anda Pods, lalu setelah melakukannya, Anda dapat menghapus Amazon default EKS eks.privileged
Pod kebijakan keamanan untuk mengaktifkan kebijakan kustom Anda.
penting
Jika Anda menggunakan versi 1.7.0
atau yang lebih baru dari CNI plugin dan Anda menetapkan kustom Pod Kebijakan keamanan untuk aws-node
Kubernetes akun layanan yang digunakan untuk aws-node
Pods dikerahkan oleh Daemonset, maka kebijakan harus ada NET_ADMIN
di allowedCapabilities
bagiannya bersama dengan hostNetwork: true
dan privileged: true
di kebijakan. spec
-
Buat file bernama
privileged-podsecuritypolicy.yaml
dengan konten dalam file contoh di Instal atau pulihkan default Pod kebijakan keamanan Instal atau pulihkan kebijakan keamanan Pod default. -
Hapus YAML dengan perintah berikut. Ini menghapus default Pod kebijakan keamanan, yang
ClusterRole
, dan yangClusterRoleBinding
terkait dengannya.kubectl delete -f privileged-podsecuritypolicy.yaml
Instal atau pulihkan default Pod kebijakan keamanan
Jika Anda memutakhirkan dari versi sebelumnya Kubernetes, atau telah memodifikasi atau menghapus Amazon default EKS eks.privileged
Pod kebijakan keamanan, Anda dapat mengembalikannya dengan langkah-langkah berikut.
-
Buat file bernama
privileged-podsecuritypolicy.yaml
dengan konten berikut.apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: eks.privileged annotations: kubernetes.io/description: 'privileged allows full unrestricted access to Pod features, as if the PodSecurityPolicy controller was not enabled.' seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*' labels: kubernetes.io/cluster-service: "true" eks.amazonaws.com/component: pod-security-policy spec: privileged: true allowPrivilegeEscalation: true allowedCapabilities: - '*' volumes: - '*' hostNetwork: true hostPorts: - min: 0 max: 65535 hostIPC: true hostPID: true runAsUser: rule: 'RunAsAny' seLinux: rule: 'RunAsAny' supplementalGroups: rule: 'RunAsAny' fsGroup: rule: 'RunAsAny' readOnlyRootFilesystem: false --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: eks:podsecuritypolicy:privileged labels: kubernetes.io/cluster-service: "true" eks.amazonaws.com/component: pod-security-policy rules: - apiGroups: - policy resourceNames: - eks.privileged resources: - podsecuritypolicies verbs: - use --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: eks:podsecuritypolicy:authenticated annotations: kubernetes.io/description: 'Allow all authenticated users to create privileged Pods.' labels: kubernetes.io/cluster-service: "true" eks.amazonaws.com/component: pod-security-policy roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: eks:podsecuritypolicy:privileged subjects: - kind: Group apiGroup: rbac.authorization.k8s.io name: system:authenticated
-
Terapkan YAML dengan perintah berikut.
kubectl apply -f privileged-podsecuritypolicy.yaml