Google Cloud는 워크로드에 다음 유형의 ID를 제공합니다.
워크로드 아이덴티티 제휴 및 GKE용 워크로드 아이덴티티 제휴를 사용하면 워크로드가 외부 ID 공급업체(IdP)를 통해 인증되는 제휴 ID를 사용하여 대부분의 Google Cloud 서비스에 액세스할 수 있습니다. Google Cloud에서 ID를 주 구성원으로 인증하면 주 구성원은 개발자가 부여한 IAM 역할을 사용하여 리소스에 액세스할 수 있습니다.
Google Cloud의 워크로드 또는 AWS, Azure, GitHub, GitLab과 같은 플랫폼에서 실행되는 외부 워크로드에서 워크로드 아이덴티티 제휴를 사용할 수 있습니다.
GKE 클러스터에서 실행되는 워크로드에서 GKE용 워크로드 아이덴티티 제휴를 사용하여 Google Cloud 리소스에 대한 액세스 권한을 부여할 수 있습니다.
Google Cloud 서비스 계정은 프로덕션 환경에서 워크로드 ID 역할을 할 수 있습니다. 개발자는 워크로드에 직접 액세스 권한을 부여하는 대신 서비스 계정에 대한 액세스 권한을 부여한 후 워크로드에서 서비스 계정을 ID로 사용하게 합니다.
관리형 워크로드 아이덴티티(미리보기)를 사용하면 강력하게 증명된 ID를 Compute Engine 워크로드에 바인딩할 수 있습니다. 관리형 워크로드 아이덴티티를 사용하면 상호 TLS(mTLS)를 사용하여 워크로드를 다른 워크로드에 인증할 수 있지만 Google Cloud API에 인증하는 데는 사용할 수 없습니다.
워크로드에 사용할 수 있는 ID 유형과 구성 방법은 워크로드가 실행되는 위치에 따라 달라집니다.
Google Cloud의 워크로드
Google Cloud에서 워크로드를 실행하는 경우 다음 방법을 사용하여 워크로드의 ID를 구성할 수 있습니다.
- 연결된 서비스 계정
- GKE용 워크로드 아이덴티티 제휴(Google Kubernetes Engine에서 실행되는 워크로드만 해당)
- 관리형 워크로드 아이덴티티(Compute Engine에서 실행되는 워크로드만 해당)
- 서비스 계정 키
연결된 서비스 계정
일부 Google Cloud 리소스의 경우 리소스에서 기본 ID로 사용하는 사용자 관리 서비스 계정을 지정할 수 있습니다. 이 프로세스는 서비스 계정을 리소스에 연결하거나 서비스 계정과 리소스를 연결한다고 알려져 있습니다. 리소스에서 실행되는 코드는 Google Cloud 서비스와 리소스에 액세스할 때 리소스에 연결된 서비스 계정을 ID로 사용합니다. 예를 들어 서비스 계정을 Compute Engine 인스턴스에 연결하고 인스턴스의 애플리케이션에서 클라이언트 라이브러리를 사용하여 Google Cloud API를 호출하는 경우 애플리케이션은 인증과 승인에 연결된 서비스 계정을 자동으로 사용합니다.
대부분의 경우 리소스를 만들 때 서비스 계정을 리소스에 연결해야 합니다. 리소스를 만든 후에는 리소스에 연결된 서비스 계정을 변경할 수 없습니다. Compute Engine 인스턴스에는 이 규칙이 적용되지 않습니다. 필요에 따라 인스턴스에 연결된 서비스 계정을 변경할 수 있습니다.
자세한 내용은 리소스에 서비스 계정 연결을 참조하세요.
GKE용 워크로드 아이덴티티 제휴
GKE에서 실행되는 워크로드의 경우 GKE용 워크로드 아이덴티티 제휴를 사용하면 클러스터의 각 애플리케이션에서 미세 조정된 고유한 주 구성원 집합에 IAM 역할을 부여할 수 있습니다. GKE용 워크로드 아이덴티티 제휴를 사용하면 GKE 클러스터의 Kubernetes 서비스 계정에서 직원 ID 제휴를 사용하거나 간접적으로 IAM 서비스 계정 가장을 사용하여 Google Cloud 리소스에 직접 액세스할 수 있습니다.
직접 리소스 액세스를 사용하면 Google Cloud 서비스 리소스에서 직접 Kubernetes 서비스 계정 ID에 IAM 역할을 부여할 수 있습니다. 대부분의 Google Cloud API는 직접 리소스 액세스를 지원합니다. 하지만 ID 제휴를 사용할 때는 특정 API 메서드에 제한사항이 적용될 수 있습니다. 이러한 제한사항 목록은 지원되는 제품 및 제한사항을 참조하세요.
또는 워크로드에서 서비스 계정 가장을 사용할 수 있습니다. 여기서 구성된 Kubernetes ServiceAccount는 Google Cloud API에 액세스할 때 ID로 사용되는 IAM 서비스 계정에 바인딩됩니다.
GKE용 워크로드 아이덴티티 제휴에 대한 자세한 내용은 GKE용 워크로드 아이덴티티 제휴를 참조하세요.
관리형 워크로드 아이덴티티
관리형 워크로드 아이덴티티를 사용하면 강력하게 증명된 ID를 Compute Engine 워크로드에 결합할 수 있습니다. 관리형 워크로드 아이덴티티를 사용하면 mTLS를 사용하여 워크로드를 다른 워크로드에 인증할 수 있지만 관리형 워크로드 아이덴티티는 Google Cloud API에 인증하는 데 사용될 수 없습니다.
관리형 워크로드 아이덴티티에 대한 자세한 내용은 관리형 워크로드 아이덴티티 개요를 참조하세요.
Compute Engine 워크로드와 함께 관리형 워크로드 아이덴티티를 사용하는 방법에 대한 자세한 내용은 mTLS를 통해 다른 워크로드에 워크로드 인증을 참조하세요.
외부 워크로드
Google Cloud 외부에서 워크로드를 실행하는 경우 다음 방법을 사용하여 워크로드의 ID를 구성할 수 있습니다.
- 워크로드 아이덴티티 제휴
- 서비스 계정 키
워크로드 아이덴티티 제휴
워크로드 아이덴티티 제휴를 사용하면 AWS 및 Azure Active Directory와 같은 외부 ID 공급업체의 사용자 인증 정보를 사용하여 워크로드가 서비스 계정을 일시적으로 가장하는 데 사용할 수 있는 단기 사용자 인증 정보를 생성할 수 있습니다. 그러면 워크로드에서 서비스 계정을 ID로 사용하여 Google Cloud 리소스에 액세스할 수 있습니다.
워크로드 아이덴티티 제휴는 외부 워크로드 ID를 구성하는 데 선호되는 방법입니다.
워크로드 아이덴티티 제휴에 대한 자세한 내용은 워크로드 아이덴티티 제휴를 참조하세요.
서비스 계정 키
서비스 계정 키로 워크로드가 서비스 계정임을 인증한 다음 승인 목적으로 서비스 계정의 ID를 사용합니다.
로컬 개발
로컬 환경에서 개발하는 경우 인증과 승인에 사용자 인증 정보나 서비스 계정을 사용하도록 워크로드를 구성할 수 있습니다. 자세한 내용은 인증 문서의 로컬 개발 환경을 참조하세요.
다음 단계
- 서비스 계정을 사용하여 인증을 설정하는 방법 알아보기
- 로컬 개발 환경의 인증 설정 방법 알아보기
- 서비스 계정에 리소스에 대한 액세스 권한을 부여하는 방법 알아보기