프로젝트

이 페이지에서는 Google Cloud Console 프로젝트와 Cloud Storage 리소스 간의 관계를 설명합니다. Google Cloud Console 프로젝트에 대한 전반적인 내용은 Google Cloud 개요의 프로젝트를 참조하세요.

프로젝트란 무엇인가요?

프로젝트는 모든 Google Cloud 리소스를 구성합니다. 프로젝트는 사용자 집합, API 집합, 그리고 이러한 API에 대한 청구, 인증, 모니터링 설정으로 구성됩니다. 예를 들어 모든 Cloud Storage 버킷과 객체는 이를 액세스할 수 있는 사용자 권한과 함께 프로젝트에 상주합니다. 프로젝트를 한 개만 갖거나 여러 프로젝트를 만들 수 있으며, 이를 사용하여 Cloud Storage 데이터를 포함한 Google Cloud 리소스를 논리적 그룹으로 구성할 수 있습니다.

프로젝트를 지정하는 경우

대부분의 경우, Cloud Storage에서 작업 수행 시 프로젝트를 지정할 필요가 없습니다. 하지만 다음의 경우에는 프로젝트 ID나 프로젝트 번호를 포함시켜야 합니다.

Console

  • Cloud Storage를 Cloud Console과 함께 사용하는 경우 사용자는 프로젝트와 자동으로 연결됩니다. Cloud Console 창 상단에 있는 드롭다운 메뉴를 사용하여 프로젝트를 변경할 수 있습니다.

  • 요청자 지불을 사용 설정한 버킷에 처음 액세스하면 청구를 요청할 프로젝트를 선택하라는 메시지가 나타납니다. 버킷의 객체 목록 위에 있는 프로젝트 변경 버튼을 사용하여 이후의 청구 프로젝트를 변경할 수 있습니다.

gsutil

  • gsutil mb, gsutil lsgsutil kms 명령어의 경우 기본 프로젝트를 설정한 경우를 제외하면 프로젝트를 지정해야 합니다. 기본 프로젝트를 설정하지 않았거나 다른 프로젝트를 사용하려는 경우 -p 플래그를 사용하여 프로젝트를 지정합니다. 다른 gsutil 명령어는 프로젝트를 지정하도록 요구하지 않습니다.

  • 프로젝트 ID와 함께 -u 플래그를 사용하여 버킷 액세스 요금을 청구할 프로젝트를 나타냅니다. 이 플래그는 요청자 지불을 사용 설정한 버킷에 액세스할 때 필요하며 다른 경우에는 선택사항입니다.

JSON API

  • list bucketsinsert bucket 메서드 사용 시 프로젝트를 지정해야 합니다. 프로젝트는 다음 예와 같이 요청 URL에 매개변수로 전송됩니다.

    GET https://storage.googleapis.com/storage/v1/b?project=PROJECT_ID
  • 버킷 액세스 요금을 청구할 프로젝트를 나타내려면 다음 예와 같이 프로젝트 ID와 함께 'userProject' 쿼리 매개변수를 사용합니다.

    GET https://storage.googleapis.com/storage/v1/b?userProject=PROJECT_ID

    이 쿼리 매개변수는 요청자 지불을 사용 설정한 버킷에 액세스할 때 필요하며 다른 경우에는 선택사항입니다.

XML API

  • 버킷 나열 및 삽입 시 프로젝트를 지정합니다. 이러한 XML API 요청과 연결된 프로젝트는 다음 예시와 같이 x-goog-project-id HTTP 헤더에 지정됩니다.

    x-goog-project-id: PROJECT_ID

    다른 XML API 요청의 경우 또는 상호 운용 가능한 액세스를 위해 기본 프로젝트를 설정한 경우 이 헤더는 선택사항입니다.

  • 버킷 액세스 요금을 청구할 프로젝트를 나타내려면 다음 예와 같이 프로젝트 ID와 함께 'x-goog-user-project' 헤더를 사용합니다.

    x-goog-user-project: PROJECT_ID

    이 헤더는 요청자 지불을 사용 설정한 버킷에 액세스할 때 필요하며 다른 경우에는 선택사항입니다.

프로젝트 및 권한

각 프로젝트에 대해 ID 및 액세스 관리(IAM)를 사용하여 프로젝트를 관리하고 작업할 수 있는 기능을 부여합니다. Google 계정과 같은 구성원에게 IAM 역할을 부여하면 이 구성원에게 작업을 수행할 수 있는 특정 권한이 부여됩니다. 프로젝트 수준의 역할을 부여하면 역할에서 제공하는 액세스 권한은 프로젝트 내의 모든 버킷과 객체에 적용됩니다. 또는 개별 버킷에 역할을 부여하면 역할에서 제공하는 액세스 권한은 해당 버킷과 버킷에 포함된 객체로 제한됩니다.

Cloud Storage에 적용되는 사용 가능한 역할 목록과 함께 기본 역할이라고 하는 특수 역할 집합을 Cloud Storage에 적용하는 방법은 Cloud Storage IAM 역할을 참조하세요.

구성원의 역할을 버킷 및 프로젝트 수준에서 확인, 부여, 취소하는 안내는 프로젝트에 IAM 사용을 참조하세요.

서비스 계정

서비스 계정을 사용하면 애플리케이션에서 Google Cloud 리소스 및 서비스를 인증하고 액세스할 수 있습니다. 예를 들어 Compute Engine 인스턴스가 Cloud Storage 버킷에 저장된 객체에 액세스하는 데 사용하는 서비스 계정을 만들 수 있습니다. 서비스 계정은 프로젝트 내에서 생성되며 프로젝트 계정을 식별하는 고유한 이메일 주소를 가집니다.

다음은 사용자가 만들고 관리하는 서비스 계정에서 주로 수행하는 Cloud Storage와 관련된 작업의 예시입니다.

서비스 에이전트

서비스 에이전트는 Google Cloud 서비스를 대신하여 작동하는 특수한 유형의 서비스 계정입니다. Cloud Storage는 다음과 같은 기능에 서비스 에이전트를 사용합니다.

Cloud Storage용 서비스 에이전트에는 다음과 같은 형식의 이메일 주소가 있습니다.

service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com

여기서 PROJECT_NUMBER는 서비스 계정을 소유하는 프로젝트의 프로젝트 번호입니다.

다음 단계