호출 인증

이 문서에서는 Cloud Functions v2 API(예: gcloud functions, REST API, Terraform 사용)를 사용하여 만든 함수를 호출하는 방법에 관한 추가 정보를 제공합니다. 자세한 내용과 예시는 Cloud Run 요청 인증 가이드를 참고하세요. Cloud Run 가이드에서 다루는 주제는 Cloud Functions v2 API를 사용하여 만든 함수에도 적용됩니다. v2 함수도 Cloud Run 호출자 역할(roles/run.invoker)을 사용하므로

인증된 함수를 호출하려면 기본 주 구성원이 다음 요구사항을 충족해야 합니다.

  • 함수를 호출할 수 있는 권한이 있음
  • 함수를 호출할 때 ID 토큰을 제공함

Cloud Run Functions는 주 구성원이라고도 하는 두 가지 종류의 ID를 지원합니다.

  • 서비스 계정: 함수, 애플리케이션, VM과 같이 비인간 사용자의 ID로 사용되는 특수 계정입니다. 이런 계정은 비인간 사용자를 인증하는 방법을 제공합니다.
  • 사용자 계정: 개인 Google 계정 소유자 또는 Google 그룹처럼 Google이 관리하는 항목에 속하는 사용자 등 인간이 사용하는 계정입니다.

IAM 개요에서 기본 IAM 개념에 대해 자세히 알아보세요.

인증된 함수를 호출하려면 주 구성원에게 호출자 IAM 권한이 있어야 합니다.

  • run.routes.invoke. 일반적으로 Cloud Run 호출자 역할을 통해 실행됩니다. 이 권한은 Cloud Run 서비스 리소스에 할당되어야 합니다.

이러한 권한을 부여하려면 Cloud Run 서비스 간 인증 가이드의 단계를 따르세요.

함수에 대한 다른 관리 작업을 생성, 업데이트, 수행할 권한을 위해서는 주 구성원에게 적절한 역할이 있어야 합니다. 역할에는 주 구성원이 수행할 수 있는 작업을 정의하는 권한이 포함됩니다. 자세한 내용은 IAM을 사용하여 액세스 승인을 참조하세요.

이벤트 기반 함수는 구독 중인 이벤트 소스에서만 호출할 수 있습니다. 그러나 HTTP 함수는 함수를 테스트하는 개발자나 함수를 사용하는 다른 서비스와 같이 다른 위치에서 시작된 다양한 ID 유형으로 호출될 수 있습니다. ID는 인증을 위해 ID 토큰을 제공해야 합니다. 사용 중인 계정에 적절한 권한도 있어야 합니다.