Skip to content

Commit c5bb0a6

Browse files
authored
Merge pull request kubernetes#50312 from za/id-translate-security-pss
id: translate security tutorial pod security standards
2 parents 0a3b5f2 + 62a3a66 commit c5bb0a6

File tree

1 file changed

+159
-0
lines changed

1 file changed

+159
-0
lines changed

Diff for: content/id/docs/tutorials/security/ns-level-pss.md

+159
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
---
2+
title: Menerapkan Standar Keamanan Pod di Tingkat Namespace
3+
content_type: tutorial
4+
weight: 20
5+
---
6+
7+
{{% alert title="Catatan" %}}
8+
Tutorial ini hanya berlaku untuk klaster baru.
9+
{{% /alert %}}
10+
11+
Pod Security Admission adalah pengendali penerimaan (admission controller) yang menerapkan
12+
[Standar Keamanan Pod](/docs/concepts/security/pod-security-standards/)
13+
saat pod dibuat. Fitur ini telah mencapai status GA di v1.25.
14+
Dalam tutorial ini, Anda akan menerapkan Standar Keamanan Pod `baseline`,
15+
satu namespace pada satu waktu.
16+
17+
Anda juga dapat menerapkan Standar Keamanan Pod ke beberapa namespace sekaligus di tingkat klaster. Untuk instruksi, lihat
18+
[Menerapkan Standar Keamanan Pod di tingkat klaster](/docs/tutorials/security/cluster-level-pss/).
19+
20+
## {{% heading "prerequisites" %}}
21+
22+
Pasang alat berikut di workstation Anda:
23+
24+
- [kind](https://kind.sigs.k8s.io/docs/user/quick-start/#installation)
25+
- [kubectl](/docs/tasks/tools/)
26+
27+
## Membuat klaster
28+
29+
1. Buat klaster `kind` sebagai berikut:
30+
31+
```shell
32+
kind create cluster --name psa-ns-level
33+
```
34+
35+
Outputnya mirip dengan ini:
36+
37+
```
38+
Membuat klaster "psa-ns-level" ...
39+
✓ Memastikan gambar node (kindest/node:v{{< skew currentPatchVersion >}}) 🖼
40+
✓ Menyiapkan node 📦
41+
✓ Menulis konfigurasi 📜
42+
✓ Memulai control-plane 🕹️
43+
✓ Memasang CNI 🔌
44+
✓ Memasang StorageClass 💾
45+
Atur konteks kubectl ke "kind-psa-ns-level"
46+
Anda sekarang dapat menggunakan klaster Anda dengan:
47+
48+
kubectl cluster-info --context kind-psa-ns-level
49+
50+
Tidak yakin apa yang harus dilakukan selanjutnya? 😅 Lihat https://kind.sigs.k8s.io/docs/user/quick-start/
51+
```
52+
53+
1. Atur konteks kubectl ke klaster baru:
54+
55+
```shell
56+
kubectl cluster-info --context kind-psa-ns-level
57+
```
58+
Outputnya mirip dengan ini:
59+
60+
```
61+
Control plane Kubernetes berjalan di https://127.0.0.1:50996
62+
CoreDNS berjalan di https://127.0.0.1:50996/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
63+
64+
Untuk debug dan diagnosis masalah klaster lebih lanjut, gunakan 'kubectl cluster-info dump'.
65+
```
66+
67+
## Membuat namespace
68+
69+
Buat namespace baru bernama `example`:
70+
71+
```shell
72+
kubectl create ns example
73+
```
74+
75+
Outputnya mirip dengan ini:
76+
77+
```
78+
namespace/example created
79+
```
80+
81+
## Mengaktifkan pemeriksaan Standar Keamanan Pod untuk namespace tersebut
82+
83+
1. Aktifkan Standar Keamanan Pod pada namespace ini menggunakan label yang didukung oleh
84+
Pod Security Admission bawaan. Dalam langkah ini Anda akan mengkonfigurasi pemeriksaan untuk
85+
memberikan peringatan pada Pod yang tidak memenuhi versi terbaru dari standar keamanan pod _baseline_.
86+
87+
```shell
88+
kubectl label --overwrite ns example \
89+
pod-security.kubernetes.io/warn=baseline \
90+
pod-security.kubernetes.io/warn-version=latest
91+
```
92+
93+
2. Anda dapat mengonfigurasi beberapa pemeriksaan standar keamanan pod pada namespace mana pun, menggunakan label.
94+
Perintah berikut akan `enforce` Standar Keamanan Pod `baseline`, tetapi
95+
`warn` dan `audit` untuk Standar Keamanan Pod `restricted` sesuai dengan versi terbaru
96+
(nilai default)
97+
98+
```shell
99+
kubectl label --overwrite ns example \
100+
pod-security.kubernetes.io/enforce=baseline \
101+
pod-security.kubernetes.io/enforce-version=latest \
102+
pod-security.kubernetes.io/warn=restricted \
103+
pod-security.kubernetes.io/warn-version=latest \
104+
pod-security.kubernetes.io/audit=restricted \
105+
pod-security.kubernetes.io/audit-version=latest
106+
```
107+
108+
## Memverifikasi penerapan Standar Keamanan Pod
109+
110+
1. Buat Pod baseline di namespace `example`:
111+
112+
```shell
113+
kubectl apply -n example -f https://k8s.io/examples/security/example-baseline-pod.yaml
114+
```
115+
Pod berhasil dibuat; outputnya termasuk peringatan. Sebagai contoh:
116+
117+
```
118+
Warning: would violate PodSecurity "restricted:latest": allowPrivilegeEscalation != false (container "nginx" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "nginx" must set securityContext.capabilities.drop=["ALL"]), runAsNonRoot != true (pod or container "nginx" must set securityContext.runAsNonRoot=true), seccompProfile (pod or container "nginx" must set securityContext.seccompProfile.type to "RuntimeDefault" or "Localhost")
119+
pod/nginx created
120+
```
121+
122+
1. Buat Pod baseline di namespace `default`:
123+
124+
```shell
125+
kubectl apply -n default -f https://k8s.io/examples/security/example-baseline-pod.yaml
126+
```
127+
Outputnya mirip dengan ini:
128+
129+
```
130+
pod/nginx created
131+
```
132+
133+
Pengaturan penerapan dan peringatan Standar Keamanan Pod hanya diterapkan
134+
ke namespace `example`. Anda dapat membuat Pod yang sama di namespace `default`
135+
tanpa peringatan.
136+
137+
## Menghapus
138+
139+
Sekarang hapus klaster yang Anda buat di atas dengan menjalankan perintah berikut:
140+
141+
```shell
142+
kind delete cluster --name psa-ns-level
143+
```
144+
145+
## {{% heading "whatsnext" %}}
146+
147+
- Jalankan
148+
[skrip shell](/examples/security/kind-with-namespace-level-baseline-pod-security.sh)
149+
untuk melakukan semua langkah sebelumnya sekaligus.
150+
151+
1. Membuat klaster kind
152+
2. Membuat namespace baru
153+
3. Menerapkan Standar Keamanan Pod `baseline` dalam mode `enforce` sambil menerapkan
154+
Standar Keamanan Pod `restricted` juga dalam mode `warn` dan `audit`.
155+
4. Membuat pod baru dengan standar keamanan pod berikut diterapkan
156+
157+
- [Pod Security Admission](/docs/concepts/security/pod-security-admission/)
158+
- [Standar Keamanan Pod](/docs/concepts/security/pod-security-standards/)
159+
- [Menerapkan Standar Keamanan Pod di tingkat klaster](/docs/tutorials/security/cluster-level-pss/)

0 commit comments

Comments
 (0)