์ด ๋ฌธ์์ ํ ํฐ ์ ํ ๋ฌธ์์์๋ ์ธ์ฆ ๋ฐ ์น์ธ์ ์ํด 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์ ๋๋ค.
ํด๋ผ์ด์ธํธ๋ ์ง์ ํ ํฐ์ ๋ฐ๊ธํ ์ ์์ต๋๋ค. ๋์ ์น์ธ ์๋ฒ์ ํ๋ ฅํ์ฌ ๋ค์์ ์ํํด์ผ ํฉ๋๋ค.
์ฌ์ฉ์๋ฅผ ์ธ์ฆํฉ๋๋ค.
ํด๋ผ์ด์ธํธ๋ฅผ ์ธ์ฆํฉ๋๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์ฌ์ฉ์๋ฅผ ๋์ ํ์ฌ ํ๋ํ๋๋ก ์น์ธํฉ๋๋ค.
ํด๋ผ์ด์ธํธ์ ํ ํฐ์ ๋ฐ๊ธํฉ๋๋ค.
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์ ์ก์ธ์คํ๋ ค๋ฉด ํด๋ผ์ด์ธํธ๊ฐ ์น์ธ ์๋ฒ์ ํ๋ ฅํ์ฌ ๋ค์์ ์ํํด์ผ ํฉ๋๋ค.
ํด๋ผ์ด์ธํธ๋ฅผ ์ธ์ฆํฉ๋๋ค.
ํด๋ผ์ด์ธํธ๋ฅผ ์น์ธํฉ๋๋ค.
ํด๋ผ์ด์ธํธ์ ํ ํฐ์ ๋ฐ๊ธํฉ๋๋ค.
์ธ์ฆ๋ ์ํฌ๋ก๋๋ฅผ ์ฃผ ๊ตฌ์ฑ์์ด๋ผ๊ณ ๋ ํ์ง๋ง ์ํฌ๋ก๋๋ ์ฌ์ฉ์์ ๋ค๋ฅธ ์ฃผ ๊ตฌ์ฑ์ ์๋ณ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์๋น์ค ๊ณ์ ์ ์ฌ์ฉํ์ฌ ์ธ์ฆํ๋ ์ํฌ๋ก๋๋ ์๋น์ค ๊ณ์ ์ฃผ ๊ตฌ์ฑ์์ ๋๋ค. ์ฃผ ๊ตฌ์ฑ์์๋ ๋ค์๊ณผ ์ ์ฌํ ์ฃผ ๊ตฌ์ฑ์ ์๋ณ์๊ฐ ์์ต๋๋ค.
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 ์น์ธ ์๋ฒ๋ฅผ ์ฌ์ฉํ์ธ์.
๋ค์ ๋จ๊ณ
ํ ํฐ ์ ํ์ ๋ํด ์์๋ด ๋๋ค.