Bantu tingkatkan halaman ini
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.
Kebijakan keamanan pod
Pengontrol penerimaan kebijakan Kubernetes Pod keamanan memvalidasi permintaan Pod pembuatan dan pembaruan terhadap seperangkat aturan. Secara default, klaster Amazon EKS dikirimkan dengan kebijakan keamanan yang sepenuhnya permisif tanpa batasan. Untuk informasi selengkapnya, lihat Kebijakan Keamanan Pod
catatan
The PodSecurityPolicy
(PSP) tidak digunakan lagi dalam Kubernetes versi 1.21
dan dihapus di. Kubernetes 1.25
PSPssedang diganti dengan Pod Security Admission (PSA)1.25
, kami sarankan Anda menerapkan PSS di Amazon EKS. Untuk informasi selengkapnya, lihat Menerapkan Standar Keamanan Pod di Amazon EKS
Kebijakan Pod keamanan default Amazon EKS
Cluster Amazon EKS dengan Kubernetes versi 1.13
atau lebih tinggi memiliki kebijakan Pod keamanan default bernamaeks.privileged
. Kebijakan ini tidak memiliki batasan pada jenis apa yang Pod dapat diterima ke dalam sistem, yang setara dengan berjalan 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 file YAMB lengkap untuk kebijakan eks.privileged
Pod keamanan, peran klaster, dan peran klaster yang mengikat. Instal atau pulihkan kebijakan Pod keamanan default
Hapus kebijakan Pod keamanan Amazon EKS default
Jika Anda membuat kebijakan yang lebih ketat untuk AndaPods, maka setelah melakukannya, Anda dapat menghapus kebijakan eks.privileged
Pod keamanan Amazon EKS default untuk mengaktifkan kebijakan kustom Anda.
penting
Jika Anda menggunakan versi 1.7.0
atau yang lebih baru dari plugin CNI dan Anda menetapkan kebijakan Pod keamanan khusus ke akun aws-node
Kubernetes layanan yang digunakan untuk aws-node
Pods digunakan oleh Daemonset, maka kebijakan tersebut harus ada NET_ADMIN
di allowedCapabilities
bagiannya bersama dengan hostNetwork: true
dan privileged: true
di kebijakan tersebut. spec
Untuk menghapus kebijakan Pod keamanan default
-
Buat file bernama
dengan konten dalam file contoh diInstal atau pulihkan kebijakan Pod keamanan default.privileged-podsecuritypolicy.yaml
-
Hapus YAML dengan perintah berikut. Ini menghapus kebijakan Pod keamanan default, yang
ClusterRole
, dan yangClusterRoleBinding
terkait dengannya.kubectl delete -f
privileged-podsecuritypolicy.yaml
Instal atau pulihkan kebijakan Pod keamanan default
Jika Anda memutakhirkan dari versi sebelumnyaKubernetes, atau telah memodifikasi atau menghapus kebijakan eks.privileged
Pod keamanan Amazon EKS default, Anda dapat memulihkannya dengan langkah-langkah berikut.
Untuk menginstal atau memulihkan kebijakan Pod keamanan default
-
Buat file bernama
dengan konten berikut.privileged-podsecuritypolicy.yaml
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