์ด ํ์ด์ง์๋ Binary Authorization๊ณผ ์ฐ๊ด๋ ๊ฐ๋ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
์ ์ฑ
ํ๋ก์ ํธ ์ฑ๊ธํค ์ ์ฑ ์ด๋ผ๊ณ ๋ ๋ถ๋ฅด๋ Binary Authorization ์ ์ฑ ์ ์ปจํ ์ด๋ ์ด๋ฏธ์ง ๋ฐฐํฌ๋ฅผ ์ ์ดํ๋ ๊ท์น ์งํฉ์ ๋๋ค.
์ง์์ ๊ฒ์ฆ(CV)์ ํ๋ซํผ ์ ์ฑ ์ด๋ผ๋ ๋ค๋ฅธ ์ ํ์ ์ ์ฑ ์ ์ฌ์ฉํฉ๋๋ค.
์ ์ฑ ์ ๋ค์์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
- ๋ฐฐํฌ ๊ท์น
- ์์ธ ์ด๋ฏธ์ง ๋ชฉ๋ก
๋ค์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฑ ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
- Google Cloud ์ฝ์
gcloud
๋ช ๋ น์ด
gcloud
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ ์ฑ
์ ํ๋ก์ ํธ๋ก ๋ค์ ๊ฐ์ ธ์ค๊ธฐ ์ ์ YAML ํ์์ผ๋ก ์ ์ฑ
์ ์ ์๋ฅผ ๋ด๋ณด๋ด๊ณ ์์ ํฉ๋๋ค. YAML ํ์์๋ Binary Authorization ์คํ ๋ฆฌ์ง์ ์ ์ฅ๋ ์ ์ฑ
์ ๋ด๋ถ ๊ตฌ์กฐ๊ฐ ๋ฐ์๋ฉ๋๋ค.
์ด ํ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ ์ฑ
YAML ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ฐ Google Cloud ํ๋ก์ ํธ๋ ์ ์ฑ ์ ํ๋๋ง ๋ณด์ ํ ์ ์์ต๋๋ค. ๋ฐฐํฌ ํ๋ซํผ์ ์คํํ๋ ํ๋ก์ ํธ์์ ์ ์ฑ ์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. ๋จ์ผ ํ๋ก์ ํธ ๊ตฌ์ฑ์์ ์ ์ฑ ๋ฐ ๋ชจ๋ ์ข ์ ๋ฆฌ์์ค(์ฆ๋ช ์ ๋ฐ ์ฆ๋ช )๋ ๋์ผํ ํ๋ก์ ํธ์ ์์ต๋๋ค. ์ ๋ฌด ๋ถ๋ฆฌ๋ฅผ ์ค์ ํ๋ ค๋ฉด ๋ค์ค ํ๋ก์ ํธ ๊ตฌ์ฑ์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ์ด ๊ตฌ์ฑ์์ ๋ฐฐํฌ ํ๋ซํผ์ ํ ํ๋ก์ ํธ์์ ์คํ๋ ์ ์๊ณ , ์ฆ๋ช ์๋ ๋ค๋ฅธ ํ๋ก์ ํธ์ ์์ฃผํ ์ ์์ผ๋ฉฐ, ์ฆ๋ช ์ ๋ ๋ค๋ฅธ ํ๋ก์ ํธ์ ์์ฃผํ ์ ์์ต๋๋ค.
์ง์๋๋ ํ๋ซํผ์์ Binary Authorization์ ์ค์ ํ๊ณ ์ฌ์ฉํ๋ ค๋ฉด ํ๋ซํผ๋ณ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
GKE์ ๋ฉํฐ ํ๋ก์ ํธ ์ค์ ์์๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ท์น
์ ์ฑ ์ ๊ตฌ์ฑํ ๋ ๊ท์น์ ์ ์ํฉ๋๋ค. ๊ท์น์ ์ด๋ฏธ์ง๊ฐ ๋ฐฐํฌ๋๊ธฐ ์ ์ ์ถฉ์กฑํด์ผ ํ๋ ์ ์ฝ์กฐ๊ฑด์ ์ ์ํฉ๋๋ค. ์ ์ฑ ์๋ ๊ธฐ๋ณธ ๊ท์น์ด ํ๋ ์์ผ๋ฉฐ ํ๋ซํผ์ ๋ฐ๋ผ ํน์ ๊ท์น์ ๊ฐ์ง ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ํ๋ซํผ๋ณ ์ง์๋๋ ๊ท์น ์ ํ์ ์ฐธ์กฐํ์ธ์.
๊ฐ ๊ท์น์ ํ๊ฐ ๋ชจ๋ ๋ฐ ์ํ ๋ชจ๋๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ์ด๋ฏธ์ง๊ฐ ๋ฐฐํฌ๋๊ธฐ ์ ์ ๋จผ์ ์ด๋ฏธ์ง์๋ ์๋ช ๋ ์ฆ๋ช ์ด ์์ด์ผ ํ๋ค๋ ๊ท์น์ ๋๋ค.
๊ธฐ๋ณธ ๊ท์น
๊ฐ ์ ์ฑ
์๋ ๊ธฐ๋ณธ ๊ท์น์ด ์์ต๋๋ค. ์ด ๊ท์น์ ํน์ ๊ท์น๊ณผ ์ผ์นํ์ง ์๋ ๋ชจ๋ ๋ฐฐํฌ ์์ฒญ์ ์ ์ฉ๋ฉ๋๋ค. ์ ์ฑ
YAML ํ์ผ์์ ๊ธฐ๋ณธ ๊ท์น์ defaultAdmissionRule
๋
ธ๋์ ์ง์ ๋์ด ์์ต๋๋ค.
๊ธฐ๋ณธ ๊ท์น ๊ตฌ์ฑ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ ์ฑ ๊ตฌ์ฑ์ ์ฐธ์กฐํ์ธ์.
ํน์ ๊ท์น
์ ์ฑ ์ ํน์ ๊ท์น์ ํ๋ ์ด์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด ์ ํ์ ๊ท์น์ ํน์ ํด๋ฌ์คํฐ, ์๋น์ค ๊ณ์ ๋๋ ID์ ๋ฐฐํฌํ ์ด๋ฏธ์ง์ ์ ์ฉ๋ฉ๋๋ค. ํน์ ๊ท์น์ ๋ํ ์ง์์ ํ๋ซํผ๋ณ๋ก ๋ค๋ฆ ๋๋ค. ์์ธํ ๋ด์ฉ์ ํ๋ซํผ๋ณ ์ง์๋๋ ๊ท์น ์ ํ์ ์ฐธ์กฐํ์ธ์.
์ ์ฑ
YAML ํ์ผ์์ ๊ฐ ํด๋ฌ์คํฐ๋ณ ๊ท์น์ clusterAdmissionRule
๋
ธ๋์ ์ง์ ๋์ด ์์ต๋๋ค.
ํ๋ซํผ๋ณ ์ง์๋๋ ๊ท์น ์ ํ
๋ค์ ํ์์๋ ๊ฐ ๋ฐฐํฌ ํ๋ซํผ์์ ์ง์๋๋ ๊ท์น ์ ํ์ ๋ณด์ฌ์ค๋๋ค.
ํ๋ซํผ | ๊ธฐ๋ณธ ๊ท์น | ํน์ ๊ท์น |
---|---|---|
GKE | ์ง์๋จ | ํด๋ฌ์คํฐ Kubernetes ๋ค์์คํ์ด์ค Kubernetes ์๋น์ค ๊ณ์ |
Cloud Run | ์ง์๋จ | ์ง์๋์ง ์์ |
GKE ์ฐ๊ฒฐ ํด๋ฌ์คํฐ | ์ง์๋จ | ํด๋ฌ์คํฐ Kubernetes ๋ค์์คํ์ด์ค Kubernetes ์๋น์ค ๊ณ์ |
GKE on AWS | ์ง์๋จ | ํด๋ฌ์คํฐ Kubernetes ๋ค์์คํ์ด์ค Kubernetes ์๋น์ค ๊ณ์ |
Google Distributed Cloud | ์ง์๋จ | ํด๋ฌ์คํฐ Kubernetes ๋ค์์คํ์ด์ค Kubernetes ์๋น์ค ๊ณ์ |
Google Distributed Cloud | ์ง์๋จ | ํด๋ฌ์คํฐ Kubernetes ๋ค์์คํ์ด์ค Kubernetes ์๋น์ค ๊ณ์ |
Cloud Service Mesh | ์ง์๋จ | Cloud Service Mesh ์๋น์ค ID |
ํ๊ฐ ๋ชจ๋
๊ฐ ๊ท์น์๋ Binary Authorization์์ ๊ท์น์ ์ ์ฉํ๋ ์ ์ฝ์กฐ๊ฑด ์ ํ์ ์ง์ ํ๋ ํ๊ฐ ๋ชจ๋๊ฐ ์์ต๋๋ค. ๊ท์น์ ํ๊ฐ ๋ชจ๋๋ ์ ์ฑ
YAML ํ์ผ์ evaluationMode
์์ฑ์ ์ฌ์ฉํ์ฌ ์ง์ ๋ฉ๋๋ค.
์ธ ๊ฐ์ง ํ๊ฐ ๋ชจ๋๊ฐ ์์ต๋๋ค.
- ๋ชจ๋ ์ด๋ฏธ์ง ํ์ฉ: ๋ชจ๋ ์ด๋ฏธ์ง์ ๋ฐฐํฌ๋ฅผ ํ์ฉํฉ๋๋ค.
- ๋ชจ๋ ์ด๋ฏธ์ง ๊ฑฐ๋ถ: ๋ชจ๋ ์ด๋ฏธ์ง์ ๋ฐฐํฌ๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค.
- ์ฆ๋ช ํ์: ๋ฐฐํฌ ์ ์ ์๋ช ์๊ฐ ์ด๋ฏธ์ง ๋ค์ด์ ์คํธ๋ฅผ ๋์งํธ ์๋ช ํ๊ณ ์ฆ๋ช ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ๋ฐฐํฌ ์ Binary Authorization ์ํ์๋ ์ฐ๊ฒฐ๋ ์ด๋ฏธ์ง๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ ์ ์ฆ๋ช ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฆ๋ช ์ ์๋ช ์ ํ์ธํฉ๋๋ค.
์ํ ๋ชจ๋
๊ฐ ๊ท์น์๋ ์ํ ๋ชจ๋๋ ์์ต๋๋ค. ์ด ๋ชจ๋๋ ์ด๋ฏธ์ง๊ฐ ๊ท์น์ ์ค์ํ์ง ์์ ๊ฒฝ์ฐ GKE์์ ์ทจํด์ผ ํ๋ ์กฐ์น๋ฅผ ์ง์ ํฉ๋๋ค. ๊ท์น์๋ ๋ค์๊ณผ ๊ฐ์ ์ํ ๋ชจ๋๊ฐ ์์ ์ ์์ต๋๋ค.
์ฐจ๋จ ๋ฐ ๊ฐ์ฌ ๋ก๊ทธ: ๊ท์น์ ์ค์ํ์ง ์๋ ์ด๋ฏธ์ง์ ๋ฐฐํฌ๋ฅผ ์ฐจ๋จํ๊ณ ์ด๋ฏธ์ง๊ฐ ๋ฐฐํฌ๋์ง ์์ ์ด์ ๋ฅผ ์ค๋ช ํ๋ ๋ฉ์์ง๋ฅผ ๊ฐ์ฌ ๋ก๊ทธ์ ๊ธฐ๋กํฉ๋๋ค.
ํ ์คํธ ์คํ: ๊ฐ์ฌ ๋ก๊ทธ๋ง: ํ ์คํธ ์คํ ๋ชจ๋๋ ๋น์ค์ ์ด๋ฏธ์ง ๋ฐฐํฌ๋ฅผ ํ์ฉํ์ง๋ง ๋ฐฐํฌ ์ธ๋ถ์ ๋ณด๋ฅผ Cloud ๊ฐ์ฌ ๋ก๊ทธ์ ๊ธฐ๋กํ๋ ์ ์ฑ ์ ์ํ ๋ชจ๋์ ๋๋ค. ํ ์คํธ ์คํ ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋ก๋์ ํ๊ฒฝ์์ ์ํ์ด ์ค์ ๋ก ์ ์ฉ๋๊ธฐ ์ ์ ์ ์ฑ ์ ํ ์คํธํ ์ ์์ต๋๋ค.
๋๋ถ๋ถ์ ํ๋ก๋์ ๊ท์น์ ์ฐจ๋จ ๋ฐ ๊ฐ์ฌ ๋ก๊ทธ ์ํ ๋ชจ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํ ์คํธ ์คํ: ๊ฐ์ฌ ๋ก๊ทธ ์ ์ฉ์ ์ฌ์ฉ์ ํ๊ฒฝ์์ ์ ์ฑ ์ด ์ ์ฉ๋๊ธฐ ์ ์ ํด๋น ์ ์ฑ ์ ํ ์คํธํ๋ ๋ฐ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
๊ท์น์ ์ํ ๋ชจ๋๋ ์ ์ฑ
YAML ํ์ผ์ enforcementMode
์์ฑ์ ์ฌ์ฉํ์ฌ ์ง์ ๋ฉ๋๋ค.
Cloud ๊ฐ์ฌ ๋ก๊ทธ์ ๊ธฐ๋ก๋ ๋ฉ์์ง์ ๋ํ ์์ธํ ๋ด์ฉ์ ๊ฐ์ฌ ๋ก๊ทธ ๋ณด๊ธฐ(GKE, Google Distributed Cloud, Cloud Service Mesh) ๋๋ ๊ฐ์ฌ ๋ก๊ทธ ๋ณด๊ธฐ(Cloud Run)๋ฅผ ์ฐธ์กฐํ์ธ์.
์ง์์ ๊ฒ์ฆ
์ง์์ ๊ฒ์ฆ(CV)์ ์ง์์ ์ธ ์ ์ฑ ์ค์๋ฅผ ์ํด ํฌ๋ ์คํ๊ณผ ์ฐ๊ด๋ ์ด๋ฏธ์ง๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ํ์ธํ๋ Binary Authorization ๊ธฐ๋ฅ์ ๋๋ค.
CV์ ๋ํด ์์ธํ ์์๋ณด์ธ์.
์์ธ ์ด๋ฏธ์ง
์์ธ ์ด๋ฏธ์ง๋ ์ ์ฑ
๊ท์น์์ ์ ์ธ๋๋ ์ด๋ฏธ์ง์
๋๋ค.
Binary Authorization์์๋ ํญ์ ์์ธ ์ด๋ฏธ์ง๋ฅผ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ๊ฐ ํ๋ก์ ํธ์๋ ๋ ์ง์คํธ๋ฆฌ ๊ฒฝ๋ก์์ ์ง์ ๋ ์์ธ ์ด๋ฏธ์ง์ ํ์ฉ ๋ชฉ๋ก์ด ์์ต๋๋ค. gcr.io/google_containers/*
๋ฐ k8s.gcr.io/**
๊ฒฝ๋ก์ ์ถ๊ฐ ๊ฒฝ๋ก์ ์ด๋ฏธ์ง์๋ GKE๊ฐ ๊ธฐ๋ณธ ์ ์ฑ
์ ํ์ฑํํ ์ํ์์ ํด๋ฌ์คํฐ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์์ํ๋ ๋ฐ ํ์ํ ๋ฆฌ์์ค๊ฐ ํฌํจ๋์ด ์์ผ๋ฏ๋ก ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ธ๋ฉ๋๋ค.
ํ์ฉ ๋ชฉ๋ก์ ์์ธ ์ด๋ฏธ์ง๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด ์ ์ฑ ํ์ผ์ ๋ค์์ ์ถ๊ฐํฉ๋๋ค.
admissionWhitelistPatterns: - namePattern: EXEMPT_IMAGE_PATH
EXEMPT_IMAGE_PATH
๋ฅผ ์ ์ธํ am ์ด๋ฏธ์ง์ ๊ฒฝ๋ก๋ก ๋ฐ๊ฟ๋๋ค. ์ถ๊ฐ ์ด๋ฏธ์ง๋ฅผ ์ ์ธํ๋ ค๋ฉด - namePattern
ํญ๋ชฉ์ ์ถ๊ฐํฉ๋๋ค. admissionWhitelistPatterns
์ ๋ํด ์์ธํ ์์๋ณด์ธ์.
ํ์ฉ ๋ชฉ๋ก ํจํด
๋ ์ง์คํธ๋ฆฌ ์์น๊ฐ ์ง์ ๋ ๊ฒฝ๋ก์ ์ผ์นํ๋ ๋ชจ๋ ์ด๋ฏธ์ง๋ฅผ ํ์ฉํ๋ ค๋ฉด ๋ค์์ ์คํํ์ธ์.
gcr.io/example-project/*
๋ ์ง์คํธ๋ฆฌ ์์น๊ฐ ์ง์ ๋ ๊ฒฝ๋ก์ ํ์ ๋๋ ํฐ๋ฆฌ(์: gcr.io/example-project/my-directory/helloworld
)์ธ ๋ชจ๋ ์ด๋ฏธ์ง๋ฅผ ํ์ฉํ๋ ค๋ฉด ๋ค์์ ์คํํ์ธ์.
gcr.io/example-project/**
ํน์ ์ด๋ฏธ์ง๋ฅผ ํ์ฉํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
gcr.io/example-project/helloworld
ํ๊ทธ๋ฅผ ๊ธฐ์ค์ผ๋ก ํน์ ๋ฒ์ ์ ์ด๋ฏธ์ง๋ฅผ ํ์ฉํ๋ ค๋ฉด ๋ค์์ ์คํํ์ธ์.
gcr.io/example-project/helloworld:latest gcr.io/example-project/helloworld:my-tag
์ด๋ฏธ์ง์ ๋ชจ๋ ๋ฒ์ /ํ๊ทธ๋ฅผ ํ์ฉํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
gcr.io/example-project/helloworld:*
๋ค์ด์ ์คํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ํน์ ์ด๋ฏธ์ง ๋ฒ์ ์ ํ์ฉํ๋ ค๋ฉด ๋ค์์ ์คํํ์ธ์.
gcr.io/example-project/helloworld@sha256:77b0b75136b9bd0fd36fb50f4c92ae0dbdbbe164ab67885e736fa4374e0cbb8c
์ปจํ ์ด๋ ์ด๋ฏธ์ง ๋ค์ด์ ์คํธ ์ฌ์ฉ์ ๋ํด ์์ธํ ์์๋ณด์ธ์.
Google Cloud Console์์, ๋ช ๋ น์ค ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ REST API๋ฅผ ์ฌ์ฉํ์ฌ ์์ธ ์ด๋ฏธ์ง๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
Google์ด ๊ด๋ฆฌํ๋ ์์คํ ์ด๋ฏธ์ง
Google์ด ๊ด๋ฆฌํ๋ ๋ชจ๋ ์์คํ ์ด๋ฏธ์ง ์ ๋ขฐ๋ฅผ ์ค์ ํ๋ฉด Binary Authorization์ด ์ถ๊ฐ ์ ์ฑ ํ๊ฐ์์ Google์ด ๊ด๋ฆฌํ๋ ์์คํ ์ด๋ฏธ์ง ๋ชฉ๋ก์ ์ ์ธํฉ๋๋ค. ์ด ์ค์ ์ ์ฌ์ฉํ๋ฉด GKE์ ํ์ํ ์ด๋ฏธ์ง๊ฐ ์ ์ฑ ์ํ์ผ๋ก ์ฐจ๋จ๋์ง ์์ต๋๋ค. ์์คํ ์ ์ฑ ์ ์ฌ์ฉ์ ์ ์ฑ ํ๊ฐ ์ด์ ๊ทธ๋ฆฌ๊ณ ํ๊ฐ๊ฐ ์ํ๋ ๋ ํ๊ฐ๋ฉ๋๋ค.
์ด ์ค์ ์ ์ ์ฑ
YAML ํ์ผ์์ globalPolicyEvaluationMode
์์ฑ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ ์ค์ ๋๋ ์ฌ์ฉ ์ค์งํ ์ ์์ต๋๋ค. ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์์คํ
์ ์ฑ
์ ์ฝํ
์ธ ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
gcloud alpha container binauthz policy export-system-policy
์ฆ๋ช
์ฆ๋ช ์ ์ด๋ฏธ์ง๋ฅผ ์ธ์ฆํ๋ ๋์งํธ ๋ฌธ์์ ๋๋ค. ๋ฐฐํฌ ์ค์ Binary Authorization์ ์ด๋ฏธ์ง ๋ฐฐํฌ๋ฅผ ํ์ฉํ๊ธฐ ์ ์ฆ๋ช ์ ํ์ธํฉ๋๋ค.
๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ฆ๋ช ์ ๋ง๋๋ ํ๋ก์ธ์ค๋ฅผ ์ด๋ฏธ์ง ์๋ช ์ด๋ผ๊ณ ํฉ๋๋ค. ์ฆ๋ช ์ ์ด๋ฏธ์ง๊ฐ ๋น๋๋ ํ์ ์์ฑ๋ฉ๋๋ค. ์ด๋ฌํ ๊ฐ ์ด๋ฏธ์ง์๋ ์ ์ญ์ ์ผ๋ก ๊ณ ์ ํ ๋ค์ด์ ์คํธ๊ฐ ์์ต๋๋ค. ์๋ช ์๋ ํค ์์ ๋น๊ณต๊ฐ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง ๋ค์ด์ ์คํธ๋ฅผ ์๋ช ํ๊ณ ์ด ์๋ช ์ ์ฌ์ฉํ์ฌ ์ฆ๋ช ์ ๋ง๋ญ๋๋ค. ๋ฐฐํฌ ์ Binary Authorization ์ํ์๋ ์ฆ๋ช ์ ๊ณต๊ฐ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ฆ๋ช ์ ์๋ช ์ ํ์ธํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ฐ ์ฆ๋ช ์๋ ๋จ ํ๋์ ์๋ช ์์๋ง ์ํด์ผ ํฉ๋๋ค.
์ฆ๋ช ์ ํน์ ํ ํ์ ํ๋ก์ธ์ค๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์คํํ์ฌ ์ฐ๊ฒฐ๋ ์ด๋ฏธ์ง๊ฐ ๋น๋๋์์์ ๋ํ๋ ๋๋ค. ์๋ฅผ ๋ค์ด ์๋ช ์๊ฐ ํ์ง ๋ณด์ฆ(QA) ํ์ ๋ํํ๋ ๊ฒฝ์ฐ ์ฆ๋ช ์ ์ด๋ฏธ์ง๊ฐ ์คํ ์ด์ง ํ๊ฒฝ์์ ํ์ํ ๋ชจ๋ ์๋ ํฌ ์๋ ํ ์คํธ๋ฅผ ํต๊ณผํ์์ ๋ํ๋ผ ์ ์์ต๋๋ค.
Binary Authorization์์ ์ฆ๋ช
์ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด ์ ์ฑ
์ evaluationMode
๊ฐ REQUIRE_ATTESTATION
๋ก ์ค์ ๋์ด ์์ด์ผ ํฉ๋๋ค.
์ฆ๋ช ์ ๋ฐ ์ฆ๋ช ์ ๋ง๋ค๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
์๋ช ์
์๋ช ์๋ ์ฌ๋์ด๊ฑฐ๋ ๋น๊ณต๊ฐ ํค๋ก ๊ณ ์ ํ ์ด๋ฏธ์ง ์ค๋ช ์๋ฅผ ์๋ช ํ์ฌ ์ฆ๋ช ์ ๋ง๋๋ ์๋ํ๋ ํ๋ก์ธ์ค์ ๋๋ค. ์ฆ๋ช ์ ์ฐ๊ฒฐ๋ ์ด๋ฏธ์ง๊ฐ ๋ฐฐํฌ๋๊ธฐ ์ ์ ์ฆ๋ช ์ ์ ์ฅ๋ ํด๋นํ๋ ๊ณต๊ฐ ํค๋ก ๋ฐฐํฌ ์์ ๊ฒ์ฆ๋ฉ๋๋ค.
์ฆ๋ช ์ ๋ฐ ์ฆ๋ช ์ ๋ง๋ค๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
์ฆ๋ช ์
์ฆ๋ช ์๋ Binary Authorization์ด ์ด๋ฏธ์ง ๋ฐฐํฌ ์ ์ฆ๋ช ์ ํ์ธํ๋ ๋ฐ ์ฌ์ฉํ๋ Google Cloud ๋ฆฌ์์ค์ ๋๋ค. ์ฆ๋ช ์์๋ ์๋ช ์๊ฐ ์ด๋ฏธ์ง ๋ค์ด์ ์คํธ๋ฅผ ์๋ช ํ๊ณ ์ฆ๋ช ์ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ๋น๊ณต๊ฐ ํค์ ํด๋นํ๋ ๊ณต๊ฐ ํค๊ฐ ํฌํจ๋ฉ๋๋ค. Binary Authorization ์ํ์๋ ๋ฐฐํฌ ์ ์ฆ๋ช ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ ์ ์ ํจ๊ป ์์ฑ๋ ํ์ธ ๊ฐ๋ฅํ ์ฆ๋ช ์ผ๋ก ๋ฐฐํฌํ ์ ์๋ ์ด๋ฏธ์ง๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
์ฆ๋ช ์๋ ๊ณต๊ฐ ํค ๋ฐ ๋น๊ณต๊ฐ ํค ์์ ๊ด๋ฆฌํ๋ ๋ณด์ ์ด์ ๋ด๋น์๊ฐ ๊ด๋ฆฌํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ง๋ง ์๋ช ์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ณ ๋น๊ณต๊ฐ ํค๋ก ์๋ช ํ๋ฉฐ ๋ฐฐํฌ๋ฅผ ์๋ํ๊ธฐ ์ ์ ์ฆ๋ช ์ ๋ง๋๋ ์ํํธ์จ์ด ์์ง๋์ด, DevOps QA ๋๋ ๊ท์ ์ค์ ๋ด๋น์์ ๋๋ค.
์ฆ๋ช ์์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
- ํด๋นํ๋ Artifact Analysis ๋ฉ๋ชจ
- ์๋ช ์๊ฐ ์ฆ๋ช ์ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ๋น๊ณต๊ฐ ํค์ ํด๋นํ๋ 1๊ฐ ์ด์์ ์ํธํ ๊ณต๊ฐ ํค
์ฆ๋ช
ํ์ ๊ท์น์ด ํฌํจ๋ ์ ์ฑ
์ ์ค์ ํ ๋ ์ด๋ฏธ์ง์ ๋ฐฐํฌ ์ค๋น๊ฐ ๋์๋์ง ํ์ธํ๋ ๋ฐ ํ์ํ ์ฌ์ฉ์ ๋๋ ํ๋ก์ธ์ค์ ์ฆ๋ช
์๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค. Google Cloud ์ฝ์, gcloud
์ธํฐํ์ด์ค ๋๋ Binary Authorization REST API๋ฅผ ์ฌ์ฉํ์ฌ ์ฆ๋ช
์๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ฆ๋ช ์ ๋ฐ ์ฆ๋ช ์ ๋ง๋ค๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
์ํธํ ํค
์ ์ฑ ์ ์ฆ๋ช ํ์ ๊ท์น์ด ํฌํจ๋ ๊ฒฝ์ฐ Binary Authorization์ ๋ฐฐํฌ ์์ ๋์งํธ ์๋ช ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ํ์ธํฉ๋๋ค.
ํค ์์ด ์์ฑ๋ฉ๋๋ค. ๋น๊ณต๊ฐ ํค๋ ์๋ช ์๊ฐ ์ด๋ฏธ์ง ์ค๋ช ์๋ฅผ ์๋ช ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฆ๋ช ์ด ์์ฑ๋ฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ฆ๋ช ์๊ฐ ์์ฑ๋์ด ์ ์ฑ ์ ์ ์ฅ๋ฉ๋๋ค. ์๋ช ์ ์ฌ์ฉ๋๋ ๋น๊ณต๊ฐ ํค์ ํด๋นํ๋ ๊ณต๊ฐ ํค๊ฐ ์ ๋ก๋๋๊ณ ์ฆ๋ช ์์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
Binary Authorization์ ์ด๋ฏธ์ง๋ฅผ ๋ฐฐํฌํ๋ ค๊ณ ์๋ํ ๋ ์ ์ฑ ์ ์ฆ๋ช ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง์ ์ฆ๋ช ์ ํ์ธํฉ๋๋ค. ์ฆ๋ช ์ ํ์ธํ ์ ์์ผ๋ฉด ์ด๋ฏธ์ง๊ฐ ๋ฐฐํฌ๋ฉ๋๋ค.
Binary Authorization์ ๋ค์ ๋ ๊ฐ์ง ์ ํ์ ํค๋ฅผ ์ง์ํฉ๋๋ค.
- ๊ณต๊ฐ ํค ์ธํ๋ผ(X.509) (PKIX)
- PGP
PKIX ํค๋ ๋ก์ปฌ, ์ธ๋ถ ๋๋ Cloud Key Management Service์ ์ ์ฅ๋ ์ ์์ต๋๋ค.
์ํธํ ํค ๋ฐ ์ฆ๋ช ์๋ฅผ ๋ง๋ญ๋๋ค.
Artifact Analysis ์ฐธ๊ณ ์ฌํญ
Binary Authorization์ Artifact Analysis์ ์ฌ์ฉํ์ฌ ์น์ธ ํ๋ก์ธ์ค์ ์ฌ์ฉ๋ ์ ๋ขฐํ ์ ์๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ์์ฑ๋ ์ฆ๋ช ์๋ง๋ค Artifact Analysis ๋ฉ๋ชจ๋ฅผ ํ๋์ฉ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ๊ฐ ์ฆ๋ช ์ ์ด ๋ฉ๋ชจ์ ์ด์ปค๋ฐ์ค๋ก ์ ์ฅ๋ฉ๋๋ค.
Binary Authorization์ ์ฆ๋ช ์๊ฐ ์ด๋ฏธ์ง๋ฅผ ํ์ธํ๋๋ก ์๊ตฌํ๋ ๊ท์น์ ํ๊ฐํ ๋ Artifact Analysis ์คํ ๋ฆฌ์ง๋ฅผ ๊ฒ์ฌํ์ฌ ํ์ํ ์ฆ๋ช ์ด ์๋์ง ํ์ธํฉ๋๋ค.