서비스 계정 유형

서비스 계정은 사용자가 관리하는 서비스 계정과 Google에서 관리하는 서비스 계정의 두 가지 카테고리로 나눌 수 있습니다. 이 페이지에서는 각 유형의 서비스 계정을 만들고 사용하는 방법을 설명합니다.

사용자 관리형 서비스 계정

사용자 관리형 서비스 계정은 프로젝트에서 만드는 서비스 계정입니다. 원하는 대로 이러한 서비스 계정을 업데이트, 사용 중지, 사용 설정, 삭제할 수 있습니다. 또한 이러한 서비스 계정에 대한 다른 주 구성원의 액세스 권한을 관리할 수 있습니다.

IAM API, Google Cloud 콘솔, Google Cloud CLI를 사용하여 프로젝트에서 사용자 관리형 서비스 계정을 만들 수 있습니다.

기본적으로 프로젝트에서 최대 100개의 사용자 관리형 서비스 계정을 만들 수 있습니다. 이 할당량이 요구사항을 충족하지 않으면 Google Cloud 콘솔을 사용하여 할당량 증가를 요청할 수 있습니다. 사용자가 만든 서비스 계정만 이 할당량에 반영됩니다. 기본 서비스 계정Google 관리형 서비스 계정은 포함되지 않습니다.

프로젝트에서 사용자 관리형 서비스 계정을 만들 때 서비스 계정의 이름을 선택합니다. 이 이름은 서비스 계정을 식별하는 이메일 주소에 표시되며 다음 형식을 사용합니다.

service-account-name@project-id.iam.gserviceaccount.com

서비스 계정을 만드는 방법을 알아보려면 서비스 계정 만들기를 참조하세요.

기본 서비스 계정

기본 서비스 계정은 특정 Google Cloud 서비스를 사용 설정하거나 사용할 때 자동으로 생성되는 사용자 관리형 서비스 계정입니다. 이러한 서비스 계정을 사용하면 서비스가 다른 Google Cloud 리소스에 액세스하는 작업을 배포할 수 있습니다. 기본 서비스 계정을 만든 후에는 직접 관리해야 합니다.

애플리케이션이 기본 서비스 계정이 있는 Google Cloud 환경에서 실행되는 경우 애플리케이션은 기본 서비스 계정의 사용자 인증 정보를 사용하여 Google Cloud API를 호출할 수 있습니다. 또는 자체 사용자 관리형 서비스 계정을 만들어 인증에 사용할 수 있습니다. 자세한 내용은 애플리케이션 기본 사용자 인증 정보 설정을 참조하세요.

다음 표에는 기본 서비스 계정을 만드는 서비스가 나와 있습니다.

서비스 서비스 계정 이름 이메일 주소
App Engine 및 App Engine을 사용하는 모든 Google Cloud 서비스 App Engine 기본 서비스 계정 project-id@appspot.gserviceaccount.com
Compute Engine 및 Compute Engine을 사용하는 모든 Google Cloud 서비스 Compute Engine 기본 서비스 계정 project-number-compute@developer.gserviceaccount.com

Google 관리형 서비스 계정

일부 Google Cloud 서비스는 사용자를 대신하여 작업을 실행할 수 있도록 리소스에 대한 액세스 권한이 필요합니다. 예를 들어 Cloud Run을 사용하여 컨테이너를 실행할 때 서비스는 컨테이너를 트리거할 수 있는 모든 Pub/Sub 주제에 액세스할 수 있어야 합니다.

이러한 요구사항을 충족하기 위해 Google은 많은 Google Cloud 서비스의 서비스 계정을 만들고 관리합니다. 이러한 서비스 계정을 Google 관리형 서비스 계정이라고 합니다. 프로젝트의 허용 정책, 감사 로그, Google Cloud 콘솔의 IAM 페이지에서 Google 관리형 서비스 계정이 표시될 수 있습니다.

Google 관리형 서비스 계정은 프로젝트에 생성되지 않으므로, 프로젝트의 서비스 계정을 볼 때 표시되지 않습니다.

Google에는 다음과 같은 유형의 Google 관리형 서비스 계정이 있습니다.

공개 상태

Google 관리형 서비스 계정은 Google Cloud 콘솔의 서비스 계정 페이지에 나열되지 않습니다. 이러한 서비스 계정은 프로젝트에 위치하지 않으며 직접 액세스할 수 없습니다.

기본적으로 Google 관리형 서비스 계정은 프로젝트에 대한 역할을 부여받았더라도 Google Cloud 콘솔의 IAM 페이지에 나열되지 않습니다. Google 관리형 서비스 계정에 대한 역할 부여를 보려면 Google 제공 역할 부여 포함 체크박스를 선택하세요.

서비스별 서비스 에이전트

서비스 에이전트는 개별 서비스를 대신하는 Google 관리형 서비스 계정입니다. 대부분의 경우 서비스가 제대로 작동하려면 이러한 서비스 에이전트가 필요합니다. 예를 들어 서비스 에이전트는 Cloud Logging 싱크가 Cloud Storage 버킷에 로그를 작성하도록 허용합니다.

각 서비스 에이전트는 리소스와 연결됩니다. 이 리소스는 일반적으로 프로젝트, 폴더 또는 조직이지만 서비스별 리소스일 수도 있습니다(예: Cloud SQL 인스턴스). 이 리소스는 서비스 에이전트의 작업 범위를 정의합니다. 예를 들어 서비스 에이전트가 프로젝트와 연결된 경우 프로젝트 및 프로젝트의 하위 리소스에 대한 서비스 대신 작업을 수행합니다.

이메일 주소를 보고 서비스 에이전트가 연결된 리소스 유형을 확인할 수 있습니다.

  • 서비스 에이전트가 프로젝트, 폴더 또는 조직과 연결되어 있는 경우 이메일 주소에는 해당 프로젝트, 폴더 또는 조직의 숫자 ID가 포함됩니다.
  • 서비스 에이전트가 서비스별 리소스와 연결된 경우 이메일 주소에는 숫자 프로젝트 ID와 고유 식별자가 포함됩니다. 숫자 프로젝트 ID는 서비스 에이전트가 연결된 리소스를 소유하는 프로젝트를 나타냅니다. 고유 식별자는 동일한 프로젝트에 있는 다른 유사한 서비스 에이전트와 서비스 에이전트를 구분합니다.

서비스 에이전트 만들기

서비스 에이전트가 생성되는 정확한 시간은 연결된 리소스 유형에 따라 다릅니다.

리소스를 만들 때 서비스별 리소스와 연결된 서비스 에이전트가 생성됩니다. 이러한 서비스 에이전트를 식별하고 구성하는 방법에 대한 자세한 내용은 연관된 리소스 문서를 참조하세요.

프로젝트, 폴더, 조직과 연결된 서비스 에이전트는 일반적으로 서비스를 처음 사용할 때 필요에 따라 생성됩니다. 필요한 경우 서비스를 사용하기 전에 Google Cloud에 서비스의 서비스 에이전트를 만들도록 요청할 수도 있습니다. 자세한 내용은 서비스 에이전트 만들기 및 서비스 에이전트 부여를 참조하세요.

서비스 에이전트 역할

Google Cloud의 일부 작업에서는 서비스 에이전트가 사용자 대신 리소스를 만들고 액세스해야 합니다. 예를 들어 Dataproc 클러스터를 만들 때 Dataproc 서비스 에이전트는 클러스터를 만들기 위해 프로젝트에 Compute Engine 인스턴스를 만들 수 있는 권한이 필요합니다.

이 액세스 권한을 얻으려면 서비스 에이전트에 특정 IAM 역할이 필요합니다. 많은 프로젝트 수준의 서비스 에이전트에는 필요한 역할이 자동으로 부여됩니다. 자동으로 부여된 역할의 이름은 일반적으로 serviceAgent 또는 ServiceAgent로 끝납니다. 다른 서비스 에이전트의 경우 서비스가 올바르게 작동할 수 있도록 역할을 부여해야 합니다. 자동으로 부여되는 서비스 에이전트를 확인하려면 서비스 에이전트 참조를 확인하세요.

서비스를 사용하기 전에 Google Cloud에 서비스 에이전트를 만들도록 요청하는 경우 서비스 에이전트에 일반적으로 자동으로 부여되는 역할을 부여해야 합니다. 이는 사용자 요청에서 생성된 서비스 에이전트에는 역할이 자동으로 부여되지 않기 때문입니다. 서비스 에이전트에 이러한 역할을 부여하지 않으면 일부 서비스가 제대로 작동하지 않을 수 있습니다. 서비스 에이전트에 이러한 역할을 부여하는 방법은 서비스 에이전트에 역할 생성 및 부여를 참조하세요.

기본 서비스 에이전트

서비스 에이전트 참조에서 일부 서비스 에이전트는 기본 서비스 에이전트로 식별됩니다. 기본 서비스 에이전트는 서비스의 서비스 에이전트 만들기를 트리거할 때 이메일 주소가 반환되는 서비스 에이전트입니다.

Google API 서비스 에이전트

프로젝트의 허용 정책은 project-number@cloudservices.gserviceaccount.com 형식을 사용하는 이메일 주소와 함께 Google API 서비스 에이전트라는 서비스 계정을 참조할 가능성이 높습니다.

이 서비스 계정은 사용자 대신 내부 Google 프로세스를 실행합니다. 여기에는 프로젝트에 대한 편집자 역할(roles/editor)이 자동으로 부여됩니다.

Google 관리형 서비스 계정의 역할 관리자

IAM의 감사 로그는 서비스 계정 service-agent-manager@system.gserviceaccount.com을 참조할 수 있습니다.

이 서비스 계정은 서비스 에이전트에 부여된 역할을 관리합니다. 이 계정은 감사 로그에서만 볼 수 있습니다.

예를 들어 새로운 API를 사용하는 경우 Google은 자동으로 새 서비스 에이전트를 만들고 프로젝트에 역할을 부여할 수 있습니다. 이러한 역할을 부여하면 service-agent-manager@system.gserviceaccount.com이 프로젝트의 허용 정책을 설정했음을 나타내는 감사 로그 항목이 생성됩니다.

다음 단계

직접 사용해 보기

Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.

무료로 시작하기