ํ† ํฐ ๊ฐœ์š”

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

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

์‚ฌ์šฉ์ž ์ธ์ฆ

์ธ๊ฐ„ ์‚ฌ์šฉ์ž๊ฐ€ Google Cloud์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ๋•Œ๋Š”Google Cloud API์™€ ์ง์ ‘ ์ƒํ˜ธ์ž‘์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์‹  ์ž‘์—…์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜๋Š” Google Cloud CLI๋‚˜ curl์™€ ๊ฐ™์€ ์œ ํ‹ธ๋ฆฌํ‹ฐ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญ์„ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ฏ€๋กœ Google Cloud ์‚ฌ์šฉ์ž์—๊ฒŒ ์ง์ ‘ ID ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜์—ฌ API๋ฅผ ์‚ฌ์šฉํ•  ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์ด ID๋Š” ๊ฐ API ์š”์ฒญ์— ํฌํ•จ๋œ ํ† ํฐ ํ˜•ํƒœ๋กœ ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ†ตํ•ด API์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ธ์ฆ ํ† ํฐ์€ ๋‹ค์Œ ์ •๋ณด๋ฅผ ์ธ์ฝ”๋”ฉํ•ฉ๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž์˜ ID์ž…๋‹ˆ๋‹ค.

  • ํด๋ผ์ด์–ธํŠธ์˜ ID์ž…๋‹ˆ๋‹ค.

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ํ–‰๋™ํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์ฆํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๋ฅผ ์ธ์ฆํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ๋ฅผ ์Šน์ธํ•˜๋Š” ๋ฐ๋Š” ๋‹ค์Œ ๋‹น์‚ฌ์ž๊ฐ€ ๊ด€๋ จ๋ฉ๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž

  • ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ์ž‘๋™ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ์ž…๋‹ˆ๋‹ค.

  • Google API๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ธ์ฆํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์Šน์ธ ์„œ๋ฒ„

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” Google Cloud API์ž…๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๋Š” ์ง์ ‘ ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์Šน์ธ ์„œ๋ฒ„์™€ ํ˜‘๋ ฅํ•˜์—ฌ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ์‚ฌ์šฉ์ž๋ฅผ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค.

  2. ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค.

  3. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ํ–‰๋™ํ•˜๋„๋ก ์Šน์ธํ•ฉ๋‹ˆ๋‹ค.

  4. ํด๋ผ์ด์–ธํŠธ์— ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ†ตํ•ด ์ธ์ฆํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ ๊ด€๊ณ„ ๋‹ค์ด์–ด๊ทธ๋žจ

Google ๊ณ„์ •์— ๋กœ๊ทธ์ธํ•˜์—ฌ ์ธ์ฆํ•˜๋Š” ์‚ฌ์šฉ์ž๋Š” ์‚ฌ์šฉ์ž ์ฃผ ๊ตฌ์„ฑ์›์ž…๋‹ˆ๋‹ค. ์ฃผ ๊ตฌ์„ฑ์›์—๋Š” ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ์ฃผ ๊ตฌ์„ฑ์› ์‹๋ณ„์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

user:alex@example.com

์ง์› ID ์ œํœด ๋ฐ ์™ธ๋ถ€ ID ๊ณต๊ธ‰์—…์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆํ•˜๋Š” ์‚ฌ์šฉ์ž๋Š” ์ง์› ID ํ’€ ์ฃผ ๊ตฌ์„ฑ์›์ž…๋‹ˆ๋‹ค. ์ฃผ ๊ตฌ์„ฑ์›์—๋Š” ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ์ฃผ ๊ตฌ์„ฑ์› ์‹๋ณ„์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/raha@altostrat.com

์›Œํฌ๋กœ๋“œ ์ธ์ฆ

์ผ๋ถ€ ํด๋ผ์ด์–ธํŠธ๋Š” ์ž์ฒด์ ์œผ๋กœ Google API์™€ ์ƒํ˜ธ์ž‘์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์˜ˆ์•ฝ๋œ ์ž‘์—…์€ ์‚ฌ๋žŒ์ด ๊ฐœ์ž…ํ•˜์ง€ ์•Š๊ณ  BigQuery ๋˜๋Š” Cloud Storage์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์›Œํฌ๋กœ๋“œ ์ธ์ฆ ๋ฐ ์Šน์ธ์—๋Š” ๋‹ค์Œ ๋‹น์‚ฌ์ž๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  • ํด๋ผ์ด์–ธํŠธ์™€ ์‚ฌ์šฉ์ž ์—ญํ• ์„ ๋ชจ๋‘ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ž์ฒด์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ์›Œํฌ๋กœ๋“œ

  • Google API๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ธ์ฆํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์Šน์ธ ์„œ๋ฒ„

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” Google Cloud API์ž…๋‹ˆ๋‹ค.

Google Cloud API์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์Šน์ธ ์„œ๋ฒ„์™€ ํ˜‘๋ ฅํ•˜์—ฌ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค.

  2. ํด๋ผ์ด์–ธํŠธ๋ฅผ ์Šน์ธํ•ฉ๋‹ˆ๋‹ค.

  3. ํด๋ผ์ด์–ธํŠธ์— ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ†ตํ•ด ์ธ์ฆํ•˜๋Š” ์›Œํฌ๋กœ๋“œ์˜ ๊ด€๊ณ„ ๋‹ค์ด์–ด๊ทธ๋žจ

์ธ์ฆ๋œ ์›Œํฌ๋กœ๋“œ๋ฅผ ์ฃผ ๊ตฌ์„ฑ์›์ด๋ผ๊ณ ๋„ ํ•˜์ง€๋งŒ ์›Œํฌ๋กœ๋“œ๋Š” ์‚ฌ์šฉ์ž์™€ ๋‹ค๋ฅธ ์ฃผ ๊ตฌ์„ฑ์› ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆํ•˜๋Š” ์›Œํฌ๋กœ๋“œ๋Š” ์„œ๋น„์Šค ๊ณ„์ • ์ฃผ ๊ตฌ์„ฑ์›์ž…๋‹ˆ๋‹ค. ์ฃผ ๊ตฌ์„ฑ์›์—๋Š” ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ์ฃผ ๊ตฌ์„ฑ์› ์‹๋ณ„์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

serviceAccount:my-service-account@my-project.iam.gserviceaccount.com

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆํ•˜๋Š” ์›Œํฌ๋กœ๋“œ๋Š” ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ์ฃผ ๊ตฌ์„ฑ์›์ž…๋‹ˆ๋‹ค. ์ฃผ ๊ตฌ์„ฑ์›์—๋Š” ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ์ฃผ ๊ตฌ์„ฑ์› ์‹๋ณ„์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

principal://iam.googleapis.com/projects/PROJECT_NAME/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE

์Šน์ธ ์„œ๋ฒ„

Google Cloud ๋‹ค๋ฅธ Google ์„œ๋น„์Šค์™€ ํŠน์ • ์ธ์ฆ ๋ฐ ์Šน์ธ ๊ธฐ๋Šฅ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ๊ณต์œ  ๊ธฐ๋Šฅ์—๋Š” Google ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ, OpenID Connect, OAuth 2.0 ์„œ๋น„์Šค๊ฐ€ ํฌํ•จ๋˜๋ฉฐ, ์ด ์„œ๋น„์Šค๋Š” Google ID์—์„œ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ๋ฐ ์ง์› ID ์ œํœด์™€ ๊ฐ™์€ ๊ธฐํƒ€ ์ธ์ฆ ๊ด€๋ จ ์„œ๋น„์Šค๋Š” Google Cloud ์—๋งŒ ํ•ด๋‹นํ•˜๋ฉฐ ๋‹ค๋ฅธ Google ์„œ๋น„์Šค์—๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ถ„ํ• ๋กœ ์ธํ•ด Google Cloud ๋Š” ๋‘ ๊ฐœ์˜ ์Šน์ธ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” ๋‹ค๋ฅธ Google ์„œ๋น„์Šค์™€ ๊ณต์œ ๋˜๊ณ  ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” Google Cloud์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ํ‘œ์—์„œ๋Š” ๋‹ค์–‘ํ•œ ์„œ๋ฒ„์™€ ๊ทธ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์Šน์ธ ์„œ๋ฒ„ ์ธ์ฆ ์œ ํ˜• ์ธ์ฆ API ์ฃผ ๊ตฌ์„ฑ์›
Google ์Šน์ธ ์„œ๋ฒ„
  • ์‚ฌ์šฉ์ž ์ธ์ฆ
  • ์›Œํฌ๋กœ๋“œ ์ธ์ฆ
Google Cloud Identity and Access Management (IAM) ์Šน์ธ ์„œ๋ฒ„
  • ์‚ฌ์šฉ์ž ์ธ์ฆ
  • ์›Œํฌ๋กœ๋“œ ์ธ์ฆ

์Šน์ธ ์„œ๋ฒ„๋Š” ์ „์—ญ ์„œ๋น„์Šค์ด๋ฉฐ ๋ชจ๋“  Google Cloud ๋ฆฌ์ „์—์„œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ผ๋ถ€ ์ง€์—ญ์—๋Š” ๋‘ ์Šน์ธ ์„œ๋ฒ„์˜ ๋ฐฐํฌ๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • Google ์Šน์ธ ์„œ๋ฒ„๋Š” ์ผ๋ถ€ ์ง€์—ญ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Google Cloud IAM ์Šน์ธ ์„œ๋ฒ„๋Š” ๋ชจ๋“  ๋ฆฌ์ „์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ ๋ขฐ์„ฑ์„ ์ตœ์ ํ™”ํ•˜๋ ค๋ฉด ๊ฐ€๋Šฅํ•˜๋ฉด Google Cloud IAM ์Šน์ธ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

๋‹ค์Œ ๋‹จ๊ณ„

ํ† ํฐ ์œ ํ˜•์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค.