개발자 인증

개발자는 서비스 생성, 업데이트, 삭제와 같은 관리 작업 외에도 서비스를 출시하기 전에 비공개로 테스트할 수 있습니다.

시작하기 전에

인증 중인 서비스에 액세스할 수 있는 권한을 부여해야 합니다. 개발자 또는 개발자 그룹에 Cloud Run 호출자 역할을 부여해야 합니다.

Console UI

  1. Google Cloud Console로 이동합니다.

    Google Cloud Console로 이동

  2. 서비스를 선택합니다.

  3. 오른쪽 상단 모서리에 있는 정보 패널 표시를 클릭하여 권한 탭을 표시합니다.

  4. 구성원 추가를 클릭합니다.

  5. 구성원 추가 필드에 개발자 계정 이메일을 입력합니다.

  6. 역할 선택 드롭다운 메뉴에서 Cloud Run Invoker 역할을 선택합니다.

  7. 저장을 클릭합니다.

gcloud

gcloud run services add-iam-policy-binding 명령어를 사용합니다.

gcloud run services add-iam-policy-binding SERVICE \
  --member='USER:EMAIL' \
  --role='roles/run.invoker'

각 항목의 의미는 다음과 같습니다.

  • SERVICE은 서비스의 이름입니다.
  • USER는 승인 대상이 단일 개발자 또는 그룹인지에 따라 user 또는 group 값입니다.
  • EMAIL은 이메일 계정입니다.

    예:

    gcloud run services add-iam-policy-binding myservice \
    --member='user:test-user@gmail.com' \
    --role='roles/run.invoker'
    

비공개 서비스 테스트

인증이 필요한 서비스를 테스트하는 가장 쉬운 방법은 curl과 같은 도구를 사용하고 Authorization 헤더로 인증 토큰을 전달하는 것입니다.

curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" SERVICE_URL

curl 명령어가 작동하려면 Cloud Run 관리자 또는 Cloud Run 호출자와 같이 run.routes.invoke 권한이 있는 사용자에게 유효한 ID 토큰을 전달해야 합니다. 전체 역할 및 관련 권한 목록은 Cloud Run IAM 역할을 참조하세요.

이 예시에서와 같이 현재 gcloud에 로그인된 ID의 유효한 ID 토큰을 얻으려면 gcloud auth print-identity-token를 사용하면 됩니다.

편리한 재사용을 위해 Linux 또는 macOS 셸 프로필에서 명령줄 별칭을 만들 수 있습니다.

alias gcurl='curl --header "Authorization: Bearer $(gcloud auth print-identity-token)"'

서비스 요청을 수행하기 위해 사용합니다.

gcurl OPTIONAL_CURL_FLAGS SERVICE_URL

브라우저에서 웹사이트 또는 API를 테스트하려면 HTTP 요청 헤더를 수정하는 브라우저 확장 프로그램을 사용하면 됩니다.