이 페이지에서는 각 사용 사례의 구현 방법에 대한 추가 정보 링크를 포함하여 몇 가지 일반적인 인증 및 승인 사용 사례를 보여줍니다.
Google에서의 인증 개요는 Google에서 인증을 참조하세요.
Google API 인증
Google API는 모든 요청에 유효한 액세스 토큰 또는 API 키가 필요합니다. 이러한 필수 사용자 인증 정보를 제공하는 방법은 코드가 실행되는 위치 및 API에 허용되는 사용자 인증 정보 유형에 따라 달라집니다.
클라이언트 라이브러리 및 애플리케이션 기본 사용자 인증 정보 사용
Google API를 사용하는 권장 방법은 클라이언트 라이브러리 및 애플리케이션 기본 사용자 인증 정보(ADC)를 사용하는 것입니다. Application Default Credentials (ADC) 는 애플리케이션 환경을 기준으로 사용자 인증 정보를 자동으로 검색하기 위해 인증 라이브러리에 사용되는 전략입니다. 그런 다음 인증 라이브러리는 Cloud 클라이언트 라이브러리 및 Google API 클라이언트 라이브러리에 이러한 사용자 인증 정보를 제공합니다. ADC를 사용할 때는 Google Cloud 서비스 및 API에 대한 애플리케이션 인증 방법을 변경하지 않고 개발 또는 프로덕션 환경에서 코드를 실행할 수 있습니다.
ADC 설정 방법은 코드가 실행되는 위치에 따라 달라집니다. ADC는 서비스 계정으로 인증과 사용자로 인증을 모두 지원합니다.
Google Kubernetes Engine(GKE)에서 인증
GKE용 워크로드 아이덴티티 제휴를 사용하여 GKE에서 실행되는 워크로드가 Google API에 안전하게 액세스하도록 합니다. GKE용 워크로드 아이덴티티 제휴를 사용하면 GKE 클러스터의 GKE 서비스 계정이 Identity and Access Management(IAM) 서비스 계정 역할을 수행할 수 있습니다.
Knative serving에서 인증
Google API에 액세스할 수 있게 해주는 GKE용 워크로드 아이덴티티 제휴를 사용하여 Knative serving 서비스를 인증합니다.
API 키를 허용하는 API 사용
API 키는 청구 및 할당 목적으로 API 요청을 Google Cloud 프로젝트와 연결합니다. API가 API 키를 지원하는 경우 토큰 대신 API 요청에 API 키를 제공할 수 있습니다. API가 API 키를 지원하는지 여부를 확인하려면 API 문서를 참조하세요.
자체 서명 JSON 웹 토큰(JWT) 사용
일부 Google API는 액세스 토큰 대신 자체 서명된 JSON 웹 토큰(JWT)을 지원합니다. 자체 서명된 JWT를 사용하면 Google의 승인 서버로 네트워크 요청을 수행하지 않아도 됩니다. 이 방법을 사용하려면 자체 서명된 JWT 만들기를 수행해야 합니다. 토큰에 대한 자세한 내용은 토큰 유형을 참조하세요.
인증 라이브러리 및 패키지 사용
Cloud 클라이언트 라이브러리 또는 Google API 클라이언트 라이브러리에서 제공되는 ADC 및 OAuth 구현을 해당 환경에서 사용할 수 없으면 인증 라이브러리 및 패키지를 사용할 수 있습니다.
다음 인증 라이브러리 및 패키지를 사용할 수 있습니다.
또한 Google OAuth 2.0 엔드포인트를 사용하여 OAuth 2.0 흐름을 구현할 수도 있습니다. 이 방법을 사용하려면 OAuth 2.0 및 OpenID Connect의 작동 방식을 자세히 이해해야 합니다. 자세한 내용은 웹 서버 애플리케이션용 OAuth 2.0 사용을 참조하세요.
Google Cloud 서비스별 사용 사례
일부 Google Cloud 서비스는 해당 서비스와 관련된 인증 흐름을 지원합니다.
서명된 URL을 사용하여 Cloud Storage 리소스에 대해 한시적인 액세스 제공
서명된 URL은 특정 Cloud Storage 리소스에 대한 한시적인 액세스를 제공합니다.
GKE Enterprise 클러스터 인증
Google Cloud ID 또는 타사 ID 공급업체를 사용해서 GKE Enterprise 클러스터에 인증을 수행할 수 있습니다.
- Connect 게이트웨이를 사용하여 Google Cloud ID로 인증합니다.
- Anthos Identity Service를 사용하여 OIDC 또는 LDAP를 지원하는 타사 ID 공급업체로 인증합니다.
인증을 위해 API 게이트웨이 또는 Cloud Endpoints로 배포된 API 구성
API 게이트웨이 및 Cloud Endpoints는 Firebase, Google 서명 ID 토큰, Okta, Auth0, JWT에서 서비스 간 인증 및 사용자 인증을 지원합니다.
자세한 내용은 제품 문서를 참조하세요.
Cloud Run 또는 Cloud Run 함수에서 호스팅되는 애플리케이션에 대한 인증
Cloud Run 및 Cloud Run 함수에서 호스팅되는 애플리케이션에는 인증을 위해 OpenID Connect(OIDC) 토큰 또는 ID 토큰이 필요합니다.
자세한 내용은 아래 나열된 호스팅 서비스의 제품 문서를 참조하세요. ID 토큰을 가져오는 다른 방법에 대한 자세한 내용은 ID 토큰 가져오기를 참조하세요. ID 토큰 검증을 포함한 ID 토큰에 대한 자세한 내용은 ID 토큰을 참조하세요.
Cloud Run
서비스 호출 방법에 따라 Cloud Run 서비스를 설정하는 다양한 방법이 있습니다. OIDC ID 토큰이 필요한 Cloud Run 서비스에서 다른 서비스로 인증을 수행해야 할 수도 있습니다.
웹 또는 모바일 앱에서 서비스에 사용자를 인증하려면 Identity Platform 또는 Firebase 인증을 사용합니다. 또한 IAP(Identity-Aware Proxy)를 사용하여 내부 사용자를 인증할 수도 있습니다.
Cloud Run 함수
함수를 호출할 때는 호출을 인증해야 합니다. 사용자 인증 정보 또는 OIDC ID 토큰을 사용할 수 있습니다.
애플리케이션 사용자 인증
나머지 애플리케이션 환경에 따라 애플리케이션의 최종 사용자를 인증하는 여러 가지 옵션이 있습니다. 애플리케이션에 가장 적합한 옵션을 이해할 수 있도록 아래 설명을 참조하세요.
인증 서비스 | 설명 |
---|---|
Google ID 서비스 |
Google ID 서비스에는 Google 계정으로 로그인, Google 사용자 로그인 버튼, Identity Services API 및 SDK가 포함됩니다. Google ID 서비스는 OAuth 2.0 및 OpenID Connect(OIDC) 프로토콜을 기반으로 합니다. 모바일 애플리케이션을 만드는 중이고 Gmail 및 Google Workspace 계정을 사용해서 사용자를 인증하려고 할 때는 Google 계정으로 로그인 옵션이 적합할 수 있습니다. Google 계정으로 로그인은 기존 로그인 시스템에서의 Google 계정 사용도 지원합니다. 추가 정보 |
Firebase 인증 |
Firebase 인증은 다양한 사용자 계정 유형에 대해 사용자를 애플리케이션에 인증하기 위한 인증 서비스와 라이브러리를 제공합니다. 여러 플랫폼에서 사용자 로그인을 수락하려면 Firebase 인증 옵션이 적합할 수 있습니다. 추가 정보 Firebase 인증은 다양한 사용자 계정 유형에 대한 인증 기능을 제공합니다. Firebase 인증은 비밀번호 인증 및 Google, Facebook, Twitter, 기타 플랫폼과의 제휴 로그인을 지원합니다. Identity Platform과 Firebase 인증은 모두 Google ID 서비스를 기반으로 합니다. Firebase 인증은 소비자 애플리케이션을 대상으로 합니다. Identity Platform은 자체 ID 공급업체가 되려는 사용자 또는 Identity Platform이 제공하는 엔터프라이즈급 기능이 필요한 사용자에게 이상적입니다. 두 제품 간의 차이점에 대한 자세한 내용은 Identity Platform과 Firebase 인증의 차이점을 참조하세요. 자세한 내용은 다음 링크를 참조하세요.
|
Identity Platform |
Identity Platform은 고객 ID 및 액세스 관리(CIAM) 플랫폼으로, 조직에서 애플리케이션에 기업용 ID 및 액세스 관리 기능을 추가할 수 있도록 도와줍니다. Google Workspace와 같은 Google ID 공급업체에 사용할 애플리케이션을 만드는 경우 또는 자체 ID 및 액세스 관리 서비스를 만드는 경우에는 Identity Platform이 적합한 옵션일 수 있습니다. 추가 정보 Identity Platform은 사용자 가입 및 로그인에 사용되는 맞춤설정 가능한 삽입형 ID 및 인증 서비스를 제공합니다. Identity Platform은 SAML, OIDC, 이메일/비밀번호, 소셜 미디어, 전화번호, 커스텀 옵션과 같은 여러 인증 방법을 지원합니다. Identity Platform과 Firebase 인증은 모두 Google ID 서비스를 기반으로 합니다. Firebase 인증은 소비자 애플리케이션을 대상으로 합니다. Identity Platform은 자체 ID 공급업체가 되려는 사용자 또는 Identity Platform이 제공하는 엔터프라이즈급 기능이 필요한 사용자에게 이상적입니다. 두 제품 간의 차이점에 대한 자세한 내용은 Identity Platform과 Firebase 인증의 차이점을 참조하세요. |
OAuth 2.0 및 OpenID Connect |
OpenID Connect를 사용하면 인증 토큰을 처리하고 사용할 수 있으며 가장 폭넓은 맞춤설정이 가능합니다. OAuth 2.0 구현을 최대한 제어하기를 원하며 OAuth 2.0 흐름을 구현하는 데 익숙하다면 이 옵션을 고려하세요. 추가 정보 Google의 OAuth 2.0 구현은 OpenID Connect 사양을 준수하며 OpenID 인증을 받습니다. OpenID Connect는 OAuth 2.0 프로토콜 기반의 ID 레이어입니다. 애플리케이션에서 OpenID Connect를 사용하여 ID 토큰을 검증하고 사용자 프로필 정보를 가져올 수 있습니다. OAuth 2.0은 IAP(Identity-Aware Proxy) 보안 리소스에 프로그래매틱 인증을 구현하는 데 사용할 수 있습니다. |
IAP(Identity-Aware Proxy) |
IAP를 사용하면 요청이 애플리케이션 리소스에 도달하기 전에 애플리케이션에 대한 액세스를 제어할 수 있습니다. 애플리케이션 내에서 구현되는 이 테이블의 다른 인증 서비스와 달리 IAP는 애플리케이션에 도달하기 전 인증을 수행합니다. 추가 정보 IAP에서는 애플리케이션에 대해 중앙 승인 레이어를 설정하고 서명된 헤더를 사용하여 앱을 보호합니다. IAP로 보호되는 애플리케이션은 올바른 IAM 역할이 있는 주 구성원만 액세스할 수 있습니다. 최종 사용자가 IAP 보안 리소스에 액세스하려고 시도하면 IAP가 인증 및 승인 검사를 수행합니다. IAP는 동일한 프로젝트 내의 다른 서비스와 같이 프로젝트 내의 활동에 대한 보호를 제공하지 않습니다. Google ID의 경우 IAP는 ID 토큰을 사용합니다. 자세한 내용은 프로그래매틱 인증을 참조하세요. IAP가 애플리케이션 리소스를 보호하는 방법에 대한 자세한 내용은 IAP 개요를 참조하세요. IAP에 사용할 수 있는 언어별 튜토리얼은 다음과 같습니다. |
App Engine Users API | App Engine 표준 환경에서 실행되는 애플리케이션의 경우 Users API가 일부 언어에 대해 사용자 인증 기능을 제공할 수 있습니다. |
최종 사용자 리소스에 대한 액세스 승인 | 최종 사용자가 소유한 리소스에 애플리케이션이 액세스하는 경우 이를 위한 권한을 보호해야 합니다. 애플리케이션, 승인 서버, 사용자 등 3가지 항목이 관련되므로 이 사용 사례를 3-legged OAuth 또는 3LO라고도 합니다. |
Google Cloud 및 Google Workspace의 인증 및 승인 옵션
Google Cloud 및 Google Workspace는 액세스 설정, 계정 보안 향상, 계정 관리를 위한 다양한 옵션을 제공합니다.
외부 워크로드를 위해 Google Cloud 리소스에 액세스 부여
워크로드 아이덴티티 제휴를 사용하면 온프레미스 또는 멀티 클라우드 워크로드에 Google Cloud 리소스에 대한 액세스를 부여할 수 있습니다. 기존에는 이 사용 사례에서 서비스 계정 키를 사용해야 했지만 워크로드 아이덴티티 제휴에는 서비스 계정 키와 관련된 유지보수 및 보안 부담이 없습니다. 워크로드 아이덴티티 제휴는 OIDC 호환 또는 SAML 2.0 호한 ID 제공업체를 지원합니다.
ID 공급업체 설정
Cloud ID 또는 Google Workspace를 사용하여 Google을 ID 공급업체로 사용할 수 있습니다. Cloud ID 또는 Google Workspace 계정을 외부 ID 공급업체와 제휴할 수도 있습니다. 이 방법에서는 SAML을 사용하여 직원이 자신의 기존 ID 및 사용자 인증 정보를 사용하여 Google 서비스에 로그인할 수 있도록 지원합니다.
2단계 인증 설정
2단계 인증 요구는 악의적인 행위자가 특정 계정의 사용자 인증 정보에 대한 액세스 권한을 얻었을 때 이 계정에 액세스하지 못하게 막는 데 도움이 되는 권장사항입니다. 2단계 인증을 사용하면 사용자의 두 번째 정보 또는 ID가 제공된 다음에만 사용자가 인증됩니다. Google은 FIDO(Fast IDentity Online) 표준을 지원하는 여러 솔루션을 제공합니다.
Identity Platform은 웹, iOS, Android 앱에 대해 2단계 인증을 지원합니다.
Google ID 서비스는 FIDO(Fast IDentity Online) 인증을 지원합니다.
Google은 Titan 키와 같은 2단계 인증을 위한 다양한 하드웨어 솔루션을 지원합니다.
인증서 기반 액세스 설정
Chrome Enterprise Premium 제로 트러스트 솔루션의 일부인 인증서 기반 액세스는 신뢰할 수 있는 기기의 인증된 사용자로만 액세스를 제한하고, 해당 X.509 인증서를 통해 기기를 식별합니다. 인증서 기반 액세스를 상호 전송 계층 보안(mTLS)이라고도 합니다.
일반 계정 및 인증 정보
Google 계정 액세스 도움말 확인
Google 계정 액세스 또는 관리에 대한 도움말이 필요하면 Google 계정 지원 페이지를 참조하세요.
보안 침해된 사용자 인증 정보 처리
사용자 인증 정보의 보안 침해가 의심되는 경우 사용자 또는 관리자가 문제 해결을 위해 수행할 수 있는 단계가 있습니다. 자세한 내용은 보안 침해된 Google Cloud 사용자 인증 정보 처리를 참조하세요.
인증 기관 문제에 대한 지원 받기
루트 CA를 포함해 인증서 또는 인증 기관(CA)의 문제와 관련된 오류가 표시되는 경우 자세한 내용은 Google Trust Services FAQ를 참조하세요.