์ฌ์ฉ ์ค์ธ ์ฃผ ๊ตฌ์ฑ์์๊ฒ ํ์คํฌ๋ฅผ ์ํํ๋ ๋ฐ ํ์ํ ๊ถํ์ด ์๊ฑฐ๋ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์๋น์ค ๊ณ์ ์ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ ์๋น์ค ๊ณ์ ๊ฐ์ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์๋น์ค ๊ณ์ ๊ฐ์ฅ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ธ์ฆ๋ ์ฃผ ๊ตฌ์ฑ์(์ฌ์ฉ์ ๊ณ์ ๋๋ ์๋น์ค ๊ณ์ )์ผ๋ก ์์ํ๊ณ ์ฌ์ฉ ์ฌ๋ก์ ํ์ํ ์น์ธ์ด ์๋ ์๋น์ค ๊ณ์ ์ ๋ํด ๋จ๊ธฐ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์์ฒญํฉ๋๋ค. ์ธ์ฆ๋ ์ฃผ ๊ตฌ์ฑ์์๊ฒ ์๋น์ค ๊ณ์ ์ ๊ฐ์ฅํ๋ ๋ฐ ํ์ํ ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค.
์๋น์ค ๊ณ์ ๊ฐ์ฅ์๋ ์ฌ์ ์ธ์ฆ๋ ID๊ฐ ํ์ํ๊ณ ๊ฐ์ฅ์ ์ฌ์ฉํ์ฌ ์์ฑ๋ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๊ฐ ์ ์ง๋์ง ์๊ธฐ ๋๋ฌธ์ ์๋น์ค ๊ณ์ ๊ฐ์ฅ์ ์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ์์ ํฉ๋๋ค. ๋ฐ๋ฉด ์๋น์ค ๊ณ์ ํค๋ก ์ธ์ฆํ๋ ค๋ฉด ์ฌ์ ์ธ์ฆ์ด ํ์ํ์ง ์์ผ๋ฉฐ ์๊ตฌ ํค๋ ๋ ธ์ถ๋ ๊ฒฝ์ฐ ๊ณ ์ํ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด์ ๋๋ค.
์๋น์ค ๊ณ์ ๊ฐ์ฅ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋น์ค ๊ณ์ ๊ฐ์ฅ์ ์ฐธ์กฐํ์ธ์.
์์ํ๊ธฐ ์ ์
์๋น์ค ๊ณ์ ๊ฐ์ฅ์ ์ฌ์ฉํ๊ธฐ ์ ์ ํ์ํ API๋ฅผ ์ฌ์ฉ ์ค์ ํ๊ณ ํ์ํ ์ญํ ์ด ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
API ์ฌ์ฉ ์ค์
์๋น์ค ๊ณ์ ์ ๊ฐ์ฅํ๋ ค๋ฉด ํ๋ก์ ํธ์์ Service Account Credentials API๋ฅผ ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค.
ํ์ํ ์ญํ
์๋น์ค ๊ณ์ ์ ๊ฐ์ฅํ๋ ๋ฐ ํ์ํ ๊ถํ์ ์ป์ผ๋ ค๋ฉด ๊ด๋ฆฌ์์๊ฒ ์๋น์ค ๊ณ์ ์ ๋ํ ์๋น์ค ๊ณ์ ํ ํฐ ์์ฑ์(roles/iam.serviceAccountTokenCreator
) IAM ์ญํ ์ ๋ถ์ฌํด ๋ฌ๋ผ๊ณ ์์ฒญํ์ธ์.
์ญํ ๋ถ์ฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋ก์ ํธ, ํด๋, ์กฐ์ง์ ๋ํ ์ก์ธ์ค ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ด ์ฌ์ ์ ์๋ ์ญํ ์๋ ์๋น์ค ๊ณ์ ์ ๊ฐ์ฅํ๋ ๋ฐ ํ์ํ iam.serviceAccounts.getAccessToken
๊ถํ์ด ํฌํจ๋์ด ์์ต๋๋ค.
์ปค์คํ ์ญํ ์ด๋ ๋ค๋ฅธ ์ฌ์ ์ ์๋ ์ญํ ์ ์ฌ์ฉํ์ฌ ์ด ๊ถํ์ ๋ถ์ฌ๋ฐ์ ์๋ ์์ต๋๋ค.
์์ ์ด ๋ง๋ ํ๋ก์ ํธ์์ ์์ ํ๋ ๊ฒฝ์ฐ์๋ ๊ณ์ ์ ์ด๋ฌํ ์ญํ ์ ๋ถ์ฌํด์ผ ํฉ๋๋ค.
๊ฐ์ฅ์ ํ์ํ ์ญํ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋น์ค ๊ณ์ ์ธ์ฆ ์ญํ ์ ์ฐธ์กฐํ์ธ์.
๋ค์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ ์๋น์ค ๊ณ์ ๊ฐ์ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- gcloud CLI ์ฌ์ฉ
- ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ ์ํ ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์ค์
- ๋จ๊ธฐ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์์ฑ ๋ฐ ๊ด๋ฆฌ
gcloud CLI ์ฌ์ฉ
gcloud CLI์์๋ ์๋น์ค ๊ณ์ ๊ฐ์ฅ์ ์ฌ์ฉํ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ gcloud CLI๋ฅผ ์ฌ์ฉํ์ฌ ์๋น์ค ๊ณ์ ์ผ๋ก Google Cloud ๋ฆฌ์์ค ๋๋ ์๋น์ค์ ์ก์ธ์คํด์ผ ํ๋ ๊ฒฝ์ฐ์ ์ ํฉํฉ๋๋ค.
ํน์ gcloud CLI ๋ช ๋ น์ด์ ์๋น์ค ๊ณ์ ์ ๊ฐ์ฅํ๊ฑฐ๋ ๋ชจ๋ ๋ช ๋ น์ด์ ์๋์ผ๋ก ๊ฐ์ฅ์ ์ฌ์ฉํ๋๋ก gcloud CLI๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
ํน์ gcloud CLI ๋ช ๋ น์ด์ ๊ฐ์ฅ ์ฌ์ฉ
ํน์ gcloud CLI ๋ช
๋ น์ด์ ๊ฐ์ฅ์ ์ฌ์ฉํ๋ ค๋ฉด --impersonate-service-account
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์ ๋ช
๋ น์ด๋ ์ง์ ๋ ์๋น์ค ๊ณ์ ์ผ๋ก ์ ๊ณตํ๋ ID์ ์ก์ธ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์คํ ๋ฆฌ์ง ๋ฒํท์ ๋์ดํฉ๋๋ค.
gcloud storage buckets list --impersonate-service-account=SERVICE_ACCT_EMAIL
์ด ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ฉด gcloud CLI๊ฐ ์ง์ ๋ ์๋น์ค ๊ณ์ ์ ๋จ๊ธฐ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์์ฒญํ๊ณ ์ด๋ฅผ ์ฌ์ฉํ์ฌ API์ ์ธ์ฆํ๊ณ ์ก์ธ์ค๋ฅผ ์น์ธํฉ๋๋ค. gcloud CLI์ ๋ก๊ทธ์ธ๋ ์ฃผ ๊ตฌ์ฑ์(์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์ ๊ณ์ )์๋ ์๋น์ค ๊ณ์ ์ ๋ํด ํ์ํ ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก gcloud CLI๋ก ๊ฐ์ฅ ์ฌ์ฉ
๊ธฐ๋ณธ์ ์ผ๋ก ์๋น์ค ๊ณ์ ์์ ์ ๊ณตํ๋ ID์ ์ก์ธ์ค๋ฅผ ์ฌ์ฉํ๋๋ก gcloud CLI๋ฅผ ์ค์ ํ๋ ค๋ฉด gcloud CLI ๊ตฌ์ฑ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
์ด ๊ตฌ์ฑ ์์ฑ์ ์ค์ ํ๋ฉด gcloud CLI๊ฐ ์ง์ ๋ ์๋น์ค ๊ณ์ ์ ๋จ๊ธฐ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์์ฒญํ๊ณ ์ด๋ฅผ ์ฌ์ฉํ์ฌ API์ ์ธ์ฆํ๊ณ ๋ชจ๋ ๋ช ๋ น์ด์ ๋ํ ๋ฆฌ์์ค ์ก์ธ์ค๋ฅผ ์น์ธํฉ๋๋ค. gcloud CLI์ ๋ก๊ทธ์ธ๋ ์ฃผ ๊ตฌ์ฑ์์ ์๋น์ค ๊ณ์ ์ ํ์ํ ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค.
ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ ์ํ ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์ค์
์๋น์ค ๊ณ์ ๊ฐ์ฅ์ ์ฌ์ฉํ์ฌ ๋ก์ปฌ ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด(ADC) ํ์ผ์ ์ค์ ํ ์ ์์ต๋๋ค. ๊ฐ์ฅ์ ์ง์ํ๋ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด๋ฌํ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์๋์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ฐ์ฅ์ ์ฌ์ฉํ์ฌ ์์ฑ๋ ๋ก์ปฌ ADC ํ์ผ์ ๋ค์ ์ธ์ด์์ ์ง์๋ฉ๋๋ค.
- C#
- Go
- Java
- Node.js
- Python
์๋น์ค ๊ณ์ ๊ฐ์ฅ์ ์ฌ์ฉํ์ฌ ๋ก์ปฌ ADC ํ์ผ์ ๋ง๋ญ๋๋ค.
gcloud auth application-default login --impersonate-service-account SERVICE_ACCT_EMAIL
์ด์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ก ๋ก์ปฌ ADC ํ์ผ์ ์ค์ ํ ํ์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์ง์๋๋ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ธ์ฆ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์๋์ผ๋ก ์ฐพ์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ ์ํ ์ธ์ฆ์ ์ฐธ์กฐํ์ธ์.
์๋น์ค ๊ณ์ ๊ฐ์ฅ์ ์ฌ์ฉํ์ฌ ์์ฑ๋ ๋ก์ปฌ ADC ํ์ผ์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ ์ผ๋ถ ์ธ์ฆ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์๋ง ์ง์๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์๋น์ค ๊ณ์ ๊ฐ์ฅ์์ ๋ก์ปฌ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด์ ๋ํด ๋ฐํ๋ ์ค๋ฅ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋จ๊ธฐ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ์์ฑ ๋ฐ ๊ด๋ฆฌ
์์ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉ ์ฌ๋ก๊ฐ ํด๊ฒฐ๋์ง ์์ผ๋ฉด ๋จ๊ธฐ ํ ํฐ์ ์์ฑํ๊ณ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ค๋ฅธ ์ ํ์ ๋จ๊ธฐ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด(์ก์ธ์ค ํ ํฐ ์ด์ธ์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด)๊ฐ ํ์ํ๊ฑฐ๋ ํ๋ก๋์ ํ๊ฒฝ์์ ๊ฐ์ฅ์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
๋จ๊ธฐ ํ ํฐ ์์ฑ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋น์ค ๊ณ์ ์ ๋จ๊ธฐ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๋ง๋ค๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ๋จ๊ณ
- ADC์์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ ์์ธํ ์์๋ณด๊ธฐ
- ์ธ์ฆ ๋ฐฉ๋ฒ ์ดํด๋ณด๊ธฐ