์•ก์„ธ์Šค ์ œ์–ด์— ๋ฆฌ์†Œ์Šค ๊ณ„์ธต ๊ตฌ์กฐ ์‚ฌ์šฉ

Google Cloud ๋ฆฌ์†Œ์Šค๋Š” ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ์ง ๋…ธ๋“œ๋Š” ๊ณ„์ธต ๊ตฌ์กฐ์˜ ๋ฃจํŠธ ๋…ธ๋“œ์ด๊ณ  ํ”„๋กœ์ ํŠธ๋Š” ์กฐ์ง์˜ ํ•˜์œ„ ์š”์†Œ์ด๋ฉฐ ๊ธฐํƒ€ ๋ฆฌ์†Œ์Šค๋Š” ํ”„๋กœ์ ํŠธ์˜ ํ•˜์œ„ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค ๊ณ„์ธต๊ตฌ์กฐ์˜ ์—ฌ๋Ÿฌ ์ˆ˜์ค€์—์„œ ํ—ˆ์šฉ ์ •์ฑ…์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค๋Š” ์ƒ์œ„ ๋ฆฌ์†Œ์Šค์˜ ํ—ˆ์šฉ ์ •์ฑ…์„ ์ƒ์†ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค์˜ ์œ ํšจ ํ—ˆ์šฉ ์ •์ฑ…์€ ํ•ด๋‹น ๋ฆฌ์†Œ์Šค์— ์„ค์ •๋œ ํ—ˆ์šฉ ์ •์ฑ…๊ณผ ์ƒ์œ„ ๋ฆฌ์†Œ์Šค์—์„œ ์ƒ์†๋œ ํ—ˆ์šฉ ์ •์ฑ…์˜ ํ•ฉ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€์—์„œ๋Š” ํ—ˆ์šฉ ์ •์ฑ… ์ƒ์†์˜ ์ž‘๋™ ๋ฐฉ์‹์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ์‹œ๋ฅผ ์„ค๋ช…ํ•˜๋ฉฐ Identity and Access Management(IAM) ๋ฐฐํฌ ์ค‘์— ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“ค ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š” ๊ถŒ์žฅ์‚ฌํ•ญ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์š”๊ฑด

๋ฐฐ๊ฒฝ

๋‹ค์Œ ๋‹ค์ด์–ด๊ทธ๋žจ์€ Google Cloud ๋ฆฌ์†Œ์Šค ๊ณ„์ธต ๊ตฌ์กฐ์˜ ์˜ˆ์‹œ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๊ณ„์ธต ๊ตฌ์กฐ์—๋Š” ์œ„์—์„œ ์•„๋ž˜ ๋ฐฉํ–ฅ์œผ๋กœ ์กฐ์ง, ํด๋”, ํ”„๋กœ์ ํŠธ, ํŠน์ • ์„œ๋น„์Šค ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

IAM์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฆฌ์†Œ์Šค ๊ณ„์ธต ๊ตฌ์กฐ์˜ ๋‹ค์Œ ์ˆ˜์ค€์—์„œ ํ—ˆ์šฉ ์ •์ฑ…์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์กฐ์ง ์ˆ˜์ค€: ์กฐ์ง ๋ฆฌ์†Œ์Šค๋Š” ํšŒ์‚ฌ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด ์ˆ˜์ค€์—์„œ ๋ถ€์—ฌ๋œ IAM ์—ญํ• ์€ ์กฐ์ง์˜ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค์— ์ƒ์†๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ IAM์„ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ์ง ์•ก์„ธ์Šค ์ œ์–ด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ํด๋” ์ˆ˜์ค€: ํด๋”์—๋Š” ํ”„๋กœ์ ํŠธ, ๋‹ค๋ฅธ ํด๋” ๋˜๋Š” ์ด ๋‘ ๊ฐ€์ง€์˜ ์กฐํ•ฉ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์ƒ์œ„ ํด๋” ์ˆ˜์ค€์—์„œ ๋ถ€์—ฌ๋œ ์—ญํ• ์€ ์ƒ์œ„ ํด๋”์— ํฌํ•จ๋œ ํ”„๋กœ์ ํŠธ ๋˜๋Š” ๋‹ค๋ฅธ ํด๋”์— ์ƒ์†๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ IAM์„ ์‚ฌ์šฉํ•˜์—ฌ ํด๋”์˜ ์•ก์„ธ์Šค ์ œ์–ด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ํ”„๋กœ์ ํŠธ ์ˆ˜์ค€: ํ”„๋กœ์ ํŠธ๋Š” ํšŒ์‚ฌ ๋‚ด์—์„œ ์‹ ๋ขฐ ๊ฒฝ๊ณ„๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ฐ™์€ ํ”„๋กœ์ ํŠธ์— ์žˆ๋Š” ์„œ๋น„์Šค๋Š” ๊ธฐ๋ณธ ์‹ ๋ขฐ ์ˆ˜์ค€์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ˆ˜์ค€์—์„œ ๋ถ€์—ฌ๋œ IAM ์—ญํ• ์€ ํ”„๋กœ์ ํŠธ ๋‚ด ๋ฆฌ์†Œ์Šค์— ์ƒ์†๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ IAM์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ์•ก์„ธ์Šค ์ œ์–ด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ๋ฆฌ์†Œ์Šค ์ˆ˜์ค€: ๊ธฐ์กด์˜ Cloud Storage ๋ฐ BigQuery ACL ์‹œ์Šคํ…œ ์™ธ์—๋„ Pub/Sub ์ฃผ์ œ ๋ฐ Compute Engine ์ธ์Šคํ„ด์Šค์™€ ๊ฐ™์€ ์ถ”๊ฐ€ ๋ฆฌ์†Œ์Šค๋Š” ํ•˜์œ„ ์ˆ˜์ค€์˜ ์—ญํ• ์„ ์ง€์›ํ•˜๋ฏ€๋กœ ํ”„๋กœ์ ํŠธ์— ์†ํ•œ ๋‹จ์ผ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ํŠน์ • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ—ˆ์šฉ ์ •์ฑ…์€ ๊ณ„์ธต ๊ตฌ์กฐ์ด๋ฉฐ ์œ„์—์„œ ์•„๋ž˜๋กœ ์ „ํŒŒ๋ฉ๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค์˜ ์œ ํšจ ํ—ˆ์šฉ ์ •์ฑ…์€ ํ•ด๋‹น ๋ฆฌ์†Œ์Šค์— ์„ค์ •๋œ ํ—ˆ์šฉ ์ •์ฑ…๊ณผ ์ƒ์œ„ ๋ฆฌ์†Œ์Šค์—์„œ ์ƒ์†๋œ ํ—ˆ์šฉ ์ •์ฑ…์˜ ํ•ฉ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ ์˜ˆ์—์„œ๋Š” ํ—ˆ์šฉ ์ •์ฑ… ์ƒ์†์ด ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ: Pub/Sub

Pub/Sub์—์„œ ์ฃผ์ œ ๋ฐ ๊ตฌ๋…์€ ํ”„๋กœ์ ํŠธ์˜ ํ•˜์œ„์— ์žˆ๋Š” ๋ฆฌ์†Œ์Šค์ž…๋‹ˆ๋‹ค. project_1์— topic_a๋ผ๋Š” ์ฃผ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Kalani์— ํŽธ์ง‘์ž ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋Š” ํ—ˆ์šฉ ์ •์ฑ…์„ project_1์— ์„ค์ •ํ•˜๊ณ  Nur์— ๊ฒŒ์‹œ์ž ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋Š” ํ—ˆ์šฉ ์ •์ฑ…์„ topic_a์— ์„ค์ •ํ•˜๋ฉด Kalani์—๊ฒŒ ํŽธ์ง‘์ž ์—ญํ• ์„, Nur์—๊ฒŒ topic_a์— ๋Œ€ํ•œ ๊ฒŒ์‹œ์ž ์—ญํ• ์„ ํšจ๊ณผ์ ์œผ๋กœ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์œ„์˜ ์˜ˆ์‹œ๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Pub/Sub ์˜ˆ์‹œ

์ƒ์†๋œ ์—ญํ• ์— ์ด๋ฏธ ์ฃผ ๊ตฌ์„ฑ์›์—๊ฒŒ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋ฆฌ์†Œ์Šค ์ž์ฒด์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์—ญํ• ์„ ๋ถ€์—ฌํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋™์ผํ•˜๊ฑฐ๋‚˜ ๋” ์ ์€ ๊ถŒํ•œ์ด ํฌํ•จ๋œ ๋‹ค๋ฅธ ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์€ ์ค‘๋ณต๋˜๋ฉฐ ์•„๋ฌด๋Ÿฐ ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์†Œ์œ ์ž, ํŽธ์ง‘์ž, ๋ทฐ์–ด๋ผ๋Š” ๊ธฐ๋ณธ ์—ญํ• ์„ ์ƒ๊ฐํ•ด ๋ณด์„ธ์š”. ์ด ์„ธ ๊ฐ€์ง€ ์—ญํ• ์˜ ๊ถŒํ•œ์€ ๋™์‹ฌ์› ํ˜•ํƒœ๋กœ ๊ฒน์นฉ๋‹ˆ๋‹ค. ์ฆ‰, ์†Œ์œ ์ž ์—ญํ• ์—๋Š” ํŽธ์ง‘์ž ์—ญํ• ์˜ ๊ถŒํ•œ์ด ํฌํ•จ๋˜๋ฉฐ, ํŽธ์ง‘์ž ์—ญํ• ์—๋Š” ๋ทฐ์–ด ์—ญํ• ์˜ ๊ถŒํ•œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Kalani์—๊ฒŒ ํ”„๋กœ์ ํŠธ ์ˆ˜์ค€์—์„œ ํŽธ์ง‘์ž ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒฝ์šฐ topic_a์— ๋Œ€ํ•œ ๋ทฐ์–ด ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์€ ์ค‘๋ณต์ž…๋‹ˆ๋‹ค. ์ด๋Š” Kalani๊ฐ€ ์ด๋ฏธ ํ”„๋กœ์ ํŠธ์˜ ํ—ˆ์šฉ ์ •์ฑ…์—์„œ ์ƒ์†๋œ ํŽธ์ง‘์ž ์—ญํ• ์„ ํ†ตํ•ด ๋ทฐ์–ด ์—ญํ• ์˜ ๋ชจ๋“  ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์œ„์˜ ์˜ˆ์‹œ๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Pub/Sub ์˜ˆ์‹œ

์˜ˆ: Cloud Storage

Cloud Storage์—์„œ ๋ฒ„ํ‚ท ๋ฐ ๊ฐ์ฒด๋Š” ๋ฆฌ์†Œ์Šค์ด๊ณ  ๊ฐ์ฒด๋Š” ๋ฒ„ํ‚ท์— ์žˆ์Šต๋‹ˆ๋‹ค. Cloud Storage์—์„œ IAM์„ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ๋Š” ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ฝ๊ธฐ ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ํŒŒ์ผ์„ ๋ฒ„ํ‚ท์— ์—…๋กœ๋“œํ•˜๋ฉฐ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ์—…๋กœ๋“œํ•œ ํŒŒ์ผ์„ ์ฝ๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜๋Š” ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ „๋ฌธ๊ฐ€๋Š” ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์„ ์ฝ๊ณ  ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฒ„ํ‚ท ์œ„์น˜๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋ฏ€๋กœ ๋ฒ„ํ‚ท์„ ์‚ญ์ œํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ํ”„๋กœ์ ํŠธ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ—ˆ์šฉ ์ •์ฑ…์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ „๋ฌธ๊ฐ€์ธ Nur์—๊ฒŒ ์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด ๊ด€๋ฆฌ์ž ์—ญํ• (roles/storage.objectAdmin)์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ์ด ์—ญํ• ์ด ์žˆ์œผ๋ฉด Nur๋Š” ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ๋ฒ„ํ‚ท์— ์žˆ๋Š” ์–ด๋– ํ•œ ๊ฐ์ฒด๋“ ์ง€ ์ฝ๊ณ  ์ถ”๊ฐ€ํ•˜๊ณ  ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • data-uploaders ๊ทธ๋ฃน์— ์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด ์ƒ์„ฑ์ž ์—ญํ• (roles/storage.objectCreator)์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ์ด ์—ญํ• ์€ ๊ทธ๋ฃน ๊ตฌ์„ฑ์›์ด ๋ฒ„ํ‚ท์— ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ์—…๋กœ๋“œํ•œ ํŒŒ์ผ์„ ์ฝ๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์œ„์˜ ์˜ˆ์‹œ๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Cloud Storage ์˜ˆ์‹œ

์˜ˆ: Compute Engine

์ผ๋ฐ˜์ ์œผ๋กœ ๋Œ€๊ธฐ์—…์—์„œ๋Š” ๊ฐœ๋ฐœํŒ€์ด ์•„๋‹Œ ์ „๋‹ดํŒ€์ด ๋ฐฉํ™”๋ฒฝ๊ณผ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ๋ฐ ๋ณด์•ˆ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœํŒ€์€ ์ธ์Šคํ„ด์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ์˜ ์ธ์Šคํ„ด์Šค์™€ ๊ด€๋ จ๋œ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐ์„ฑ์„ ํ•„์š”๋กœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ—ˆ์šฉ ์ •์ฑ…์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์กฐ์ง ์ˆ˜์ค€์—์„œ ๋„คํŠธ์›Œํฌ ๋ฐ ๋ณด์•ˆ ๊ด€๋ฆฌ์ž์ธ Kalani์—๊ฒŒ Compute ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž ์—ญํ• (roles/compute.networkAdmin)์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ์ด ์—ญํ• ์„ ๊ฐ€์ง„ Kalani๋Š” ์กฐ์ง์˜ ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค์™€ ํ•ด๋‹น ์กฐ์ง์˜ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐœ๋ฐœํŒ€ ๋ฆฌ๋“œ์ธ Nur์—๊ฒŒ project_2 ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ Compute ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ์ž ์—ญํ• (roles/compute.instanceAdmin)์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ์ด ์—ญํ• ๋กœ Nur๋Š” ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ”„๋กœ์ ํŠธ์— ์—ฐ๊ฒฐ๋œ ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์˜ ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค๋Š” ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Compute Engine ์˜ˆ์‹œ

์ƒ์†๋œ ์ •์ฑ… ๋ณด๊ธฐ ๊ถŒํ•œ

์ƒ์œ„ ๋ฆฌ์†Œ์Šค์—์„œ ์ƒ์†๋œ IAM ์ •์ฑ…์„ ๋ณด๋ ค๋ฉด ์ƒ์œ„ ๋ฆฌ์†Œ์Šค์˜ IAM ์ •์ฑ…์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ”„๋กœ์ ํŠธ์— ์ƒ์†๋œ ๋ชจ๋“  IAM ์ •์ฑ…์„ ๋ณด๋ ค๋ฉด ํ”„๋กœ์ ํŠธ ์ƒ์œ„ ์กฐ์ง์˜ IAM ์ •์ฑ…์„ ๋ณด๊ณ  ์ƒ์œ„ ํด๋”์˜ IAM ์ •์ฑ…์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ƒ์œ„ ๋ฆฌ์†Œ์Šค์—์„œ ์ƒ์†๋œ IAM ์ •์ฑ…์„ ๋ณด๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ถŒํ•œ์„ ์–ป์œผ๋ ค๋ฉด ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋‹ค์Œ IAM ์—ญํ• ์„ ๋ถ€์—ฌํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜์„ธ์š”.

์—ญํ•  ๋ถ€์—ฌ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ”„๋กœ์ ํŠธ, ํด๋”, ์กฐ์ง์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ด๋Ÿฌํ•œ ์‚ฌ์ „ ์ •์˜๋œ ์—ญํ• ์—๋Š” ์ƒ์œ„ ๋ฆฌ์†Œ์Šค์—์„œ ์ƒ์†๋œ IAM ์ •์ฑ…์„ ๋ณด๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ถŒํ•œ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ์ •ํ™•ํ•œ ๊ถŒํ•œ์„ ๋ณด๋ ค๋ฉด ํ•„์ˆ˜ ๊ถŒํ•œ ์„น์…˜์„ ํŽผ์น˜์„ธ์š”.

ํ•„์ˆ˜ ๊ถŒํ•œ

์ƒ์œ„ ๋ฆฌ์†Œ์Šค์—์„œ ์ƒ์†๋œ IAM ์ •์ฑ…์„ ๋ณด๋ ค๋ฉด ๋‹ค์Œ ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • ์กฐ์ง์—์„œ ์ƒ์†๋œ IAM ์ •์ฑ… ํ™•์ธ: ์กฐ์ง์˜ resourcemanager.organizations.getIamPolicy
  • ํด๋”์—์„œ ์ƒ์†๋œ IAM ์ •์ฑ… ํ™•์ธ: ํด๋”์˜ resourcemanager.folders.getIamPolicy
  • ํ”„๋กœ์ ํŠธ์—์„œ ์ƒ์†๋œ IAM ์ •์ฑ… ํ™•์ธ: ํ”„๋กœ์ ํŠธ์˜ resourcemanager.projects.getIamPolicy

์ปค์Šคํ…€ ์—ญํ• ์ด๋‚˜ ๋‹ค๋ฅธ ์‚ฌ์ „ ์ •์˜๋œ ์—ญํ• ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๊ถŒํ•œ์„ ๋ถ€์—ฌ๋ฐ›์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ถŒ์žฅ์‚ฌํ•ญ

  • Google Cloud ๋ฆฌ์†Œ์Šค ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์กฐ์ง ๊ตฌ์กฐ์— ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. Google Cloud ๋ฆฌ์†Œ์Šค ๊ณ„์ธต ๊ตฌ์กฐ๋Š” ์Šคํƒ€ํŠธ์—…, SME, ๋Œ€๊ธฐ์—… ๋“ฑ ํšŒ์‚ฌ ๊ตฌ์„ฑ ๋ฐฉ์‹์„ ๋ฐ˜์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์Šคํƒ€ํŠธ์—…์€ ์กฐ์ง ๋ฆฌ์†Œ์Šค๊ฐ€ ์—†๋Š” ์ˆ˜ํ‰์ ์ธ ๋ฆฌ์†Œ์Šค ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ ์ฐจ ํ”„๋กœ์ ํŠธ์—์„œ ๊ณต๋™ ์ž‘์—…ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค๊ณผ ํ”„๋กœ์ ํŠธ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋˜๋ฉด ์กฐ์ง ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ–์ถ”๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋ถ€์„œ์™€ ํŒ€์ด ์žˆ๊ณ  ๊ฐ ํŒ€์ด ์ž์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ์„œ๋น„์Šค ๋ชจ์Œ์„ ๋‹ด๋‹นํ•˜๋Š” ๋Œ€๊ธฐ์—…์˜ ๊ฒฝ์šฐ ์กฐ์ง ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ–์ถ”๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

  • ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ผํ•œ ์‹ ๋ขฐ ๊ฒฝ๊ณ„๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๊ทธ๋ฃนํ™”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ™์€ ์ œํ’ˆ ๋˜๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ๋ฆฌ์†Œ์Šค๋Š” ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์— ์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ€๋Šฅํ•˜๋ฉด ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹Œ ๊ทธ๋ฃน์— ์—ญํ• ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ํ—ˆ์šฉ ์ •์ฑ…์„ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ๋ณด๋‹ค ๊ทธ๋ฃน์˜ ๊ตฌ์„ฑ์›์„ ๊ด€๋ฆฌํ•˜๊ธฐ๊ฐ€ ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค. ํ—ˆ์šฉ ์ •์ฑ…์— ์‚ฌ์šฉ๋˜๋Š” ๊ทธ๋ฃน์˜ ์†Œ์œ ๊ถŒ์„ ์ œ์–ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    Google ๊ทธ๋ฃน์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Google ๊ทธ๋ฃน์Šค ๋„์›€๋ง์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  • ์ตœ์†Œ ๊ถŒํ•œ์˜ ๋ณด์•ˆ ์›์น™์„ ์‚ฌ์šฉํ•˜์—ฌ IAM ์—ญํ• ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฆฌ์†Œ์Šค์— ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ ์•ก์„ธ์Šค ๊ถŒํ•œ๋งŒ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์‚ฌ์ „ ์ •์˜๋œ ์ ์ ˆํ•œ ์—ญํ• ์„ ์ฐพ์œผ๋ ค๋ฉด ์‚ฌ์ „ ์ •์˜๋œ ์—ญํ•  ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ์‚ฌ์ „ ์ •์˜๋œ ์ ์ ˆํ•œ ์—ญํ• ์ด ์—†๋Š” ๊ฒฝ์šฐ ์ž์ฒด ์ปค์Šคํ…€ ์—ญํ• ์„ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ•„์š”ํ•œ ์ตœ์†Œ ๋ฒ”์œ„์˜ ์—ญํ• ๋งŒ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Pub/Sub ์ฃผ์ œ์— ๋ฉ”์‹œ์ง€๋ฅผ ๊ฒŒ์‹œํ•˜๊ธฐ ์œ„ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ๋งŒ ํ•„์š”ํ•œ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ•ด๋‹น ์ฃผ์ œ์˜ ๊ฒŒ์‹œ์ž ์—ญํ• ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

  • ํ•˜์œ„ ๋ฆฌ์†Œ์Šค ํ—ˆ์šฉ ์ •์ฑ…์€ ์ƒ์œ„ ๋ฆฌ์†Œ์Šค ํ—ˆ์šฉ ์ •์ฑ…์„ ์ƒ์†๋ฐ›์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ”„๋กœ์ ํŠธ ํ—ˆ์šฉ ์ •์ฑ…์ด ์‚ฌ์šฉ์ž์—๊ฒŒ Compute Engine ๊ฐ€์ƒ ๋จธ์‹ (VM) ์ธ์Šคํ„ด์Šค๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋ฉด ์‚ฌ์šฉ์ž๋Š” ๊ฐ VM์— ์„ค์ •ํ•œ ํ—ˆ์šฉ ์ •์ฑ…์— ๊ด€๊ณ„์—†์ด ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์—์„œ ๋ชจ๋“  Compute Engine VM์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์—์„œ ์ฃผ ๊ตฌ์„ฑ์› ์ตœ์†Œ 2๋ช… ์ด์ƒ์— ์†Œ์œ ์ž ์—ญํ• (roles/owner)์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” ์ฃผ ๊ตฌ์„ฑ์›์ด ์ตœ์†Œ 2๋ช… ์ด์ƒ ํฌํ•จ๋œ ๊ทธ๋ฃน์— ์†Œ์œ ์ž ์—ญํ• ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

    ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฃผ ๊ตฌ์„ฑ์› ์ค‘ ํ•œ ๋ช…์ด ํ‡ด์‚ฌํ•˜๋”๋ผ๋„ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณ„์† ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ์— ๊ฑธ์ณ ์žˆ๋Š” ์‚ฌ์šฉ์ž ๋˜๋Š” ๊ทธ๋ฃน์— ์—ญํ• ์„ ๋ถ€์—ฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ํ”„๋กœ์ ํŠธ ์ˆ˜์ค€์ด ์•„๋‹Œ ํด๋” ์ˆ˜์ค€์—์„œ ์—ญํ• ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ผ๋ฒจ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์†Œ์Šค์— ์ฃผ์„์„ ๋‹ฌ๊ณ  ๊ทธ๋ฃนํ™”ํ•˜๊ณ  ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.

  • ํ—ˆ์šฉ ์ •์ฑ…์ด ๊ทœ์ •์„ ์ค€์ˆ˜ํ•˜๋Š”์ง€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ๋กœ๊ทธ์— setIamPolicy() ํ˜ธ์ถœ์ด ๋ชจ๋‘ ๊ธฐ๋ก๋˜๋ฏ€๋กœ ํ—ˆ์šฉ ์ •์ฑ…์ด ๋งŒ๋“ค์–ด์ง€๊ฑฐ๋‚˜ ์ˆ˜์ •๋œ ์‹œ์ ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ—ˆ์šฉ ์ •์ฑ…์— ์‚ฌ์šฉ๋œ ๊ทธ๋ฃน์˜ ์†Œ์œ ๊ถŒ๊ณผ ๋ฉค๋ฒ„์‹ญ์„ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

  • ์กฐ์ง์—์„œ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์„ ์ œํ•œํ•˜๋ ค๋ฉด ์กฐ์ง ์•ก์„ธ์Šค ์ •์ฑ…์„ ๋ณ€๊ฒฝํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์ž ์—ญํ• ์„ ๊ด€๋ฆฌ ์ค‘์ธ ๊ทธ๋ฃน์— ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.