Gatekeeper๋ ๋ฌด์์ธ๊ฐ์?
Gatekeeper๋ CNCF Graduated Project๋ก, Kubernetes ํ๊ฒฝ์์ ์ ์ฑ ๊ฒ์ฆ(validation)๊ณผ ๋ณ๊ฒฝ(mutation)์ ์๋ํํ ์ ์๋๋ก ๋์์ฃผ๋ ๊ฐ๋ ฅํ Admission Controller & Policy Engine์ ๋๋ค.
์ฃผ์ ์ฅ์
- ์ผ๊ด์ฑ ํ๋ณด: ์๋ ๊ฒ์ฆ ๋์ ์ ์ฑ ์๋ฐ์ ์๋์ผ๋ก ํ์งํ๊ณ ์ฐจ๋จํฉ๋๋ค.
- ๊ฐ๋ฐ ์๋ ์ ์ง: ๊ท์ ์๋ฐ ์ ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ์ ์ ๊ณตํ์ฌ ๋น ๋ฅธ ๋ฐ๋ณต ๊ฐ๋ฐ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ์ปดํ๋ผ์ด์ธ์ค ๊ฐํ: ๋ฒ๊ท ๋ฐ ๋ด๋ถ ๊ท์ ์ ์๋ํํด ๋ฆฌ์คํฌ๋ฅผ ์ค์ ๋๋ค.
- ์ ์ฐํ ํ์ฅ์ฑ: Constraint ํ ํ๋ฆฟ, Mutation, External Data ๊ธฐ๋ฅ์ ํตํด ๋ค์ํ ์ ์ฑ ์๋๋ฆฌ์ค๋ฅผ ์ง์ํฉ๋๋ค.
OPA Gatekeeper๊ฐ ๊ฐ์ ํ ์ ์๋ ๊ท์น๋ค
latest์ด๋ฏธ์ง ํ๊ทธ ์ฌ์ฉ ๊ธ์ง- ์ ๋ขฐํ ์ ์๋ ๋ ์ง์คํธ๋ฆฌ์์๋ง ์ด๋ฏธ์ง Pull ํ์ฉ
- ๋ชจ๋ ๋ฆฌ์์ค์ ๋ผ๋ฒจ์ด ๋ฐ๋์ ํฌํจ๋๋๋ก ๋ณด์ฅ
- Privileged ์ปจํ ์ด๋ ์ฌ์ฉ ๊ธ์ง
๋ง์ฝ Kubernetes ๋ฆฌ์์ค๋ฅผ ์ ์ฉํ ๋ ์ค์ ๋ ๊ท์น์ ์ฐํํ๋ ค๊ณ ์๋ํ๋ค๋ฉด, ํด๋น ์์ฒญ์ ์๋์ผ๋ก ๊ฑฐ๋ถ๋ฉ๋๋ค. ์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ์์ Kubernetes๋ฅผ ์ด์ํ ๋, OPA Gatekeeper๋ ํ์์ ์ ๋๋ค.
๋ค์ ์ง๋ ๋ธ๋ก๊ทธ( Gatekeeper ์์ ์ฌ์ฉํ๋ Constraint์ ContraintTemplate ์์ธ ์ค๋ช )๋ฅผ ์ฐธ๊ณ ๋ก ๊ณต์ ๋๋ฆฝ๋๋ค.
์์ ๋ฐฉ๋ฒ
- Getting Started Guide๋ก ์ค์น ๋ฐ ์ด๊ธฐ ์ค์ ์ ์งํํ์ค ์ ์์ต๋๋ค.
- Policy Library์์ ๋ค์ํ ์ํ ์ ์ฑ (Constraint)์ ๋ฐ๋ก ํ์ฉํ์ค ์ ์์ต๋๋ค.
- Audit ๊ธฐ๋ฅ์ผ๋ก ์ ์ฑ ์๋ฐ ์ฌํญ์ ์๊ฐํํ๊ณ ๋ณด๊ณ ์๋ก ํ์ธํ์ค ์ ์์ต๋๋ค.
๊ด๋ จ ์ถ๊ฐ ์คํ์์ค ๋ฐ ์ง์/๋ต๋ณ ์ ๋ณด
- ์ถ๊ฐ ์ ๋ณด ๋งํฌ ๊ณต์
ArgoCD์ Kyverno๋ฅผ ํ์ฉํ GitOps ํ์ดํ๋ผ์ธ์ DevSecOps ์กฐ์ธ ๋ถํ๋๋ฆฝ๋๋ค
AWS์ Azure์์ DevSecOps ๊ตฌ์ฑ์ ํ๋๋ฐ DevSecOps ์ ๊ฐ์ฅ ์ ์ ํ ์ถ์ฒ ๊ตฌ์ฑ ๋ฌธ์
AWS EKS ํ๊ฒฝ์์ CIS ๋ณด์ ๊ธฐ์ค์ ์๋์ผ๋ก ๊ฒ์ฌํ๊ณ ์ค์ํ๋ ์ค์ ์ฝ๋ ์ฌ๋ก w/ Kyverno์ kube-bench
