reCAPTCHA์— ์ธ์ฆ

์ด ๋ฌธ์„œ์—์„œ๋Š” reCAPTCHA์— ํ”„๋กœ๊ทธ๋ž˜๋งคํ‹ฑ ๋ฐฉ์‹์œผ๋กœ ์ธ์ฆํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. reCAPTCHA์— ์ธ์ฆํ•˜๋Š” ๋ฐฉ๋ฒ•์€ API์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

Google Cloud ์ธ์ฆ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ธ์ฆ ๋ฉ”์„œ๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

API ์•ก์„ธ์Šค

reCAPTCHA๋Š” ํ”„๋กœ๊ทธ๋ž˜๋งคํ‹ฑ ์•ก์„ธ์Šค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฐฉ๋ฒ•์œผ๋กœ API์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

reCAPTCHA ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋งคํ‹ฑ ๋ฐฉ์‹์œผ๋กœ reCAPTCHA์— ์ธ์ฆํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณ ๊ธ‰ ์–ธ์–ด ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Google Cloud API ํ˜ธ์ถœ์„ ์ธ์ฆํ•˜๊ธฐ ์œ„ํ•ด ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด(ADC)๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ •์˜๋œ ์œ„์น˜ ์ง‘ํ•ฉ์—์„œ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์ฐพ๊ณ  ์ด๋Ÿฌํ•œ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•ด์„œ API์— ๋Œ€ํ•œ ์š”์ฒญ์„ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค. ADC๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•  ํ•„์š” ์—†์ด ๋กœ์ปฌ ๊ฐœ๋ฐœ ๋˜๋Š” ํ”„๋กœ๋•์…˜๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Google Cloud CLI

gcloud CLI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ reCAPTCHA์— ์•ก์„ธ์Šคํ•  ๋•Œ gcloud CLI ๋ช…๋ น์–ด์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์šฉ์ž ๊ณ„์ •์œผ๋กœ gcloud CLI์— ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.

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

์ž์„ธํ•œ ๋‚ด์šฉ์€ gcloud CLI ์‚ฌ์šฉ์„ ์œ„ํ•œ ์ธ์ฆ์„ ์ฐธ์กฐํ•˜์„ธ์š”. reCAPTCHA์— gcloud CLI๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ gcloud CLI ์ฐธ์กฐ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

REST

gcloud CLI ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ reCAPTCHA API์— ์ธ์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. REST ์š”์ฒญ ์ธ์ฆ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ REST๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„ ์ฐธ์กฐํ•˜์„ธ์š”. ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์œ ํ˜•์€ gcloud CLI ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ๋ฐ ADC ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

API ํ‚ค

API ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ˜ธ์ถœ์ž ID๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š๊ณ  ์ฒญ๊ตฌ ๋ฐ ํ• ๋‹น๋Ÿ‰ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” API ํ˜ธ์ถœ์„ ํ”„๋กœ์ ํŠธ์™€ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. API ํ‚ค๋Š” API ํ‚ค๋ฅผ ์ง€์›ํ•˜๋Š” API ๋ฉ”์„œ๋“œ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

reCAPTCHA๋Š” ๋‹ค์Œ API ๋ฉ”์„œ๋“œ์˜ API ํ‚ค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • projects.assessments.create
  • projects.assessments.annotate
  • ListRelatedAccountGroupMemberships
  • ListRelatedAccountGroups
  • SearchRelatedAccountGroupMemberships
  • ListFirewallPolicies

API ํ‚ค ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ๋‚ด์šฉ์€ API ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

reCAPTCHA ์ธ์ฆ ์„ค์ •

์ธ์ฆ ์„ค์ • ๋ฐฉ๋ฒ•์€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ ์ค‘์ธ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

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

๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์šฉ

๋‹ค์Œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์˜ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋˜๋Š” ์„œ๋“œ ํŒŒํ‹ฐ ๋„๊ตฌ

๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด(ADC)๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  1. Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

    gcloud init

    If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  2. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธํ•˜๋ฉด ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋Š” ADC์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋กœ์ปฌ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ํŒŒ์ผ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ADC ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์šฉ ADC ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ช…๋ น์ค„์˜ REST ์š”์ฒญ

๋ช…๋ น์ค„์—์„œ REST ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ๋Š” ์š”์ฒญ์„ ์ „์†กํ•˜๋Š” ๋ช…๋ น์–ด์˜ ์ผ๋ถ€๋กœ gcloud auth print-access-token์„ ํฌํ•จํ•˜์—ฌ gcloud CLI ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” ์ง€์ •๋œ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. REST ์š”์ฒญ์—๋„ ๋™์ผํ•œ ํŒจํ„ด์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • PROJECT_ID: Google Cloud ํ”„๋กœ์ ํŠธ ID์ž…๋‹ˆ๋‹ค.

์š”์ฒญ์„ ๋ณด๋‚ด๋ ค๋ฉด ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ํŽผ์นฉ๋‹ˆ๋‹ค.

 

REST ๋ฐ gRPC๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ REST ์‚ฌ์šฉ์„ ์œ„ํ•œ ์ธ์ฆ์„ ์ฐธ์กฐํ•˜์„ธ์š”. ๋กœ์ปฌ ADC ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด์™€ gcloud CLI ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ gcloud CLI ์ธ์ฆ ๊ตฌ์„ฑ ๋ฐ ADC ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์„œ๋น„์Šค ๊ณ„์ • ๊ฐ€์žฅ

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ์ธ์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ์„œ๋น„์Šค ๊ณ„์ •์— ํ• ๋‹น๋œ ๊ถŒํ•œ์„ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์„œ๋น„์Šค ๊ณ„์ • ๊ฐ€์žฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ณ„์ • ํ† ํฐ ์ƒ์„ฑ์ž(roles/iam.serviceAccountTokenCreator) IAM ์—ญํ• ์— ํฌํ•จ๋œ iam.serviceAccounts.getAccessToken ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

gcloud config set ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ณ„์ • ๊ฐ€์žฅ์„ ์‚ฌ์šฉํ•˜๋„๋ก gcloud CLI๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

์ผ๋ถ€ ์–ธ์–ด์˜ ๊ฒฝ์šฐ ์„œ๋น„์Šค ๊ณ„์ • ๊ฐ€์žฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•  ๋กœ์ปฌ ADC ํŒŒ์ผ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ Go, Java, Node.js, Python ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ๋งŒ ์ง€์›๋˜๋ฉฐ ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ๋Š” ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ณ„์ • ๊ฐ€์žฅ์œผ๋กœ ๋กœ์ปฌ ADC ํŒŒ์ผ์„ ์„ค์ •ํ•˜๋ ค๋ฉด gcloud auth application-default login ๋ช…๋ น์–ด์™€ ํ•จ๊ป˜ --impersonate-service-account ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

gcloud auth application-default login --impersonate-service-account=SERVICE_ACCT_EMAIL

์„œ๋น„์Šค ๊ณ„์ • ๊ฐ€์žฅ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„œ๋น„์Šค ๊ณ„์ • ๊ฐ€์žฅ ์‚ฌ์šฉ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

Google Cloud

Google Cloud์—์„œ ์‹คํ–‰๋˜๋Š” ์›Œํฌ๋กœ๋“œ๋ฅผ ์ธ์ฆํ•˜๋ ค๋ฉด ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค(์˜ˆ: Compute Engine ๊ฐ€์ƒ ๋จธ์‹ (VM) ์ธ์Šคํ„ด์Šค)์— ์—ฐ๊ฒฐ๋œ ์„œ๋น„์Šค ๊ณ„์ •์˜ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ Google Cloud ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค์—์„œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ์— ์„ ํ˜ธ๋˜๋Š” ์ธ์ฆ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

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

gcloud CLI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ  ๋ฆฌ์†Œ์Šค์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

  1. Google Cloud CLI๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ํ›„ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ Google Cloud CLI๋ฅผ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

    gcloud init

    ์™ธ๋ถ€ ID ๊ณต๊ธ‰์—…์ฒด (IdP)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋จผ์ € ์ œํœด ID๋กœ gcloud CLI์— ๋กœ๊ทธ์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  2. Set up authentication:

    1. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    2. To provide access to your project and your resources, grant a role to the service account:

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • ROLE: the role to grant
    3. To grant another role to the service account, run the command as you did in the previous step.
    4. Grant the required role to the principal that will attach the service account to other resources.

      gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • USER_EMAIL: the email address for a Google Account
  3. ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์ด ๋ฆฌ์†Œ์Šค์— ์„œ๋น„์Šค ๊ณ„์ •์„ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Compute Engine์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

    Create a Compute Engine instance. Configure the instance as follows:
    • INSTANCE_NAME์„ ์›ํ•˜๋Š” ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.
    • --zone ํ”Œ๋ž˜๊ทธ๋ฅผ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค ์˜์—ญ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    • --service-account ํ”Œ๋ž˜๊ทธ๋ฅผ ๋งŒ๋“  ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    • gcloud compute instances create INSTANCE_NAME --zone=ZONE --service-account=SERVICE_ACCOUNT_EMAIL

Google API ์ธ์ฆ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ธ์ฆ ๋ฐฉ๋ฒ•์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์˜จํ”„๋ ˆ๋ฏธ์Šค ๋˜๋Š” ๋‹ค๋ฅธ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด

Google Cloud ์™ธ๋ถ€์—์„œ ์ธ์ฆ์„ ์„ค์ •ํ•˜๋Š” ๋ฐ ์„ ํ˜ธ๋˜๋Š” ๋ฐฉ๋ฒ•์€ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ธ์ฆ ๋ฌธ์„œ์—์„œ ์˜จํ”„๋ ˆ๋ฏธ์Šค ๋˜๋Š” ๋‹ค๋ฅธ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด์˜ ADC ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

reCAPTCHA ์•ก์„ธ์Šค ์ œ์–ด

reCAPTCHA์— ์ธ์ฆํ•œ ํ›„์—๋Š” Google Cloud ๋ฆฌ์†Œ์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. reCAPTCHA๋Š” Identity and Access Management (IAM)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šน์ธ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.

reCAPTCHA์˜ ์—ญํ• ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ IAM์œผ๋กœ ์•ก์„ธ์Šค ์ œ์–ด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. IAM ๋ฐ ์Šน์ธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ IAM ๊ฐœ์š”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

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