์ฌ์ฉ์ ๊ณ์ ๊ณผ ๋ฌ๋ฆฌ ์๋น์ค ๊ณ์ ์ ๋น๋ฐ๋ฒํธ๊ฐ ์์ต๋๋ค. ๋์ ์๋น์ค ๊ณ์ ์ ์ธ์ฆ์ RSA ํค ์์ ์ฌ์ฉํฉ๋๋ค. ์๋น์ค ๊ณ์ ์ ํค ์์ ๋น๊ณต๊ฐ ํค๋ฅผ ์๊ณ ์์ผ๋ฉด ๋น๊ณต๊ฐ ํค๋ฅผ ์ฌ์ฉํ์ฌ JWT Bearer ํ ํฐ์ ๋ง๋ค๊ณ Bearer ํ ํฐ์ ์ฌ์ฉํ์ฌ ์ก์ธ์ค ํ ํฐ์ ์์ฒญํ ์ ์์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ๋ก ์ป์ ์ก์ธ์ค ํ ํฐ์๋ ์๋น์ค ๊ณ์ ์ ID๊ฐ ๋ฐ์๋๊ณ , ์ด๋ฅผ ์ฌ์ฉํด์ ์๋น์ค ๊ณ์ ์ ๋์ ํด์Google Cloud API์ ์ํธ์์ฉํ ์ ์์ต๋๋ค.
๋น๊ณต๊ฐ ํค๋ฅผ ์ฌ์ฉํ๋ฉด ์๋น์ค ๊ณ์ ์ผ๋ก ์ธ์ฆํ ์ ์์ผ๋ฏ๋ก ๋น๊ณต๊ฐ ํค์ ๋ํ ์ก์ธ์ค ๊ถํ์ ์ฌ์ฉ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์๊ณ ์๋ ๊ฒ๊ณผ ์ ์ฌํฉ๋๋ค. ๋น๊ณต๊ฐ ํค๋ฅผ ์๋น์ค ๊ณ์ ํค๋ผ๊ณ ํฉ๋๋ค. ์๋น์ค ๊ณ์ ์์ ์ฌ์ฉํ๋ ํค ์์ Google ๊ด๋ฆฌ์ ์ฌ์ฉ์ ๊ด๋ฆฌํ ๋ฑ ๋ ๊ฐ์ง ๋ฒ์ฃผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
์ ์คํ๊ฒ ๊ด๋ฆฌ๋์ง ์์ผ๋ฉด ์๋น์ค ๊ณ์ ํค๊ฐ ๋ณด์ ์ํ์ด ๋ ์ ์์ต๋๋ค. ๊ฐ๋ฅํ๋ฉด ๋ณด๋ค ์์ ํ ์ธ์ฆ ๋์์ ์ ํํด์ผ ํฉ๋๋ค. ์๋น์ค ๊ณ์ ํค์ ๊ด๋ จ๋ ์ฃผ์ ์ํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์ ์ถ: ์๋น์ค ๊ณ์ ํค๊ฐ ์๋ชป๋์ด ์๋ ์๋ํ์ง ์์ ์ฅ์์ ์ ์ฅ๋ ์ ์์ต๋๋ค. ์ ์์ ์ธ ํ์์๊ฐ ์ ์ถ๋ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํด์ ์ธ์ฆ์ ์ํํ๊ณ ์ฌ์ฉ์ ํ๊ฒฝ์์ ๊ณต๊ฒฉ ๊ธฐ๋ฐ์ ๋ง๋ จํ ์ ์์ต๋๋ค.
- ๊ถํ ์์ค์ปฌ๋ ์ด์ : ์ ์์ ์ธ ํ์์๊ฐ ์์ ํ์ง ์์ ์๋น์ค ๊ณ์ ํค์ ์ก์ธ์คํ๊ฒ ๋๋ฉด ์ด ํค๋ฅผ ์ฌ์ฉํ์ฌ ๊ถํ์ ์์ค์ปฌ๋ ์ด์ ํ ์ ์์ต๋๋ค.
- ์ ๋ณด ๊ณต๊ฐ: ์๋น์ค ๊ณ์ ํค๋ก ์ธํด ์๋ชปํด์ ๊ธฐ๋ฐ ๋ฉํ๋ฐ์ดํฐ๊ฐ ๊ณต๊ฐ๋ ์ ์์ต๋๋ค.
- ๋ถ์ธ ๋ฐฉ์ง: ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆํ๊ณ ์๋น์ค ๊ณ์ ์ด ์ฌ์ฉ์๋ฅผ ๋์ ํ์ฌ ์์ ์ ์ํํ ์ ์๋๋ก ํ๋ฉด ์ ์์ ์ธ ํ์์๊ฐ ํด๋น ID ๋ฐ ์์ ์ ์จ๊ธธ ์ ์์ต๋๋ค.
- ์ ์์ ์ธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๊ตฌ์ฑ: ์ ์์ ์ธ ํ์์๊ฐ ๋ณด์ ๋ฐฉ์ด ์๋จ์ ์ฐํํ๊ธฐ ์ํด ์ ์์ ์ธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๊ตฌ์ฑ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ด๋ฌํ ์ํ์ ์ํํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๊ฐ๋ฅํ๋ฉด ์ฌ์ฉ์ ๊ด๋ฆฌ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์๋น์ค ๊ณ์ ์ ์ธ์ฆํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ๋ํ IAM ์กฐ๊ฑด ๋ฐ VPC ์๋น์ค ์ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์นจํด๋ ์๋น์ค ๊ณ์ ์ผ๋ก ์ก์ธ์คํ ์ ์๋ ์ ์ฌ์ ๋ฆฌ์์ค๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
์๋น์ค ๊ณ์ ํค์ ๋ํด ๋ณด๋ค ์์ ํ ๋์์ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ์ ์ด ๊ฐ์ด๋์์๋ ์๋น์ค ๊ณ์ ํค ๊ด๋ฆฌ, ์ฌ์ฉ, ๋ณดํธ๋ฅผ ์ํ ๊ถ์ฅ์ฌํญ์ ์ค๋ช ํฉ๋๋ค.
์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์ ์ถ ๋ฐฉ์ง
์ฌ์ฉ์ ์ด๋ฆ ๋ฐ ๋น๋ฐ๋ฒํธ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋น์ค ๊ณ์ ํค๋ ํ ๊ฐ์ง ํํ์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด์ ๋๋ค. ์ฌ์ฉ์๊ฐ ์ ํจํ ์๋น์ค ๊ณ์ ํค์ ์ก์ธ์คํ ์ ์์ผ๋ฉด ์ด๋ฅผ ์ฌ์ฉํด์ ์ธ์ฆ์ ์ํํ๊ณ ํด๋น ์๋น์ค ๊ณ์ ์ ์ก์ธ์ค ๊ถํ์ด ๋ถ์ฌ๋ ๋ฆฌ์์ค์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
์ ์์ ์ธ ํ์์์๊ฒ ์๋น์ค ๊ณ์ ํค๋ ์ ์ถ๋ ๋น๋ฐ๋ฒํธ๋ณด๋ค ๋ ์ ์ฉํ ์ ์์ต๋๋ค. ์ ์ถ๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธ์ ์๋ํ๋ ๊ฒ์ ์ฌ์ฉ์ ๊ณ์ ์ด 2๋จ๊ณ ์ธ์ฆ๊ณผ ๋ณธ์ธ ํ์ธ ์์ฒญ์ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ์ฑ๊ณตํ ๊ฐ๋ฅ์ฑ์ด ๋ฎ์ต๋๋ค. ๋ฐ๋ฉด์, ์๋น์ค ๊ณ์ ์๋ ์ถ๊ฐ์ ์ธ ๋ก๊ทธ์ธ ์ธ์ฆ์ ๊ฑฐ์น์ง ์์ผ๋ฏ๋ก ์ ์ถ๋ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆํ๋ ๊ฒ์ด ์ฑ๊ณตํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
์ ์์ ์ธ ํ์์๊ฐ ๋ค์๊ณผ ๊ฐ์ ๋ค์ํ ์์น์์ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฐพ์ ๋ผ ์ ์์ต๋๋ค.
- ์คํ์์ค ํ๋ก์ ํธ์ ์์ค ์ฝ๋ ์ ์ฅ์
- ๊ณต๊ฐ Cloud Storage ๋ฒํท
- ์๋ฐ๋ ์๋น์ค์ ๊ณต๊ฐ ๋ฐ์ดํฐ ๋คํ
์ ์์ ์ธ ํ์์๋ ๊ณต๊ฐ ์์น ์ธ์๋ ๋์ฉ๋ ๋น๊ณต๊ฐ ์์น์์ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ด๋ฉ์ผ ๋ฐ์ํธ์งํจ
- ํ์ผ ๊ณต์
- ๋ฐฑ์ ์คํ ๋ฆฌ์ง
- ์์ ํ์ผ ์์คํ ๋๋ ํฐ๋ฆฌ
์๋น์ค ๊ณ์ ํค ์ ์ถ ์ํ์ ๋ฎ์ถ๋ ํ ๊ฐ์ง ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ ์ํ๋๋ ํค ์๋ฅผ ์ค์ด๊ณ ์๋ก์ด ํค ์์ฑ์ ์ต์ ํ๋ ๊ฒ์ ๋๋ค. ๋ค์ ์น์ ์์๋ ์ํ๋๋ ์๋น์ค ๊ณ์ ํค ๊ฐ์๋ฅผ ์ ํํ๋ ๋ฐฉ๋ฒ๊ณผ ์๋น์ค ๊ณ์ ์ ์ถ ์ํ์ ์ค์ด๋ ๋ฐ ๋์์ด ๋๋ ๊ธฐํ ๋ฐฉ๋ฒ๋ค์ ์ค๋ช ํฉ๋๋ค.
๊ถ์ฅ์ฌํญ:
์๋น์ค ๊ณ์ ํค ๋ง๋ค๊ธฐ์ ๋ํ ๋์ ์ ๊ณต์กฐ์ง ์ ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ ์๋น์ค ๊ณ์ ํค๋ฅผ ๋ง๋ค ์ ์๋ ํ๋ก์ ํธ ์ ํ
์์ ์์น์ ์๋น์ค ๊ณ์ ํค๋ฅผ ๋จ๊ฒจ๋๋ฉด ์ ๋จ
์ฌ์ฉ์ ๊ฐ์ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ ๋ฌํ๋ฉด ์ ๋จ
์์ค ์ฝ๋ ์ ์ฅ์์ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ ์ถํ๋ฉด ์ ๋จ
ํ๋ก๊ทธ๋จ ๋ฐ์ด๋๋ฆฌ์ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฝ์ ํ๋ฉด ์ ๋จ
ํต๊ณ ๋ฐ ์ธก์ ํญ๋ชฉ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉํ์ง ์๋ ์๋น์ค ๊ณ์ ํค ์๋ณ.
์๋น์ค ๊ณ์ ํค๋ฅผ ์ํํ์ฌ ์ ์ถ๋ ํค๋ก ์ธํ ๋ณด์ ์ํ ๊ฐ์.
๋ง๋ฃ ์๊ฐ์ ์ฌ์ฉํ์ฌ ํค ์๋ ๋ง๋ฃ ํ์ฉ.
์กฐ์ง ์ ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ ๋์ถ๋ ํค ์๋ ์ฌ์ฉ ์ค์ง.
์๋น์ค ๊ณ์ ํค ๋ง๋ค๊ธฐ์ ๋ํ ๋์ ์ ๊ณต
์กฐ์ง์ ์ฌ์ฉ์๊ฐ ๋์์ ์๊ณ ์๊ณ ์ถ๊ฐ ์ํ๊ณผ ๊ด๋ฆฌ ์ค๋ฒํค๋์๋ ๋ถ๊ตฌํ๊ณ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ทผ๊ฑฐ๊ฐ ์๋์ง ํ์ธํฉ๋๋ค.
- ๊ฐ๋ฐ์์๊ฒ ์๋น์ค ๊ณ์ ํค์ ๋ณด๋ค ์์ ํ ๋์์ ๊ต์กํฉ๋๋ค.
- ์ ์๋น์ค ๊ณ์ ํค๋ฅผ ๋ง๋ค๊ธฐ ์ ๊ฐ๋ฐ์๊ฐ ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํ ์ธ์ฆ ๋ฐฉ๋ฒ์ ๊ฒฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋ ํ๋ก์ธ์ค๋ฅผ ์ค์ ํฉ๋๋ค.
- ์กฐ์ง ์ ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ ์ ์๋น์ค ๊ณ์ ํค๋ฅผ ๋ง๋ค์ง ๋ชปํ๋๋ก ๋ฐฉ์งํ๊ณ ๋ณด๋ค ์์ ํ ๋์์ ์ฌ์ฉํ ์ ์์์ด ์ ์ฆ๋ ํ๋ก์ ํธ์ ๋ํด์๋ง ์์ธ๋ฅผ ํ์ฉํฉ๋๋ค.
์กฐ์ง ์ ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ ์๋น์ค ๊ณ์ ํค๋ฅผ ๋ง๋ค ์ ์๋ ํ๋ก์ ํธ ์ ํ
์๋น์ค ๊ณ์ ํค์ ๋ํ ๋ณด๋ค ์์ ํ ๋์์ด ์์ผ๋ฉด ์ ์ ๋ฐฉ์นจ์ด ์๋ ์์ธ์ ์ผ๋ก ์๋น์ค ๊ณ์ ํค ์ฌ์ฉ์ ๊ณ ๋ คํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ถํ์ํ ์๋น์ค ๊ณ์ ํค ์ฌ์ฉ์ ๋ฐฉ์งํ๋ ค๋ฉด ์กฐ์ง ์ ์ฑ ์ ์ฝ ์กฐ๊ฑด์ ์ฌ์ฉํฉ๋๋ค.
์กฐ์ง์ ๋ฆฌ์์ค ๊ณ์ธต ๊ตฌ์กฐ์ ๋ฃจํธ์์ ์๋น์ค ๊ณ์ ํค ์์ฑ ์ฌ์ฉ ์ค์ง ๋ฐ ์๋น์ค ๊ณ์ ํค ์ ๋ก๋ ์ฌ์ฉ ์ค์ง ์ ์ฝ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ ์๋น์ค ๊ณ์ ํค๊ฐ ํ์ฉ๋์ง ์๋ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ ์ ์์ต๋๋ค.
ํ์ํ ๊ฒฝ์ฐ์๋ ์ ํํ ํ๋ก์ ํธ์ ์ ์ฝ์กฐ๊ฑด ์ค ํ๋๋ฅผ ์ฌ์ ์ํด์ ์๋น์ค ๊ณ์ ํค ๋ง๋ค๊ธฐ ๋๋ ์ ๋ก๋๋ฅผ ๋ค์ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
์กฐ์ง ์ ์ฑ
์ ์ฝ ์กฐ๊ฑด์ ์์ ํ๋ ค๋ฉด orgpolicy.policy.set
๊ถํ์ด ํ์ํฉ๋๋ค. ์์ ์(roles/owner
) ๋๋ ํธ์ง์(roles/editor
) ์ญํ ์ด๋์๋ ์ด ๊ถํ์ด ํฌํจ๋์ง ์๊ธฐ ๋๋ฌธ์ ์ผ๋ถ ์ฃผ ๊ตฌ์ฑ์์๊ฒ ํ๋ก์ ํธ์ ๋ํ ์์ ์ ๋๋ ํธ์ง์ ์ก์ธ์ค ๊ถํ์ด ์์ ์ ์๋ ๋นํ๋ก๋์
ํ๊ฒฝ์์๋ ์ ์ฝ์กฐ๊ฑด์ด ํจ๊ณผ์ ์ผ ์ ์์ต๋๋ค.
์์ ์์น์ ์๋น์ค ๊ณ์ ํค๋ฅผ ๋จ๊ฒจ๋๋ฉด ์ ๋จ
Google Cloud ์ฝ์์ ์ฌ์ฉํ์ฌ ์๋น์ค ๊ณ์ ํค๋ฅผ ๋ง๋ค ๋ ๋๋ถ๋ถ์ ๋ธ๋ผ์ฐ์ ๋ ์ ํค๋ฅผ ์ฆ์ ๋ค์ด๋ก๋ํ๊ณ ์ปดํจํฐ์ ๋ค์ด๋ก๋ ํด๋์ ์ ์ฅํฉ๋๋ค. ์ด ํค๋ฅผ ๋ณด๊ดํ๋ ค๋ ์์น๋ก ์ฆ์ ์ด๋ํด์ผ ํฉ๋๋ค. ๋ค์ด๋ก๋ ํด๋ ๋๋ ์ปดํจํฐ์ ํด์งํต์ ์ค์๋ก ์ฌ๋ณธ์ ๋จ๊ฒจ๋์ง ์์๋์ง ํ์ธํ์ธ์.
Google Cloud CLI๋ฅผ ์ฌ์ฉํ์ฌ ์๋น์ค ๊ณ์ ํค์ ์ฌ๋ณธ์ ์ค์๋ก ์์ ์์น์ ๋จ๊ฒจ ๋๋ ์ํ์ ์ค์ผ ์ ์์ต๋๋ค. gcloud iam service-accounts keys create
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์๋น์ค ๊ณ์ ํค ํ์ผ์ ํ์ํ ์์น์ ๋ฐ๋ก ์์ฑํ ์ ์์ต๋๋ค. ๋ํ ๋๋ถ๋ถ์ ์ด์์ฒด์ ์์๋ ํ์ผ์ ์ฌ์ฉ์๋ง ์ก์ธ์คํ ์ ์๋๋ก gcloud CLI์์ ํ์ผ ๊ถํ์ ์๋์ผ๋ก ์กฐ์ ํฉ๋๋ค.
์ฌ์ฉ์ ๊ฐ์ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ ๋ฌํ๋ฉด ์ ๋จ
์๋น์ค ๊ณ์ ํค๊ฐ ํ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ ๋ ์ฌ์ฉ์์๊ฒ ์๋น์ค ๊ณ์ ํค ์์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๊ถํ์ด ์์ ์ ์์ต๋๋ค. ๋์ ๋ค๋ฅธ ์ฌ๋์๊ฒ ์๋น์ค ๊ณ์ ํค๋ฅผ ๋ง๋ค๋๋ก ์์ฒญํด์ผ ํ ์ ์์ต๋๋ค.
์๋น์ค ๊ณ์ ํค๋ฅผ ๋ง๋ค๊ณ ๋ฐฐํฌํ ๋ ์ฌ๋ฌ ์ฌ๋์ด ํ์ํ ์ํฉ์์๋ ํธ์งํจ, ์ฑํ ๊ธฐ๋ก, ๊ธฐํ ์์น์ ํค ์ฌ๋ณธ์ด ๋จ๊ฒจ์ง ์ํ์ด ๋์ต๋๋ค. ์ฌ์ฉ์ ๊ฐ์ ์ ๋ณด ์ ๋ฌ์ด ํ์ํ ๋๋ง๋ค ์๋น์ค ๊ณ์ ํค๋ฅผ ์ ๋ก๋ํ๋ ๊ฒ์ด ๋ ์์ ํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฐฐํฌํ ๋ ๋์ ๋จธ์ ์์ RSA 2048๋นํธ ํค ์์ ์ฌ์ฉํ๋ ์์ฒด ์๋ช
๋ ์ธ์ฆ์๋ฅผ ๋ง๋ญ๋๋ค. ์ธ์ฆ์๋ฅผ ๋ง๋ค๊ธฐ ์ํด์๋
openssl
,certutil
,New-SelfSignedCertificate
, ๊ธฐํ ์ด์์ฒด์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. - ๋น๊ณต๊ฐ ํค๋ฅผ ๋์ ๋จธ์ ์ ๋ณด๊ดํ๋ฉด์ ์ธ์ฆ์ ์ ๋ก๋ ๊ถํ์ด ์๋ ์ฌ์ฉ์์๊ฒ ์ธ์ฆ์ ํ์ผ์ ์ ๋ฌํฉ๋๋ค. ์ธ์ฆ์๋ฅผ ์ ๋ฌํ ๋๋ ์ธ์ฆ์๊ฐ ๋์ฒด๋๊ฑฐ๋ ์์๋์ง ์๋์ง ํ์ธํ์ง๋ง ์ด๋ฅผ ๊ธฐ๋ฐ๋ก ์ ์งํ ํ์๊ฐ ์์ต๋๋ค.
- ์๋น์ค ๊ณ์ ํค ๊ด๋ฆฌ๋ฅผ ์ํด ํ์ํ ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ก ์ธ์ฆ์๋ฅผ ์ ๋ก๋ํ์ฌ ์๋น์ค ๊ณ์ ๊ณผ ์ฐ๊ฒฐํฉ๋๋ค.
์ด ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฅด๋ฉด ๋น๊ณต๊ฐ ํค๋ฅผ ์ ๋ฌํ์ง ์๊ณ ๋์ ์ฌ์ฉ์ ๊ฐ์ ๊ณต๊ฐ ์ ๋ณด๋ง ๊ตํํ ์ ์์ต๋๋ค.
์์ค ์ฝ๋ ์ ์ฅ์์ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ ์ถํ๋ฉด ์ ๋จ
์๋น์ค ๊ณ์ ํค๋ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด์ด๋ฉฐ ๋ฌด๋จ ์ก์ธ์ค๋ก๋ถํฐ ๋ณดํธ๋์ด์ผ ํฉ๋๋ค. ์๋น์ค ๊ณ์ ํค๋ฅผ ์์ค ์ฝ๋ ์ ์ฅ์์ ์ ์ถํ ๊ฒฝ์ฐ ์น์ธ๋์ง ์์ ์ฌ์ฉ์ ๋ฐ ์ ์์ ์ธ ํ์์๋ค์ด ํค์ ์ก์ธ์คํ ์ ์๋ ์ํ์ด ์ฆ๊ฐํฉ๋๋ค.
- ์ ์์ ์ธ ํ์์๋ ๊ณต๊ฐ ์์ค ์ ์ฅ์์ ์์ค ์ฝ๋์์ ์ ์ถ๋ ํค๋ฅผ ์ค์บํ ์ ์์ต๋๋ค.
- ์ดํ์ ์ฌ์ฉ์๊ฐ ํค๋ฅผ ๋จผ์ ํ์ธํ์ง ์๊ณ ๋น๊ณต๊ฐ ์์ค ์ ์ฅ์๋ฅผ ๊ณต๊ฐ ์ ์ฅ์๋ก ์ ํํ ์๋ ์์ต๋๋ค.
- ๋ค๋ฅธ ํ ๋ฉค๋ฒ๊ฐ ์์ค ์ฝ๋์ ๋ณต์ฌ๋ณธ์ ์์ ์ ์ํฌ์คํ ์ด์ ์ ์ ์ฅํ ์ ์์ต๋๋ค.
์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํ๋ ์ฝ๋๋ฅผ ์ํ ๋๋ ํญ์ ํค๊ฐ ์์ค ์ ์ฅ์์ ์ ์ถ๋ ์ํ์ ์ค์ด๊ธฐ ์ํด ์์ค ์ฝ๋์ ์๋น์ค ๊ณ์ ํค๋ฅผ ๋ถ๋ฆฌํด์ ์ ์ฅํด์ผ ํฉ๋๋ค. ๋ง์ ๊ฒฝ์ฐ์ ๊ฐ๋ฐ ์ค ์๋น์ค ๊ณ์ ํค๋ฅผ ์ ํ ์ฌ์ฉํ์ง ์๊ณ ์๋น์ค ๊ณ์ ํค ๋์ ๊ฐ์ธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ์ํ์ ๋์ฑ ์ค์ผ ์ ์์ต๋๋ค.
๋ํ ์ค์๋ก ์ธํ ์๋น์ค ๊ณ์ ํค ์ ์ถ์ ๊ฐ์งํ๋๋ก ์์ค ์ ์ด ์์คํ ์ ์ค์ ํฉ๋๋ค.
- Cloud Source Repositories๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ๋น๊ณต๊ฐ ํค๊ฐ ํฌํจ๋
git
ํธ์ ์์ ์ ์ฐจ๋จํ๊ณ ์ฌ์ฉ์์๊ฒ ์๋ฆผ์ ํ์ํ๋๋ก ํค ๊ฐ์ง๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค. - GitHub๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ์ ์ฅ์์ ๋ํด ๋ณด์ ๋น๋ฐ ์ค์บ์ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
- Security Command Center ์ด์ ๊ฐ์ง๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ถ๋ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด์ ๋ํ ์ ๋ณด๋ฅผ ํ์ธํฉ๋๋ค.
- ์์ค ์ ์ด ๊ด๋ฆฌ ์์คํ ์ด ์๋ ์ค์บ์ ์ง์ํ์ง ์๋ ๊ฒฝ์ฐ truffleHog์ ๊ฐ์ ์คํ์์ค ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด์ ๋น๋ฐ์ ์์ค ์ฝ๋๋ฅผ ์ค์บํ๋๋ฐ ์ด ๋ ์ปค๋ฐ ์ ํํฌ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ง์์ ํตํฉ ํ์ดํ๋ผ์ธ์ ๋จ๊ณ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ด ๋๊ฐ์ง ๋ชจ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
ํ๋ก๊ทธ๋จ ๋ฐ์ด๋๋ฆฌ์ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฝ์ ํ๋ฉด ์ ๋จ
์๋น์ค ๊ณ์ ํค๋ ํน์ ํจํด๊ณผ ์ผ์นํ๋ ๋ฌธ์์ด์ด๋ฉฐ, ๋ค๋ฅธ ํ์ผ ๋๋ ๋ฐ์ด๋๋ฆฌ์ ์ฝ์ ํ๋๋ผ๋ ์๋ณ๋ ์ ์์ต๋๋ค. ์ ์์ ์ธ ํ์์๊ฐ ๋ฐ์ด๋๋ฆฌ์ ์ก์ธ์คํ ์ ์์ผ๋ฉด ๋ฐ์ด๋๋ฆฌ์ ์ฝ์ ๋ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ถ์ถํ ์ ์์ต๋๋ค.
์๋ฒ ์ธก ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ก๊ทธ๋จ ๋ฐ์ด๋๋ฆฌ๊ฐ ์ํฐํฉํธ ์ ์ฅ์์ ํธ์คํ ๋๊ฑฐ๋ ๋๋ฒ๊น ๋ชฉ์ ์ผ๋ก ๊ฐ๋ฐ์ ์ํฌ์คํ ์ด์ ์ ๋ณต์ฌ๋ ์ ์์ต๋๋ค. ์๋น์ค ๊ณ์ ํค๋ฅผ ํ๋ก๊ทธ๋จ ๋ฐ์ด๋๋ฆฌ์ ๊ตฌ๋ถํ๋ฉด ๋ฐ์ด๋๋ฆฌ์ ์ก์ธ์คํ ์ ์๋ ์ฌ์ฉ์๊ฐ ์์์ ์ผ๋ก ์๋น์ค ๊ณ์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด์ ์ก์ธ์คํ์ง ๋ชปํ๋๋ก ๋ฐฉ์งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- ๋๊ตฌ, ๋ฐ์คํฌํฑ ํ๋ก๊ทธ๋จ, ๋ชจ๋ฐ์ผ ์ฑ๊ณผ ๊ฐ์ ํด๋ผ์ด์ธํธ ์ธก ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ ์๋น์ค ๊ณ์ ์ ์ฌ์ฉํ์ง ๋ง์ธ์. ๋์ ์ฌ์ฉ์๊ฐ ์์ ์ ๊ณ ์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ก ์ธ์ฆํ๋๋ก ํ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด OAuth ๋์ ํ๋ฆ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์๋ฒ ์ธก ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ ์๋น์ค ๊ณ์ ํค๋ฅผ ๋ฐ์ด๋๋ฆฌ์ ์ฝ์ ํ์ง ๋ง์ธ์. ๋์ ํค๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ด๋๋ฆฌ์ ๊ตฌ๋ถํด์ ๊ด๋ฆฌํฉ๋๋ค.
์ธก์ ํญ๋ชฉ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉํ์ง ์๋ ์๋น์ค ๊ณ์ ํค ์๋ณ
์ํ๋๋ ์ ํจํ ์๋น์ค ๊ณ์ ํค ๊ฐ์๋ฅผ ์ต์ํํ๊ธฐ ์ํด์๋ ๋ ์ด์ ํ์ํ์ง ์๊ฒ ๋์์ ๋ ๋ฐ๋ก ํค๋ฅผ ์ฌ์ฉ ์ค์งํ๊ณ , ๋ ์ด์ ํ์ํ์ง ์์ ๊ฒ์ด ํ์คํ ๋๋ ํค๋ฅผ ์ญ์ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค.
ํค๊ฐ ์์ง ์ฌ์ฉ ์ค์ธ์ง ํ์คํ์ง ์์ผ๋ฉด ์๋น์ค ๊ณ์ ํต๊ณ ๋ฐ ์ธ์ฆ ์ธก์ ํญ๋ชฉ์ผ๋ก ์ฌ์ฉ๋์ ํ์ธํ ์ ์์ต๋๋ค.
- ์๋น์ค ๊ณ์ ํต๊ณ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด์ 90์ผ ๋์ ์ฌ์ฉ๋์ง ์์ ์๋น์ค ๊ณ์ ์ ์๋ณํ ์ ์์ต๋๋ค.
- ํค ์ธ์ฆ ์ด๋ฒคํธ ์ธก์ ํญ๋ชฉ์ ๋ชจ๋ํฐ๋งํ๋ฉด ์๋น์ค ๊ณ์ ํค๊ฐ ๋ง์ง๋ง์ผ๋ก ์ฌ์ฉ๋ ์๊ธฐ์ ์๋น์ค ๊ณ์ ์ ์ธ์ฆํ๋ ๋ฐ ์ฌ์ฉ๋ ๋น๋๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
์๋น์ค ๊ณ์ ์ด Google Cloud ํ๋ก์ ํธ์ ์ํ๊ธฐ ๋๋ฌธ์ ๊ฐ ํ๋ก์ ํธ์ ๋ํด ๊ฐ๋ณ์ ์ผ๋ก ํต๊ณ ๋ฐ ์ธก์ ํญ๋ชฉ์ ์ถ์ ํด์ผ ํฉ๋๋ค.
์๋น์ค ๊ณ์ ํค๋ฅผ ์ํํ์ฌ ์ ์ถ๋ ํค๋ก ์ธํ ๋ณด์ ์ํ ๊ฐ์
์๋น์ค ๊ณ์ ํค๊ฐ ์ค์๋ก ์ ์ถ๋ ๊ฐ๋ฅ์ฑ์ ์ค์ผ ์ ์์ง๋ง ์ด๋ฌํ ์ํ ์์ฒด๋ฅผ ์์ ํ ์์ ๋ ๊ฒ์ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
ํค ์ํ์ ๊ธฐ์กด ํค๋ฅผ ์ ํค๋ก ๋ฐ๊พผ ๋ค์ ๊ต์ฒด๋ ํค๋ฅผ ๋ฌดํจํํ๋ ํ๋ก์ธ์ค์ ๋๋ค. ์๋น์ค ๊ณ์ ํค๋ฅผ ํฌํจํ์ฌ ๊ด๋ฆฌํ๋ ๋ชจ๋ ํค๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์๋น์ค ๊ณ์ ํค๋ฅผ ์ํํ๋ฉด ์ ์ถ๋๊ฑฐ๋ ๋๋๋นํ ํค๋ก ์ธํ ์ํ์ ์ค์ผ ์ ์์ต๋๋ค. ํค๊ฐ ์ ์ถ๋๋ฉด ์ ์์ ์ธ ํ์์๊ฐ ํค๋ฅผ ์ฐพ๋ ๋ฐ ๋ฉฐ์น ๋๋ ๋ช ์ฃผ๊ฐ ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ์๋น์ค ๊ณ์ ํค๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์ํํ๋ฉด ์ ์์ ์ธ ํ์์๊ฐ ํค๋ฅผ ํ๋ํ ๋๊น์ง ์ ์ถ๋ ํค๊ฐ ๋ฌดํจํ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
์๋น์ค ๊ณ์ ํค๋ฅผ ์ํํ๋ ํ๋ก์ธ์ค๋ฅผ ์ค์ ํ๋ฉด ์๋น์ค ๊ณ์ ํค๊ฐ ์์๋ ๊ฒ์ผ๋ก ์์ฌ๋๋ ๊ฒฝ์ฐ ๋น ๋ฅด๊ฒ ์กฐ์น๋ฅผ ์ทจํ ์ ์์ต๋๋ค.
๊ณต๊ฐ ํค/๋น๊ณต๊ฐ ํค ์์ ์ง์ ์์ฑํ ํ ํ๋์จ์ด ๋ณด์ ๋ชจ๋(HSM)์ ๋น๊ณต๊ฐ ํค๋ฅผ ์ ์ฅํ๊ณ ๊ณต๊ฐ ํค๋ฅผ Google Cloud์ ์ ๋ก๋ํ ๊ฒฝ์ฐ ์ ๊ธฐ์ ์ธ ์ผ์ ์ ๋ฐ๋ผ ํค๋ฅผ ์ํํ์ง ์์๋ ๋ ์ ์์ต๋๋ค. ๋์ ํค๊ฐ ์์๋์๋ค๊ณ ํ์ ํ๋ฉด ํค๋ฅผ ์ํํ ์ ์์ต๋๋ค.
๋ง๋ฃ ์๊ฐ์ ์ฌ์ฉํ์ฌ ํค ์๋ ๋ง๋ฃ ํ์ฉ
๊ธฐ๋ณธ์ ์ผ๋ก IAM์์ ๋ง๋ค๊ณ ๋ค์ด๋ก๋ํ๋ ์๋น์ค ๊ณ์ ํค๋ ๋ง๋ฃ ์๊ฐ์ด ์์ผ๋ฉฐ ์ญ์ ํ ๋๊น์ง ์ ํจํ ์ํ๋ก ์ ์ง๋ฉ๋๋ค. ์๋น์ค ๊ณ์ ํค์ ๋ง๋ฃ ์๊ฐ์ ์ค์ ํ๋ฉด ์๊ตฌ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด์ ์๋ช ์ ์ค์ฌ ๋ณด์ ์ํ์ ์ต์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ง๋ฃ ์๊ฐ์ ์ค์ ํ๋ฉด ํค๊ฐ ๋ง๋ฃ๋์์ ๋ ์ํฌ๋ก๋๊ฐ ์คํจํ ์ ์๋ ๊ฒฝ์ฐ์ ๊ฐ์ด ๋ง๋ฃ ์๊ฐ ์ค์ ์ ๋ฐ๋ฅธ ๋ค๋ฅธ ์ํ์ด ์์ต๋๋ค.
์๋น์ค ๊ณ์ ํค๊ฐ ํ์ํ ์์คํ ์ ์์๋ก ์ก์ธ์คํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ง๋ฃ ์๊ฐ์ ์ฌ์ฉํ์ธ์. ์๋ฅผ ๋ค์ด ๋ค์ ์์ ์ ์ํํ ๋ ๋ง๋ฃ ์๊ฐ์ ์ฌ์ฉํฉ๋๋ค.
- ์๋น์ค ๊ณ์ ํค๋ก๋ง ์ธ์ฆํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํด ๋นํ๋ก๋์ ํ๊ฒฝ์์ ์ฝ๋ ๊ฐ๋ฐ
- ์๋น์ค ๊ณ์ ํค๋ก๋ง ์ธ์ฆํ ์ ์๋ ์๋ ํํฐ ๋๊ตฌ ์ฌ์ฉ
๋ค์ ์๋๋ฆฌ์ค์์๋ ๋ง๋ฃ ์๊ฐ์ ์ฌ์ฉํ์ง ๋ง์ธ์.
- ํ๋ก๋์ ์ํฌ๋ก๋. ํ๋ก๋์ ํ๊ฒฝ์์ ์๋น์ค ๊ณ์ ํค๊ฐ ๋ง๋ฃ๋๋ฉด ์ฐ๋ฐ์ ์ธ ์๋น์ค ์ค๋จ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ๋์ ๋ง๋ฃ๋์ง ์๋ ํค๋ฅผ ์ฌ์ฉํ๊ณ ํค ์ํ์ผ๋ก ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํ์ธ์.
- ์ง์์ ํตํฉ(CI) ํ์ดํ๋ผ์ธ๊ณผ ๊ฐ์ ์๊ตฌ ์ก์ธ์ค๊ฐ ํ์ํ ๋นํ๋ก๋์ ์ํฌ๋ก๋
- ์ง์ ๋ ์๊ฐ์ด ์ง๋ ํ ํค๊ฐ ์ฌ์ฉ๋์ง ์๋๋ก ๋ฐฉ์งํ๋ ํค ์ํ ์์คํ . ๊ถ์ฅ ํค ์ํ ์ ๋ต์ ๋ํด ์์๋ณด๋ ค๋ฉด ์๋น์ค ๊ณ์ ํค ์ํ์ ์ฐธ์กฐํ์ธ์.
์๋น์ค ๊ณ์ ํค์ ์ ํจ ๊ธฐ๊ฐ์ ์ ํํ๋ ค๋ฉด ํ๋ก์ ํธ, ํด๋, ์กฐ์ง์์ ์๋ก ์์ฑ๋๋ ํค์ ๋ง๋ฃ ์๊ฐ์ ๊ตฌ์ฑํ๋ฉด ๋ฉ๋๋ค. ๊ธฐ์กด ํค์๋ ๋ง๋ฃ ์๊ฐ์ด ์ ์ฉ๋์ง ์์ต๋๋ค.
๋๋ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ ๋ก๋ํ๊ณ X.509 ์ธ์ฆ์ ํ์ผ์ ์ ํจ ๊ธฐ๊ฐ ๋ ์ง๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ๋ง๋ฃ์ผ์ด ์ง๋๋ฉด ์ธ์ฆ์ ํค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ญ์ ํ ๋๊น์ง ์๋น์ค ๊ณ์ ์ ์ฐ๊ฒฐ๋ ์ํ๋ก ์ ์ง๋ฉ๋๋ค.
์กฐ์ง ์ ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ ๋์ถ๋ ํค ์๋ ์ฌ์ฉ ์ค์ง
์๋น์ค ๊ณ์ ํค์ ๋ชจ๋ ๊ถ์ฅ์ฌํญ์ ๋ฐ๋ฅด๋๋ผ๋ ์๋น์ค ๊ณ์ ํค๊ฐ ๋์ถ๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
๋์ถ๋ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๊ด๋ฆฌ๋ฅผ ๋๊ธฐ ์ํด์๋ ์๋น์ค ๊ณ์ ํค ๋์ถ ์๋ต ์ ์ฝ์กฐ๊ฑด์ด DISABLE_KEY
๋ก ์ค์ ๋์๋์ง ํ์ธํฉ๋๋ค. ์ ์ฝ์กฐ๊ฑด์ ์ด ๊ฐ์ผ๋ก ์ค์ ํ๋ฉด Google Cloud์ด ๊ฐ์ง๋ ๋ชจ๋ ๋์ถ ํค๋ฅผ ์๋์ผ๋ก ์ฌ์ฉ ์ค์งํฉ๋๋ค.
ํค๊ฐ ์ ์ถ๋์ด ์ฌ์ฉ ์ค์ง๋์์ผ๋ฉด ํค์ ๋ฉํ๋ฐ์ดํฐ์ ๋ค์ ํ๋๊ฐ ์ถ๊ฐ๋ฉ๋๋ค.
"disable_reason": "SERVICE_ACCOUNT_KEY_DISABLE_REASON_EXPOSED"
: ํค๊ฐ ๋ ธ์ถ๋์ด ์ฌ์ฉ ์ค์ง๋์์์ ๋ํ๋ ๋๋ค."extended_status": "SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED"
: ํค๊ฐ ํ ๋ฒ ๊ณต๊ฐ์ ์ผ๋ก ๋ ธ์ถ๋์์์ ๋ํ๋ ๋๋ค. ์ด ๊ฐ์ ํค๋ฅผ ๋ค์ ์ฌ์ฉ ์ค์ ํด๋ ์ ์ง๋ฉ๋๋ค."extended_status_message": "LINK_TO_EXPOSURE"
: ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ฉํ๋ฐ์ดํฐ์๋ ๋ฌธ์ ํด๊ฒฐ์ ์ํด ์ฌ์ฉํ ์ ์๋ ํค๊ฐ ๊ฐ์ง๋ ์์น์ ๋ํ ๋งํฌ๊ฐ ํฌํจ๋ฉ๋๋ค.
์ด๋ฌํ ํค๋ ์ค๋จ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ํ์ํ ๊ฒฝ์ฐ ๋ค์ ์ฌ์ฉ ์ค์ ํ ์ ์์ต๋๋ค. ํ์ง๋ง ๊ณต๊ฐ์ ์ผ๋ก ๋ ธ์ถ๋ ํค๋ ์ต์ด์ ๋ ธ์ถ ๋ฌธ์ ๊ฐ ์ ๊ฑฐ๋์๋๋ผ๋ ๋ณด์ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ํค๋ฅผ ๋ค์ ์ฌ์ฉ ์ค์งํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์์๋ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๊ด๋ฆฌ๋ฅผ ์ํ ๊ธฐํ ๊ถ์ฅ์ฌํญ์ ๋ณด๋ ค๋ฉด ์์๋ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์ฒ๋ฆฌ Google Cloud๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ถํ ์์ค์ปฌ๋ ์ด์ ์ผ๋ก๋ถํฐ ๋ณดํธ
ํค๋ก ์ก์ธ์คํ ์ ์๋ ๋ฆฌ์์ค๋ณด๋ค ํค ์์ฒด์ ๋ํ ๋ณด์ ์์ค์ด ๋ฎ์ ๊ฒฝ์ฐ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํ๋ฉด ๊ถํ ์์ค์ปฌ๋ ์ด์ ๊ณต๊ฒฉ์ ๋ ธ์ถ๋ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ์ ์์ ์ธ ํ์์๊ฐ ํ๊ฒฝ์ ์ด๋ฏธ ์กด์ฌํ๋ฉด์ ํน์ Google Cloud ๋ฆฌ์์ค์ ์ก์ธ์คํ๋ ค๊ณ ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ด๋ฌํ ๋ฆฌ์์ค์๋ ์ก์ธ์คํ ์ ์๋ ๊ถํ์ด ์์ ์ ์์ง๋ง VM, ํ์ผ ๊ณต์ ๋๋ ๋ณด์ ์์ค์ด ๋ ์์ ํ ์์น์ ์ ์ฅ๋ ์๋น์ค ๊ณ์ ํค์ ์ก์ธ์คํ๊ธฐ์ ์ถฉ๋ถํ ๊ถํ์ผ ์ ์์ต๋๋ค. ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆํ๋ฉด ์ ์์ ์ธ ํ์์๊ฐ ์๋น์ค ๊ณ์ ์ ID๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋น์ค ๊ณ์ ์ ์ ์์ ์ธ ํ์์๊ฐ ์ด์ ์ ์ก์ธ์คํ์ง ๋ชปํ๋ ๋ฆฌ์์ค์ ์ก์ธ์คํ๋๋ก ํ์ฉํ์ฌ ์ ์์ ์ธ ํ์์์ ๊ถํ์ ์์ค์ปฌ๋ ์ด์ ํ ์ ์์ต๋๋ค.
์๋น์ค ๊ณ์ ํค๋ Google Cloud์ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๊ฐ์ ์ ์ผ๋ก ๋ถ์ฌํ๋ฏ๋ก ํค ์์ฒด๊ฐ ๋ฆฌ์์ค๋งํผ ์ค์ํ๊ณ ๋ณดํธ ๊ฐ์น๊ฐ ์๋ค๊ณ ๊ฐ์ฃผํด์ผ ํฉ๋๋ค.
๋ค์ ์น์ ์์๋ ์๋น์ค ๊ณ์ ํค๋ฅผ ๋ณดํธํ๊ณ ๋ฌด๋จ ์ก์ธ์ค ๋ฐ ๊ทธ๋ก ์ธํ ๊ถํ ์์ค์ปฌ๋ ์ด์ ์ ์ํ์ ์ค์ผ ์ ์๋ ๊ถ์ฅ์ฌํญ์ ์ค๋ช ํฉ๋๋ค.
๊ถ์ฅ์ฌํญ:
ํ์ผ ์์คํ ์ ํค ์ ์ฅํ์ง ์๊ธฐHSM ๋๋ TPM์ ์ฌ์ฉํ์ฌ ํค ์ ์ฅ
์ํํธ์จ์ด ๊ธฐ๋ฐ ํค ์ ์ฅ์ ์ฌ์ฉ
Secret Manager ๋๋ ๋ค๋ฅธ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๋ณด์ ๋น๋ฐ ์ ์ฅ์์ ํค ์ ์ฅ ๊ธ์ง.
์๋น์ค ๊ณ์ ํค ์์ฑ ๋๋ ์ ๋ก๋๋ฅผ ํ์ฉํ๋ ํ๋ก์ ํธ์ ํธ์ง์ ์ญํ ์ฌ์ฉ ๊ธ์ง.
๋๋ฉ์ธ ์ ์ฒด ์์ ์ ์๋น์ค ๊ณ์ ํค ์ฌ์ฉ ๋ฐฉ์ง.
ํ์ผ ์์คํ ์ ํค ์ ์ฅํ์ง ์๊ธฐ
Google Cloud ์ฝ์ ๋๋ gcloud CLI๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ๋ ์๋น์ค ๊ณ์ ํค๋ JSON ํ์ผ์ด๋ฉฐ, ํ์ํ ๋จธ์ ์ ํ์ผ ์์คํ ์ ์ด ํ์ผ์ ๋ณต์ฌํ ์ ์์ต๋๋ค. ํ์ง๋ง ์๋น์ค ๊ณ์ ํค๋ฅผ ํ์ผ ์์คํ ์ ํ์ผ๋ก ์ ์ฅํ๋ฉด ๋ค์์ ํฌํจํ์ฌ ์ฌ๋ฌ ์ํ์ ๋ ธ์ถ๋ ์ ์์ต๋๋ค.
- NTFS์ ๊ฐ์ ์ผ๋ถ ํ์ผ ์์คํ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์๋ ๊ถํ์ ์ฌ์ฉํฉ๋๋ค. ์ฌ์ฉ ์ค์ง๋์ง ์๋ ํ ์์ ํด๋์ ์ถ๊ฐ๋ ๊ถํ์ผ๋ก ์ธํด ์๋์น ์๊ฒ ํค ํ์ผ์ ๋ ๊ด๋ฒ์ํ๊ฒ ์ก์ธ์คํ๊ณ ์น์ธ๋์ง ์์ ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์์ต๋๋ค.
- ๊ฐ์ํ๋ ํ๊ฒฝ์์ ์ ์์ ์ธ ํ์์๋ ๊ธฐ๋ณธ ๊ฐ์ ๋์คํฌ์ ์ก์ธ์คํ์ฌ ํ์ผ ์์คํ ๋ณด์์ ์ฝํ์ํฌ ์ ์์ต๋๋ค.
- ํ์ผ ์์คํ ์ก์ธ์ค ๋ฐ ๊ถํ ๋ณ๊ฒฝ์ ์ข ์ข ๊ฐ์ฌ ๋ก๊ทธ์ ๊ธฐ๋ก๋์ง ์์ต๋๋ค. ํ์ผ ๊ถํ์ด ์๋์น ์๊ฒ ๋ณ๊ฒฝ๋๊ณ ์น์ธ๋์ง ์์ ์ฌ์ฉ์๊ฐ ํค๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ฉด ์ด๋ฌํ ๋ณ๊ฒฝ์ด ์ธ์ ๋๊ตฌ์ ์ํด ์ํ๋์๋์ง ๋ถ์ํ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
- ํ์ผ์ ์ฝ๊ฒ ๋ณต์ฌํ ์ ์์ผ๋ฏ๋ก ์ ์์ ์ธ ํ์์๊ฐ ์ก์ธ์ค ๊ถํ์ ์ป๊ฒ ๋ ๊ฒฝ์ฐ ์ ์ถ๋ ์ ์์ต๋๋ค.
๊ฐ๋ฅํ๋ฉด ์๋น์ค ๊ณ์ ํค๋ฅผ ํ์ผ ์์คํ ์ ์ ์ฅํ์ง ์์์ผ ํฉ๋๋ค. ๋์คํฌ์ ํค๋ฅผ ์ ์ฅํ ์ ๋ฐ์ ์์ผ๋ฉด ํ์ผ ์ก์ธ์ค ๊ฐ์ฌ๋ฅผ ๊ตฌ์ฑํ์ฌ ํค ํ์ผ์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ํํ๊ณ ๊ธฐ๋ณธ ๋์คํฌ๋ฅผ ์ํธํํฉ๋๋ค.
HSM ๋๋ TPM์ ์ฌ์ฉํ์ฌ ํค ์ ์ฅ
Google Cloud ์ฝ์ ๋๋ gcloud CLI๋ฅผ ์ฌ์ฉํ์ฌ ์๋น์ค ๊ณ์ ํค๋ฅผ ๋ง๋ค๋ฉด Google Cloud ์์ ๋น๊ณต๊ฐ ํค๊ฐ ์์ฑ๋๊ณ ์ฌ์ฉ์์๊ฒ ํ์๋ฉ๋๋ค. ์๋น์ค ๊ณ์ ํค์ ์ฐ๊ด๋ ๋ง์ ๋ณด์ ์ํ์ ์ผ์์ ์ผ๋ก๋ ๋๋ ์๊ตฌ์ ์ผ๋ก๋ ๋น๊ณต๊ฐ ํค๊ฐ ์ผ๋ฐ ํ ์คํธ๋ก ์ ๊ณต๋๊ณ ๋ฐ๋ผ์ ๋ณดํธ๊ฐ ์ด๋ ค์ธ ์ ์๋ค๋ ์ฌ์ค๋ก๋ถํฐ ๋น๋กฏ๋ฉ๋๋ค.
Google Cloud ์์ ํค ์์ ์์ฑํ๋๋ก ํ๋ ๋์ ํ๋์จ์ด ๋ณด์ ๋ชจ๋(HSM) ๋๋ ์ ๋ขฐ ํ๋ซํผ ๋ชจ๋(TPM)์ ์ฌ์ฉํ์ฌ ํค๋ฅผ ๋ง๋ค๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- HSM ๋๋ TPM์ ์ฌ์ฉํ์ฌ RSA ํค ์์ ์์ฑํฉ๋๋ค.
- ํค ์์ ์ฌ์ฉํ์ฌ ์์ฒด ์๋ช ์ธ์ฆ์๋ฅผ ๋ง๋ญ๋๋ค.
- ์๋น์ค ๊ณ์ ํค๋ก ์ธ์ฆ์๋ฅผ ์ ๋ก๋ํฉ๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ด HSM ๋๋ TPM์ ์๋ช API๋ฅผ ์ฌ์ฉํด์ ์๋น์ค ๊ณ์ ์ธ์ฆ์ ์ํด JWT๋ฅผ ์๋ช ํ๋๋ก ํ์ฉํฉ๋๋ค.
HSM ๋๋ TPM์ ์ฌ์ฉํ๋ฉด ํค๋ฅผ ์ผ๋ฐ ํ ์คํธ๋ก ๋๋ฌ๋ด์ง ์๊ณ ๋น๊ณต๊ฐ ํค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ HSM ๋๋ TPM์ ์ฌ์ฉํด์ ์๋น์ค ๊ณ์ ํค๋ฅผ ๊ด๋ฆฌํ๋ฉด ์ก์ธ์ค ์ ์ด๋ฅผ ๊ฐํํ๋ฉด์๋ ํค๊ฐ ๋ค๋ฅธ ์์คํ ์ ๋ณต์ฌ๋ ์ํ์ ์ค์ด๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ผ๋ถ ํ๋ซํผ์ ์ง์ ์ํธ์์ฉํ ํ์ ์์ด TPM์ ์ด์ ์ ํ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ์ถ์ํ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด Windows์์๋ Microsoft Platform Crypto Provider
์ ํจ๊ป CryptoNG API๋ฅผ ์ฌ์ฉํ์ฌ TPM ๋ณดํธ ํค๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
TPM์ผ๋ก ๊ด๋ฆฌ๋๋ ์๋น์ค ๊ณ์ ํค๋ ๋ฌผ๋ฆฌ ๋๋ ๊ฐ์ ๋จธ์ ์ ๊ณ ์ ํฉ๋๋ค. ์ฌ์ ํ ๊ฐ ๋จธ์ ์ ํค๋ฅผ ๊ณตํต ์๋น์ค ๊ณ์ ๊ณผ ์ฐ๊ฒฐํ์ฌ ์ฌ๋ฌ ๋จธ์ ์ด ํ๋์ ์๋น์ค ๊ณ์ ์ ๊ณต์ ํ๋๋ก ํ ์ ์์ต๋๋ค.
์ํํธ์จ์ด ๊ธฐ๋ฐ ํค ์ ์ฅ์ ์ฌ์ฉ
์ฌ์ฉ์ ๊ธฐ๋ฐ ํค ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ฝ์ง ์์ ๊ฒฝ์ฐ์๋ ์ํํธ์จ์ด ๊ธฐ๋ฐ ํค ์ ์ฅ์๋ฅผ ์ฌ์ฉํ์ฌ ์๋น์ค ๊ณ์ ํค๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ํ๋์จ์ด ๊ธฐ๋ฐ ์ต์ ๊ณผ ๋น์ทํ๊ฒ, ์ํํธ์จ์ด ๊ธฐ๋ฐ ํค ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์ ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋น๊ณต๊ฐ ํค๋ฅผ ๋๋ฌ๋ด์ง ์๊ณ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ํํธ์จ์ด ๊ธฐ๋ฐ ํค ์ ์ฅ์ ์๋ฃจ์ ์ ํค ์ก์ธ์ค๋ฅผ ๋ฏธ์ธํ ๋ฐฉ์์ผ๋ก ์ ์ดํ ์ ์๊ฒ ํด์ฃผ๊ณ ๊ฐ ํค ์ก์ธ์ค๊ฐ ๋ก๊น ๋๋๋ก ํ ์๋ ์์ต๋๋ค.
์ํํธ์จ์ด ๊ธฐ๋ฐ ํค ์ ์ฅ์์ ๋ณด์์ ์ผ๋ฐ์ ์ผ๋ก ๋ง์คํฐ ํค์ ๋ณดํธ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์ํํธ์จ์ด ๊ธฐ๋ฐ ํค ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๊ฒํ ํ์ธ์.
- ์ ์ฅ ์ํ์์์ ๋ง์คํฐ ํค ๋ณด์ ๋ฐฉ๋ฒ
- ํด์ ํ๋ก์ธ์ค ์๋ ๋ฐฉ๋ฒ๊ณผ ์ด๋ฅผ ์์ํ ์ ์๋ ์ฌ์ฉ์
- ๋ฉ๋ชจ๋ฆฌ์์ ํค๊ฐ ์ถ์ถ๋์ง ์๋๋ก ๋ณดํธํ๋ ๋ฐฉ๋ฒ
- ์ ์์ ์ธ ํ์์๊ฐ ์ ธ ์ก์ธ์ค๋ ๊ธฐ๋ณธ ์์คํ ์ ๋ํ ํ์ดํผ๋ฐ์ด์ ์ก์ธ์ค ๊ถํ์ ์ป์ ๊ฒฝ์ฐ ํค ์ ์ฅ์๊ฐ ์ฝํ๋์ง ์๋๋ก ๋ณดํธํ๋ ๋ฐฉ๋ฒ
Secret Manager ๋๋ ๋ค๋ฅธ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๋ณด์ ๋น๋ฐ ์ ์ฅ์์ ํค ์ ์ฅ ๊ธ์ง
์๋น์ค ๊ณ์ ํค๋ฅผ ์ ์ฅํ๊ณ ์ํํ๊ธฐ ์ํด Google Cloud์ Secret Manager๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๋ Secret Manager ๋ณด์ ๋น๋ฐ์ ์ก์ธ์คํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์Google Cloud ๊ฐ ์ธ์ํ ์ ์๋ ID๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋ฏธ Google Cloud ๊ฐ ์ธ์ํ ์ ์๋ ID๊ฐ ์๋ ๊ฒฝ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํ๋ ๋์ ํด๋น ID๋ฅผ ์ฌ์ฉํ์ฌ Google Cloud ์ ์ธ์ฆํ ์ ์์ต๋๋ค.Azure KeyVault ๋ฐ AWS Secret Manager์ ๊ฐ์ ๋ค๋ฅธ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๋ณด์ ๋น๋ฐ ๊ด๋ฆฌ ์๋น์ค์๋ ๋์ผํ ๊ฐ๋ ์ด ์ ์ฉ๋ฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋ฏธ ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด์์ ์ธ์ํ ์ ์๋ ID๊ฐ ์๋ ๊ฒฝ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํ๋ ๋์ ํด๋น ID๋ฅผ ์ฌ์ฉํ์ฌ Google Cloud ์ ์ธ์ฆํ ์ ์์ต๋๋ค.
์๋น์ค ๊ณ์ ํค ์์ฑ ๋๋ ์ ๋ก๋๋ฅผ ํ์ฉํ๋ ํ๋ก์ ํธ์ ํธ์ง์ ์ญํ ์ฌ์ฉ ๊ธ์ง
ํธ์ง์(roles/editor
) ๋ฐ ์์ ์(roles/owner
) ๊ธฐ๋ณธ ์ญํ ๊ฐ์ ์ค์ํ ์ฐจ์ด์ ์ ํธ์ง์ ์ญํ ์ ๊ฒฝ์ฐ IAM ์ ์ฑ
๋๋ ์ญํ ์ ๋ณ๊ฒฝํ ์ ์๋ค๋ ๊ฒ์
๋๋ค.
๋ฐ๋ผ์ ํธ์ง์ ์ญํ ์ด ์์ผ๋ฉด ์์ ์ ๊ณ ์ ์ก์ธ์ค ๊ถํ์ ํ์ฅํ๊ฑฐ๋ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ํ๋ก์ ํธ ๋ฆฌ์์ค ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ์ด ์ฝ์ง ์์ต๋๋ค.
ํ๋ก์ ํธ์ ์๋น์ค ๊ณ์ ์ด ์์ผ๋ฉด ํธ์ง์ ์ญํ ์ ์ ํ์ด ์ฝํ๋ ์ ์์ต๋๋ค. ํธ์ง์ ์ญํ ์ ์๋น์ค ๊ณ์ ํค๋ฅผ ๋ง๋ค๊ฑฐ๋ ์ ๋ก๋ํ๋ ๊ถํ์ ๋ถ์ฌํ๊ธฐ ๋๋ฌธ์ ์ ์์ ์ธ ํ์์๊ฐ ๊ธฐ์กด ์๋น์ค ๊ณ์ ์ ๋ํด ์ ํค๋ฅผ ๋ง๋ค๊ณ ์ด๋ฌํ ํค๋ฅผ ์ฌ์ฉํด์ ์์ ์ ๊ณ ์ ์ก์ธ์ค ๊ถํ์ ์์ค์ปฌ๋ ์ด์ ํ๊ฑฐ๋ ํค๋ฅผ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ์ฌ ํ๋ก์ ํธ์ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค ๊ถํ์ ํ๋ํ ์ ์์ต๋๋ค.
ํธ์ง์ ์ญํ ๋๋ ๋ค๋ฅธ ๊ธฐ๋ณธ ์ญํ ์ ์ฌ์ฉํ๋ ๋์ ๋ณด๋ค ์ ํ์ ์ผ๋ก ์ ์๋ ๋ฏธ๋ฆฌ ์ ์๋ ์ญํ ์ ์ฌ์ฉํ๊ฑฐ๋ ํ์ํ ๊ถํ๋ง ๋ถ์ฌํ๋ ์ปค์คํ ์ญํ ์ ๋ง๋๋ ๊ฒ์ด ์ข์ต๋๋ค.
ํธ์ง์ ์ญํ ์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ ์กฐ์ง ์ ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ ์๋น์ค ๊ณ์ ํค ์ ๋ก๋ ๋ฐ ํค ์์ฑ์ ์ฌ์ฉ ์ค์งํ๋ฉด ํธ์ง์ ์ญํ ์ ๊ถํ ์์ค์ปฌ๋ ์ด์ ์ ์ ์ฉํ ์ ์์ต๋๋ค.
๋๋ฉ์ธ ์ ์ฒด ์์ ์ ์๋น์ค ๊ณ์ ํค ์ฌ์ฉ ๋ฐฉ์ง
๋๋ฉ์ธ ์ ์ฒด ์์์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์ ์ธก๋ฉด์ ์๋ ์น์ธ ์์ด ์ฌ์ฉ์ ๋ฐ์ดํฐ์ ์ก์ธ์คํ ์ ์๋๋ก ์ฌ์ฉ์๋ฅผ ๊ฐ์ฅํ ์ ์์ต๋๋ค. ๋๋ฉ์ธ ์ ์ฒด ์์ ์ฌ์ฉ์ ์ค๋ช ํ๋ ์์์์๋ ์ผ๋ฐ์ ์ผ๋ก ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํ๋๋ก ์ ์ํ์ง๋ง ๋๋ฉ์ธ ์ ์ฒด ์์์ ์ํํ๊ธฐ ์ํด ๋ฐ๋์ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํ ํ์๋ ์์ต๋๋ค.
๋๋ฉ์ธ ์ ์ฒด ์์์ ์ฌ์ฉํ ๋๋ ์๋น์ค ๊ณ์ ํค๋ฅผ ํผํ๊ณ signJwt
API๋ฅผ ๋์ ์ฌ์ฉํ์ธ์.
- ์ฐ๊ฒฐ๋ ์๋น์ค ๊ณ์ ,GKE์ฉ ์ํฌ๋ก๋ ์์ด๋ดํฐํฐ ์ ํด, ์ํฌ๋ก๋ ์์ด๋ดํฐํฐ ์ ํด๋ฅผ ๋จผ์ ์ฌ์ฉํ์ฌ ์๋น์ค ๊ณ์ ์ ์ธ์ฆํ์ธ์.
- JWT๋ฅผ ์์ฑํ๊ณ
sub
ํด๋ ์์ ์ฌ์ฉํ์ฌ ์์๋ ์ก์ธ์ค ๊ถํ์ ์์ฒญํ๋ ค๋ ์ฌ์ฉ์์ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ์ง์ ํฉ๋๋ค. signJwt
API๋ฅผ ์ฌ์ฉํ์ฌ JWT๋ฅผ ์๋ช ํฉ๋๋ค.- OAuth2 ํ ํฐ ๋ฆฌ์์ค์ ์๋ช ๋ JWT๋ฅผ ์ ๋ฌํ์ฌ ์ก์ธ์ค ํ ํฐ์ ๊ฐ์ ธ์ต๋๋ค.
์ด ๋ฐฉ๋ฒ์ ๋ฐ๋ฅด๋ฉด ์๋น์ค ๊ณ์ ํค๋ฅผ ๊ด๋ฆฌํ์ง ์์๋ ๋๋ฏ๋ก ๋ ์ฝ๊ฒ ๋ณดํธํ ์ ์์ต๋๋ค.
์ ๋ณด ๊ณต๊ฐ ์ํ์ผ๋ก๋ถํฐ ๋ณดํธ
์ ๋ก๋๋ X.509 ์ธ์ฆ์์ ๊ธฐ๋ฐ ์ ๋ณด ๊ณต๊ฐํ์ง ์๊ธฐ
๊ฐ ์๋น์ค ๊ณ์ ํค์ ๋ํด IAM์ ์ฌ์ฉํ์ฌ X.509 ์ธ์ฆ์๋ฅผ https://www.googleapis.com/service_accounts/v1/metadata/x509/ACCOUNT_EMAIL
์๋ํฌ์ธํธ์์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค.
์ด ์๋ํฌ์ธํธ๋ ๊ณต๊ฐ์ ์ด๋ฉฐ ์ธ์ฆ์ด ํ์ํ์ง ์์ต๋๋ค.
Google Cloud ์ฝ์ ๋๋ gcloud CLI๋ฅผ ์ฌ์ฉํ์ฌ ๋ง๋ Google-owned and managed keys ๋ฐ ์ฌ์ฉ์ ๊ด๋ฆฌ ํค์ ๊ฒฝ์ฐ X.509 ์ธ์ฆ์๊ฐ ์๋์ผ๋ก ์์ฑ๋๋ฉฐ ์ด๋ฉ์ผ ์ฃผ์ ๋ฐ ๋ง๋ฃ์ผ๊ณผ ๊ฐ์ ๊ธฐ๋ณธ ๋ฉํ๋ฐ์ดํฐ๋ง ํฌํจ๋ฉ๋๋ค.
์ ๋ก๋๋ ์๋น์ค ๊ณ์ ํค์ ๋ํด ๊ณต๊ฐ ์๋ํฌ์ธํธ์์ ์ ๊ณต๋๋ X.509 ์ธ์ฆ์๋ ์ฌ์ฉ์๊ฐ ์ ๋ก๋ํ ๊ฒ๊ณผ ๋์ผํ ์ธ์ฆ์์ ๋๋ค. ์ฌ์ฉ์๊ฐ ์ ๋ก๋ํ ์ธ์ฆ์์ ์ ํ์ ์ธ ์์ฑ(์ผ๋ฐ ์ด๋ฆ์ด ์ฝ์ ๋ ์ฃผ์ ๋๋ ์์น ์ ๋ณด ๋ฑ)์ด ํฌํจ๋ ๊ฒฝ์ฐ ์ด ์ ๋ณด๊ฐ ๊ณต๊ฐ์ ์ผ๋ก ์ก์ธ์ค๋ ์ ์์ต๋๋ค. ์ ์์ ์ธ ํ์์๊ฐ ์ด๋ฌํ ์ ๋ณด๋ฅผ ์ด์ฉํด์ ํด๋น ํ๊ฒฝ์ ๋ํด ์์ธํ ์์๋ณผ ์ ์์ต๋๋ค.
๊ธฐ๋ฐ ์ ๋ณด๊ฐ ๋
ธ์ถ๋์ง ์๋๋ก ์
๋ก๋๋ X.509 ์ธ์ฆ์์ ์ ํ์ ์ธ ์์ฑ์ ์ถ๊ฐํ์ง ์๊ณ , ์ผ๋ฐ์ ์ธ Subject
๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ถ์ธ ๋ฐฉ์ง ์ํ์ผ๋ก๋ถํฐ ๋ณดํธ
Google Cloud๋ฆฌ์์ค์ ์ํฅ์ ์ฃผ๋ ์์ฌ์ค๋ฌ์ด ํ๋์ด ๋ฐ๊ฒฌ๋์๊ณ ์ด๋ฌํ ํ๋์ ์์์ ์ ๋ถ์ํ๊ณ ์ถ์ผ๋ฉด ์์ฌ์ค๋ฌ์ด ํ๋์ผ๋ก ์ด์ด์ง ์ผ๋ จ์ ์ด๋ฒคํธ๋ฅผ ์ฌ๊ตฌ์ฑํ ์ ์๊ฒ ํด์ฃผ๋ ๋ฐ์ดํฐ๊ฐ ํ์ํฉ๋๋ค. ์ด๋ฌํ ๋ถ์์ ์ํํ๊ธฐ ์ํ ๋ฐ์ดํฐ์ ์ฃผ์ ์์์ ์ ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฌ ๋ก๊ทธ์ ๋๋ค.
์๋น์ค ๊ณ์ ์ด ๊ด๋ จ๋์ด ์์ผ๋ฉด ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ๋ถ์ํ๋ ๊ฒ์ด ๋ ์ด๋ ค์์ง ์ ์์ต๋๋ค. ์๋น์ค ๊ณ์ ์์ ํ๋์ ์์ํ ๊ฒฝ์ฐ ๋ก๊ทธ ํญ๋ชฉ์ ์๋น์ค ๊ณ์ ์ ์ด๋ฉ์ผ ์ฃผ์๊ฐ ํฌํจ๋์ง๋ง ํด๋น ์์ ์ ์ด๋ค ์ฌ์ฉ์ ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋น์ค ๊ณ์ ์ ์ฌ์ฉํ๊ณ ์์๋์ง๋ ์์๋ด์ผ ํฉ๋๋ค.
๋ค์ ์น์ ์๋ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉ๋์ ์ถ์ ํ๋ ๋ฐ ์ฌ์ฉํ๊ธฐ ์ํ ๊ถ์ฅ์ฌํญ์ด ๋์ ์์ต๋๋ค.
๊ถ์ฅ์ฌํญ:
๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฉ ์๋น์ค ๊ณ์ ์ฌ์ฉ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๋ ๋จธ์ ๋ง๋ค ์ ์ฉ ํค ์ฌ์ฉ
๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฉ ์๋น์ค ๊ณ์ ์ฌ์ฉ
๋ชจ๋ ๊ฐ์ฌ ๋ก๊ทธ ๋ ์ฝ๋์๋ ํ๋์ ์์ํ ์ฃผ ๊ตฌ์ฑ์์ ์๋ณํ๋ principalEmail
ํ๋๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์
์์ ์๋น์ค ๊ณ์ ํค๋ฅผ ๊ณต์ ํ๋ ๊ฒฝ์ฐ ๊ฐ์ฌ ๋ก๊ทธ ๋ ์ฝ๋์ ๋์ผํ principalEmail
๊ฐ์ด ํฌํจ๋๋ฏ๋ก ํ๋์ ์ํํ ์ ํ๋ฆฌ์ผ์ด์
์ ์๋ณํ๋ ๊ฒ์ด ์ด๋ ค์ธ ์ ์์ต๋๋ค.
์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ์ ํค๋ฅผ ๊ณต์ ํ๋ ๋์ ๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ํด ์ ์ฉ ์๋น์ค ๊ณ์ ์ ๋ง๋์ธ์. ์ด๋ ๊ฒ ํ๋ฉด principalEmail
ํ๋๋ฅผ ํตํด ์๋น์ค ๊ณ์ ๊ณผ ์ฐ๊ฒฐ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์๋ณํ ์ ์๊ณ , ๋ฐ๋ผ์ ์์ฌ์ค๋ฌ์ด ํ๋์ผ๋ก ์ด์ด์ง ์ผ๋ จ์ ์ด๋ฒคํธ๋ฅผ ์ฌ๊ตฌ์ฑํ๋ ๋ฐ ๋์์ ์ค ์ ์์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๋ ๊ฐ ๋จธ์ ์ ์ ์ฉ ํค ์ฌ์ฉ
์ฌ๋ฌ ๋จธ์ ๊ฐ์ ๋์ผํ ์ ํ๋ฆฌ์ผ์ด์
์ ์ฌ๋ฌ ๋ณต์ฌ๋ณธ์ ์คํํ๋ ๊ฒฝ์ฐ principalEmail
ํ๋๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์
์ ์๋ณํ ์ ์์ง๋ง ํน์ ํ๋์ด ์์๋ ๋จธ์ ์ ํ์ธํ ์ ์์ต๋๋ค.
์์ฌ์ค๋ฌ์ด ํ๋์ ๋ํ ์ ์ฌ์ ์์ธ์ ์ค์ด๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์
์ฌ๋ณธ๋ง๋ค ๊ฐ๋ณ ํค๋ฅผ ๋ง๋ญ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ง์ ์๋น์ค๋ค์ด ๊ฐ์ฌ ๋ก๊ทธ ๊ธฐ๋ก์ ์ถ๊ฐํ๋ serviceAccountKeyName
ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ํ๋์ด ๋ฐ์ํ ๋จธ์ ์ ๊ตฌ๋ณํ ์ ์์ต๋๋ค.
์ ์์ ์ธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๊ตฌ์ฑ์ผ๋ก๋ถํฐ ๋ณดํธ
์ผ๋ถ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๊ตฌ์ฑ์๋ ์ํฌ๋ก๋์์ ์ ํฉํ๊ฒ ๊ฒ์ฆ๋์ง ์์ ๊ฒฝ์ฐ ์ํฌ๋ก๋์์ ์ ์์ ์ธ ์๋ํฌ์ธํธ ์ฌ์ฉ์ ์ ๋ฐํ ์ ์๋ URL ๋ฐ ํ์ผ ๊ฒฝ๋ก๊ฐ ํฌํจ๋ฉ๋๋ค.
๊ถ์ฅ์ฌํญ:
์ธ๋ถ ์์ค์์ ๊ฐ์ ธ์จ ํค๋ฅผ Google API์ ์ธ์ฆํ๋ ๋ฐ ์ฌ์ฉํ๊ธฐ ์ ์ ๊ฒ์ฆํฉ๋๋ค.์ธ๋ถ ์์ค์์ ๊ฐ์ ธ์จ ํค๋ฅผ Google API์ ์ธ์ฆํ๋ ๋ฐ ์ฌ์ฉํ๊ธฐ ์ ์ ํค ๊ฒ์ฆ
์ธ๋ถ ์์ค์์ ์๋น์ค ๊ณ์ ํค๋ฅผ ์๋ฝํ๋ ๊ฒฝ์ฐ ํค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๊ฒ์ฆํด์ผ ํฉ๋๋ค. ํค๋ฅผ ๊ฒ์ฆํ์ง ์์ผ๋ฉด ์ ์์ ์ธ ํ์์๊ฐ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ํฌ๋ก๋๊ฐ ์ ์ฑ ์๋ํฌ์ธํธ์ ์ก์ธ์คํ๋๋ก ํ ์ ์์ต๋๋ค.
์์คํ
์์ ์๋น์ค ๊ณ์ ํค๋ง ์์ํ๋ ๊ฒฝ์ฐ type
ํ๋์ ๊ฐ์ด service_account
์ธ์ง ํ์ธํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ ์ธ๋ถ ์์ค ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๊ตฌ์ฑ์ ์ฌ์ฉํ ๋์ ๋ณด์ ์๊ตฌ์ฌํญ์ ์ฐธ์กฐํ์ธ์.
๋ค์ ๋จ๊ณ
- ์๋น์ค ๊ณ์ ์์ ์ ์ํ ๊ถ์ฅ์ฌํญ์ ๋ํด ์์ธํ ์์๋ณด๊ธฐ
- ๋ฐฐํฌ ํ์ดํ๋ผ์ธ์์ ์๋น์ค ๊ณ์ ์ ์ฌ์ฉํ๊ธฐ ์ํ ๊ถ์ฅ์ฌํญ ๊ฒํ ํ๊ธฐ