์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ๋ฐ ๊ณต๊ธ‰์—…์ฒด ๊ด€๋ฆฌ

์ด ํŽ˜์ด์ง€์—์„œ๋Š” ๊ธฐ์กด ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ๋ฐ ID ๊ณต๊ธ‰์—…์ฒด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Google Cloud ์ฝ˜์†”, Google Cloud CLI ๋˜๋Š” REST API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ’€๊ณผ ์ œ๊ณต์—…์ฒด๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ ํŽ˜์ด์ง€ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ•„์š”ํ•œ ์—ญํ• 

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

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

์ด๋Ÿฌํ•œ ์‚ฌ์ „ ์ •์˜๋œ ์—ญํ• ์—๋Š” ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๊ณผ ์ œ๊ณต์—…์ฒด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ถŒํ•œ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ์ •ํ™•ํ•œ ๊ถŒํ•œ์„ ๋ณด๋ ค๋ฉด ํ•„์ˆ˜ ๊ถŒํ•œ ์„น์…˜์„ ํŽผ์น˜์„ธ์š”.

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

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๊ณผ ์ œ๊ณต์—…์ฒด๋ฅผ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ๋ฐ ๊ณต๊ธ‰์—…์ฒด ๋ณด๊ธฐ:
    • iam.googleapis.com/workloadIdentityPoolProviders.get
    • iam.googleapis.com/workloadIdentityPoolProviders.list
    • iam.googleapis.com/workloadIdentityPools.get
    • iam.googleapis.com/workloadIdentityPools.list
  • ํ’€ ๋ฐ ๊ณต๊ธ‰์—…์ฒด ์ƒ์„ฑ, ์—…๋ฐ์ดํŠธ, ์‚ญ์ œ:
    • iam.googleapis.com/workloadIdentityPoolProviders.create
    • iam.googleapis.com/workloadIdentityPoolProviders.delete
    • iam.googleapis.com/workloadIdentityPoolProviders.undelete
    • iam.googleapis.com/workloadIdentityPoolProviders.update
    • iam.googleapis.com/workloadIdentityPools.create
    • iam.googleapis.com/workloadIdentityPools.delete
    • iam.googleapis.com/workloadIdentityPools.undelete
    • iam.googleapis.com/workloadIdentityPools.update

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

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ๊ด€๋ฆฌ

์ด ์„น์…˜์—์„œ๋Š” ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

ํ’€ ๋งŒ๋“ค๊ธฐ

ํ”„๋กœ์ ํŠธ์— ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

Google Cloud ์ฝ˜์†”์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๋กœ ์ด๋™

gcloud

gcloud iam workload-identity-pools create ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

REST

projects.locations.workloadIdentityPools.create()๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

ํ’€ ๋‚˜์—ด

ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ๋‚˜์—ดํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

Google Cloud ์ฝ˜์†”์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๋กœ ์ด๋™

gcloud

gcloud iam workload-identity-pools list ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

REST

projects.locations.workloadIdentityPools.list()๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

ํ’€ ๊ฐ€์ ธ์˜ค๊ธฐ

ํŠน์ • ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์˜ ์„ธ๋ถ€์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๋กœ ์ด๋™

  2. ๋ณด๋ ค๋Š” ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ์ฐพ์€ ํ›„ ์ˆ˜์ • ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. Google Cloud ์ฝ˜์†”์— ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์— ๋Œ€ํ•œ ์„ธ๋ถ€์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

gcloud

gcloud iam workload-identity-pools describe ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

REST

projects.locations.workloadIdentityPools.get()๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

ํ’€ ์—…๋ฐ์ดํŠธ

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‘œ์‹œ ์ด๋ฆ„์ด๋‚˜ ์„ค๋ช…์„ ๋ณ€๊ฒฝํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๋กœ ์ด๋™

  2. ์ˆ˜์ •ํ•˜๋ ค๋Š” ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ์ฐพ์€ ํ›„ ์ˆ˜์ • ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ์‚ฌ์šฉ ์ค‘์ง€ํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด ์ƒํƒœ ์ „ํ™˜์„ ํด๋ฆญํ•œ ๋‹ค์Œ ์‚ฌ์šฉ ์ค‘์ง€ ๋˜๋Š” ์‚ฌ์šฉ ์„ค์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ํ‘œ์‹œ ์ด๋ฆ„์„ ์ˆ˜์ •ํ•˜๋ ค๋ฉด ํ‘œ์‹œ ์ด๋ฆ„ ์˜†์— ์žˆ๋Š” ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„์„ ์—…๋ฐ์ดํŠธํ•œ ํ›„ ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ์„ค๋ช…์„ ์ˆ˜์ •ํ•˜๋ ค๋ฉด gcloud CLI ๋˜๋Š” REST API๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

gcloud

gcloud iam workload-identity-pools update ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

REST

projects.locations.workloadIdentityPools.patch()๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

ํ’€ ์‚ญ์ œ

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ์‚ญ์ œํ•˜๋ฉด ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ์ œ๊ณต์—…์ฒด๋„ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ’€์˜ ID์—์„œGoogle Cloud ๋ฆฌ์†Œ์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

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

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ๋ฐ ID ๊ณต๊ธ‰์—…์ฒด๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๋กœ ์ด๋™

  2. ์‚ญ์ œํ•˜๋ ค๋Š” ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ์ฐพ์€ ํ›„ ์ˆ˜์ • ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ํ’€ ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•œ ํ›„ ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๊ณผ ID ๊ณต๊ธ‰์—…์ฒด๊ฐ€ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

gcloud

gcloud iam workload-identity-pools delete ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

REST

projects.locations.workloadIdentityPools.delete()๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

ํ’€ ์‚ญ์ œ ์ทจ์†Œ

์‚ญ์ œ๋œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์€ ์‚ญ์ œ ํ›„ ์ตœ๋Œ€ 30์ผ ์ด๋‚ด์— ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ’€์„ ์‚ญ์ œ ์ทจ์†Œํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๋กœ ์ด๋™

  2. ์‚ญ์ œ๋œ ํ’€ ๋ฐ ๊ณต๊ธ‰์—…์ฒด ํ‘œ์‹œ ์ „ํ™˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์‚ญ์ œ ์ทจ์†Œํ•  ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ์ฐพ์€ ํ›„ ๋ณต์› ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๋ณต์›์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ํ’€๊ณผ ํ•ด๋‹น ๊ณต๊ธ‰์—…์ฒด๊ฐ€ ๋ณต์›๋ฉ๋‹ˆ๋‹ค.

gcloud

gcloud iam workload-identity-pools undelete ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

REST

projects.locations.workloadIdentityPools.undelete()๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ์ œ๊ณต์—…์ฒด ๊ด€๋ฆฌ

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

๊ณต๊ธ‰์—…์ฒด ๋งŒ๋“ค๊ธฐ

๊ธฐ์กด ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ์ œ๊ณต์—…์ฒด๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๋กœ ์ด๋™

  2. ๊ณต๊ธ‰์—…์ฒด๋ฅผ ์ถ”๊ฐ€ํ•  ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ์ฐพ์€ ํ›„ ์ˆ˜์ • ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ๊ณต๊ธ‰์—…์ฒด ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๋งŒ๋“ค๋ ค๋Š” ๊ณต๊ธ‰์—…์ฒด ์œ ํ˜•์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    • AWS: Amazon Web Services(AWS) ID ๊ณต๊ธ‰์—…์ฒด์ž…๋‹ˆ๋‹ค.
    • OpenID Connect(OIDC): OIDC ํ˜ธํ™˜ ID ๊ณต๊ธ‰์—…์ฒด์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” Microsoft Azure๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  5. ๊ณต๊ธ‰์—…์ฒด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    Google Cloud ์ฝ˜์†”์—์„œ ์ด ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ธ‰์—…์ฒด ID๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๊ณต๊ธ‰์—…์ฒด ID๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์ค‘์— ์ด ๊ณต๊ธ‰์—…์ฒด ID๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  6. ๊ณต๊ธ‰์—…์ฒด์˜ ๋‚˜๋จธ์ง€ ํ•„๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

    • AWS: AWS ๊ณ„์ • ID๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    • OIDC: ๋ฐœ๊ธ‰๊ธฐ๊ด€ URL์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. Azure์˜ ๊ฒฝ์šฐ ๋ฐœ๊ธ‰๊ธฐ๊ด€ URL์€ https://sts.windows.net/AZURE_TENANT_ID ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ œ๊ณต์—…์ฒด์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ์ œ๊ณต์—…์ฒด ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

    ์™„๋ฃŒ๋˜๋ฉด ๊ณ„์†์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  7. ์†์„ฑ ๋งคํ•‘์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋งคํ•‘ ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์†์„ฑ ๋งคํ•‘์„ ์‚ฌ์šฉํ•˜๋ฉด ์™ธ๋ถ€ ID์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ID์˜ ํ•˜์œ„ ์ง‘ํ•ฉ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  8. ์„ ํƒ์‚ฌํ•ญ: ์ธ์ฆ ๊ฐ€๋Šฅํ•œ ID๋ฅผ ์ง€์ •ํ•˜๋Š” ์†์„ฑ ์กฐ๊ฑด์„ ์ œ๊ณตํ•˜๋ ค๋ฉด ์กฐ๊ฑด ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅธ Common Expression Language(CEL) ํ‘œํ˜„์‹์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์†์„ฑ ์กฐ๊ฑด์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  9. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ๊ณต๊ธ‰์—…์ฒด๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

gcloud

gcloud iam workload-identity-pools providers create-aws ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ AWS ๊ณต๊ธ‰์—…์ฒด๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

gcloud iam workload-identity-pools providers create-oidc ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ OIDC ๊ณต๊ธ‰์—…์ฒด๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” Microsoft Azure๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

REST

projects.locations.workloadIdentityPools.providers.create()๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ธ‰์—…์ฒด ๋‚˜์—ด

ํ”„๋กœ์ ํŠธ์˜ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ๊ณต๊ธ‰์—…์ฒด๋ฅผ ๋‚˜์—ดํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๋กœ ์ด๋™

  2. ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์˜ ๊ณต๊ธ‰์—…์ฒด๋ฅผ ๋ณด๋ ค๋ฉด ํ’€์˜ ๋…ธ๋“œ ํ™•์žฅ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

gcloud iam workload-identity-pools providers list ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

REST

projects.locations.workloadIdentityPools.providers.list()๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ธ‰์—…์ฒด ๊ฐ€์ ธ์˜ค๊ธฐ

ํŠน์ • ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ์ œ๊ณต์—…์ฒด์˜ ์„ธ๋ถ€์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๋กœ ์ด๋™

  2. ๊ณต๊ธ‰์—…์ฒด๊ฐ€ ํฌํ•จ๋œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ์ฐพ์€ ํ›„ ํ’€์˜ ๋…ธ๋“œ ํ™•์žฅ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ๋ณด๋ ค๋Š” ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ๊ณต๊ธ‰์—…์ฒด๋ฅผ ์ฐพ๊ณ  ์ˆ˜์ • ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. Google Cloud ์ฝ˜์†”์— ๊ณต๊ธ‰์—…์ฒด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

gcloud

gcloud iam workload-identity-pools providers describe ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

REST

projects.locations.workloadIdentityPools.providers.get()๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ธ‰์—…์ฒด ์—…๋ฐ์ดํŠธ

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ์ œ๊ณต์—…์ฒด๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ„์ • ์ •๋ณด, ์†์„ฑ ๋งคํ•‘, ํ‘œ์‹œ ์ด๋ฆ„ ๋ฐ ์„ค๋ช…์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ์ œ๊ณต์—…์ฒด๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๋กœ ์ด๋™

  2. ๊ณต๊ธ‰์—…์ฒด๊ฐ€ ํฌํ•จ๋œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ์ฐพ์€ ํ›„ ํ’€์˜ ๋…ธ๋“œ ํ™•์žฅ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์ˆ˜์ •ํ•˜๋ ค๋Š” ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ๊ณต๊ธ‰์—…์ฒด๋ฅผ ์ฐพ์€ ํ›„ ์ˆ˜์ • ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๊ณต๊ธ‰์—…์ฒด์˜ ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•œ ๋‹ค์Œ ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

gcloud iam workload-identity-pools providers update-aws ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ AWS ๊ณต๊ธ‰์—…์ฒด๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

gcloud iam workload-identity-pools providers update-oidc ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ OIDC ๊ณต๊ธ‰์—…์ฒด๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” Microsoft Azure๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

REST

projects.locations.workloadIdentityPools.providers.patch()๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ธ‰์—…์ฒด ์‚ญ์ œ

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ๊ณต๊ธ‰์—…์ฒด๋ฅผ ์‚ญ์ œํ•˜๋ฉด ๊ณต๊ธ‰์—…์ฒด์˜ ID์—์„œ Google Cloud ๋ฆฌ์†Œ์Šค์— ๋” ์ด์ƒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์‚ญ์ œ ํ›„ ์ตœ๋Œ€ 30์ผ ๋™์•ˆ ๊ณต๊ธ‰์—…์ฒด ์‚ญ์ œ๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 30์ผ ํ›„์—๋Š” ์˜๊ตฌ์ ์œผ๋กœ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ๊ณต๊ธ‰์—…์ฒด๊ฐ€ ์˜๊ตฌ์ ์œผ๋กœ ์‚ญ์ œ๋  ๋•Œ๊นŒ์ง€๋Š” ์ƒˆ ๊ณต๊ธ‰์—…์ฒด๋ฅผ ๋งŒ๋“ค ๋•Œ ํ•ด๋‹น ์ด๋ฆ„์„ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ๊ณต๊ธ‰์—…์ฒด๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๋กœ ์ด๋™

  2. ๊ณต๊ธ‰์—…์ฒด๊ฐ€ ํฌํ•จ๋œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ์ฐพ์€ ํ›„ ํ•ด๋‹น ์ˆ˜์ • ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ๊ณต๊ธ‰์—…์ฒด ์ฐฝ์—์„œ ์‚ญ์ œํ•  ๊ณต๊ธ‰์—…์ฒด๋ฅผ ์ฐพ์€ ๋‹ค์Œ ์‚ญ์ œ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•˜์—ฌ ๊ณต๊ธ‰์—…์ฒด๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

gcloud

gcloud iam workload-identity-pools providers delete ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

REST

projects.locations.workloadIdentityPools.providers.delete()๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ธ‰์—…์ฒด ์‚ญ์ œ ์ทจ์†Œ

์‚ญ์ œ๋œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ์ œ๊ณต์—…์ฒด๋ฅผ ์‚ญ์ œ ํ›„ ์ตœ๋Œ€ 30์ผ ์ด๋‚ด์— ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ธ‰์—…์ฒด ์‚ญ์ œ๋ฅผ ์ทจ์†Œํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๋กœ ์ด๋™

  2. ์‚ญ์ œ๋œ ํ’€ ๋ฐ ๊ณต๊ธ‰์—…์ฒด ํ‘œ์‹œ ์ „ํ™˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ๊ณต๊ธ‰์—…์ฒด๊ฐ€ ํฌํ•จ๋œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€์„ ์ฐพ์€ ํ›„ ํ’€์˜ ๋…ธ๋“œ ํ™•์žฅ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ์‚ญ์ œ ์ทจ์†Œํ•  ๊ณต๊ธ‰์—…์ฒด๋ฅผ ์ฐพ์€ ํ›„ ๋ณต์› ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ๋ณต์›์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ธ‰์—…์ฒด๊ฐ€ ๋ณต์›๋ฉ๋‹ˆ๋‹ค.

gcloud

gcloud iam workload-identity-pools providers undelete ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

REST

projects.locations.workloadIdentityPools.providers.undelete()๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์ œ์•ฝ ์กฐ๊ฑด ๊ด€๋ฆฌ

์กฐ์ง ์ •์ฑ… ์ œ์•ฝ์กฐ๊ฑด์„ ์‚ฌ์šฉํ•˜์—ฌ Google Cloud ์กฐ์ง์˜ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์„น์…˜์—์„œ๋Š” ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ถŒ์žฅ๋˜๋Š” ์ œ์•ฝ ์กฐ๊ฑด์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

ID ๊ณต๊ธ‰์—…์ฒด ๊ตฌ์„ฑ ์ œํ•œ

์กฐ์ง ๊ด€๋ฆฌ์ž๋Š” ์กฐ์ง์—์„œ ์ œํœดํ•  ์ˆ˜ ์žˆ๋Š” ID ๊ณต๊ธ‰์—…์ฒด๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ—ˆ์šฉ๋˜๋Š” ID ๊ณต๊ธ‰์—…์ฒด๋ฅผ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด ์กฐ์ง์˜ ์กฐ์ง ์ •์ฑ…์—์„œ constraints/iam.workloadIdentityPoolProviders ๋ชฉ๋ก ์ œ์•ฝ์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜์„ธ์š”. ์ด ์ œ์•ฝ์€ ํ—ˆ์šฉ๋œ ์ œ๊ณต์—…์ฒด์˜ ๋ฐœ๊ธ‰๊ธฐ๊ด€ URI๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. Google Cloud ์ฝ˜์†” ๋˜๋Š” Google Cloud CLI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์ œ์•ฝ์กฐ๊ฑด์„ ์‚ฌ์šฉ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AWS์—์„œ์˜ ์ œํœด๋งŒ ํ—ˆ์šฉํ•˜๋ ค๋ฉด URI https://sts.amazonaws.com์œผ๋กœ ๋‹จ์ผ ์ œ์•ฝ์กฐ๊ฑด์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” gcloud CLI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์ œ์•ฝ์กฐ๊ฑด์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \
     https://sts.amazonaws.com --organization=ORGANIZATION_NUMBER

Google Cloud ๋ฆฌ์†Œ์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” AWS ๊ณ„์ • ID๋ฅผ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ„์ • ID๋ฅผ ์ง€์ •ํ•˜๋ ค๋ฉด constraints/iam.workloadIdentityPoolAwsAccounts ๋ชฉ๋ก ์ œ์•ฝ์กฐ๊ฑด์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolAwsAccounts \
    ACCOUNT_ID --organization=ORGANIZATION_NUMBER

ํ•˜๋‚˜์˜ OIDC ๊ณต๊ธ‰์—…์ฒด์˜ ์ œํœด๋งŒ ํ—ˆ์šฉํ•˜๋ ค๋ฉด ํ—ˆ์šฉ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด์˜ issuer_uri๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ์ผ ์ œ์•ฝ์กฐ๊ฑด์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ์€ ํŠน์ • Azure ํ…Œ๋„ŒํŠธ์˜ ์ œํœด๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \
     https://sts.windows.net/AZURE_TENANT_ID --organization=ORGANIZATION_NUMBER

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

SAML ID ๊ณต๊ธ‰์—…์ฒด์—์„œ ์ œํœด๋ฅผ ํ—ˆ์šฉํ•˜๋ ค๋ฉด ํŠน์ˆ˜ ํ‚ค์›Œ๋“œ KEY_UPLOAD๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ์ œ์•ฝ์กฐ๊ฑด์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \
     KEY_UPLOAD --organization=ORGANIZATION_NUMBER

์ด ๋ช…๋ น์–ด๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ๋‹ค๋ฅธ ๊ณต๊ธ‰์—…์ฒด์˜ ์ œํœด๋ฅผ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ณต๊ธ‰์—…์ฒด์—์„œ ์ œํœด๋ฅผ ์ฐจ๋‹จํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. ๋‹ค์Œ์„ ํฌํ•จํ•˜๋Š” YAML ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    constraint: constraints/iam.workloadIdentityPoolProviders
    listPolicy:
      allValues: DENY
  2. ํŒŒ์ผ์„ gcloud resource-manager org-policies set-policy ๋ช…๋ น์–ด์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

    gcloud resource-manager org-policies set-policy FILE_NAME.yaml \
        --organization=ORGANIZATION_NUMBER

์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ์ƒ์„ฑ ์ œํ•œ

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

์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ์ƒ์„ฑ์„ ์ค‘์ง€ํ•˜๋ ค๋ฉด ์กฐ์ง์˜ ์กฐ์ง ์ •์ฑ…์— iam.disableServiceAccountKeyCreation ๋ถˆ๋ฆฌ์–ธ ์ œ์•ฝ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ iam.disableServiceAccountKeyUpload ๋ถ€์šธ ์ œ์•ฝ์„ ์ ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ณ„์ •์— ๋Œ€ํ•œ ๊ณต๊ฐœ ํ‚ค ์—…๋กœ๋“œ๋ฅผ ์‚ฌ์šฉ ์ค‘์ง€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Google Cloud ์ฝ˜์†” ๋˜๋Š” gcloud CLI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์ œ์•ฝ์กฐ๊ฑด์„ ์‚ฌ์šฉ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ gcloud CLI ๋ช…๋ น์–ด๋Š” ๋‘ ์ œ์•ฝ์กฐ๊ฑด์„ ๋ชจ๋‘ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

gcloud resource-manager org-policies enable-enforce \
    constraints/iam.disableServiceAccountKeyCreation \
    --organization=ORGANIZATION_NUMBER
gcloud resource-manager org-policies enable-enforce \
    constraints/iam.disableServiceAccountKeyUpload \
    --organization=ORGANIZATION_NUMBER

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ๋ชจ๋‹ˆํ„ฐ๋ง

Cloud Monitoring ์ธก์ •ํ•ญ๋ชฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ํ’€๊ณผ ์ œ๊ณต์—…์ฒด์˜ ์ธ์ฆ ์ด๋ฒคํŠธ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ธก์ •ํ•ญ๋ชฉ ๋ชฉ๋ก์€ IAM ์ธก์ •ํ•ญ๋ชฉ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

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

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ