애플리케이션이 사용자의 요청을 처리할 경우 허용된 사용자로만 액세스를 제한하는 것이 가장 좋습니다. 사용자는 일반적으로 Google Cloud 프로젝트 또는 Cloud Run 서비스에 대해 IAM 권한이 없습니다.
사용자를 두 가지 유형으로 구분합니다.
- 최종 사용자: 조직에 반드시 속할 필요가 없는 애플리케이션 사용자입니다. 일반적으로 직접 계정을 등록해야 합니다.
- 내부 사용자: 조직의 관리자가 애플리케이션에 액세스할 수 있는 권한을 명시적으로 부여하며 일반적으로 조직에 속합니다.
최종 사용자 인증
이메일/비밀번호, 전화번호, Google, Facebook이나 GitHub와 같은 소셜 공급자 또는 커스텀 인증 메커니즘으로 사용자를 인증하려는 경우에는 Identity Platform을 사용하면 됩니다. Firebase 인증 사용 방법은 Identity Platform 사용 방법과 비슷합니다.
로그인 과정을 처리하고 Cloud Run 서비스에 인증된 API 호출을 수행하는 공개 웹 또는 모바일 앱이 있어야 합니다. 이 공개 웹 앱 자체는 공개 Cloud Run 서비스에서 호스팅될 수 있습니다.
최종 사용자 인증에 Identity Platform을 사용하는 방법에 대한 전체 튜토리얼은 Cloud Run용 최종 사용자 인증 튜토리얼을 참조하세요.
ID 토큰을 확인하기 위해 Cloud Run 서비스에 코드를 추가합니다.
웹 또는 모바일 앱에서 다음을 수행합니다.
- 적절한 Firebase 인증 클라이언트 라이브러리를 사용하여 ID 토큰을 가져옵니다.
- Android:
GetTokenResult().getToken()
메서드를 사용합니다. - iOS:
User.getIDTokenResult(completion:)
메서드를 사용합니다. - 웹:
firebase.User.getIdToken()
메서드를 사용합니다.
- Android:
- ID 토큰을 서비스에 대한 요청의
Authorization: Bearer ID_TOKEN
헤더에 포함합니다.
- 적절한 Firebase 인증 클라이언트 라이브러리를 사용하여 ID 토큰을 가져옵니다.
다음 방법 중 하나를 사용하여 사용자 프로필 정보에 액세스할 수 있습니다.
- Firebase Admin SDK를 사용하여 사용자 데이터를 검색하기 위한 네트워크 요청을 수행합니다.
- Google API 클라이언트 라이브러리를 사용하여 선택한 런타임에 가장 적합한 메서드를 사용하여 사용자 데이터를 가져옵니다.
이 인증 기술을 사용하는 애플리케이션을 전반적으로 둘러보려면 Cloud Run용 최종 사용자 인증 가이드를 참조하세요.
내부 사용자 인증
내부 사용자 인증의 경우 IAP(Identity-Aware Proxy)를 사용할 수 있습니다.
기존 Cloud Run에 대해 IAP(Identity-Aware Proxy)를 설정하려면 Cloud Run에 대해 IAP(Identity-Aware Proxy) 사용 설정 문서를 참조하세요.
OAuth 2.0을 사용하여 IAP(Identity-Aware Proxy)로 보호되는 Cloud Run에 대해 사용자 또는 서비스 계정을 인증하는 방법에 대한 안내는 프로그래매틱 인증 문서를 참조하세요.