이 페이지에서는 Google Cloud 콘솔 프로젝트와 Cloud Storage 리소스 간의 관계를 설명합니다. Google Cloud 콘솔 프로젝트에 대한 전반적인 내용은 Google Cloud의 프로젝트를 참조하세요.
프로젝트란 무엇인가요?
프로젝트는 모든 Google Cloud 리소스를 구성합니다. Cloud Storage의 모든 데이터는 프로젝트에 귀속됩니다. 프로젝트는 사용자 집합, API 집합, 그리고 해당 API에 대한 청구, 인증, 모니터링 설정으로 구성됩니다. 예를 들어 모든 Cloud Storage 버킷과 객체는 액세스할 수 있는 사용자 권한과 함께 프로젝트에 상주합니다. 프로젝트가 하나만 있거나 프로젝트를 여러 개 만들 수 있으며 이를 사용하여 Cloud Storage 데이터를 포함한 Google Cloud 리소스를 논리적 그룹으로 구성할 수 있습니다.
프로젝트를 지정하는 경우
대부분의 경우, Cloud Storage에서 작업 수행 시 프로젝트를 지정할 필요가 없습니다. 하지만 다음의 경우에는 프로젝트 ID나 프로젝트 번호를 포함시켜야 합니다.
콘솔
Cloud Storage를 Google Cloud 콘솔과 함께 사용하는 경우 사용자는 프로젝트와 자동으로 연결됩니다. Google Cloud 콘솔 창 상단에 있는 드롭다운 메뉴를 사용하여 프로젝트를 변경할 수 있습니다.
요청자 지불을 사용 설정한 버킷에 처음 액세스하면 청구를 요청할 프로젝트를 선택하라는 메시지가 나타납니다. 버킷의 객체 목록 위에 있는 프로젝트 변경 버튼을 사용하여 이후의 결제 프로젝트를 변경할 수 있습니다.
명령줄
다음 명령어는 명령어에 전역 --project
플래그를 사용하여 다른 프로젝트를 지정하지 않는 한 Google Cloud CLI 구성에 설정된 project
속성을 사용합니다.
storage buckets create
storage ls
(버킷 나열 시) 및storage buckets list
storage service-agent
storage hmac create
및storage hmac list
프로젝트 식별자와 함께 전역 --billing-project
플래그를 사용하여 버킷 액세스에 대해 청구할 프로젝트를 표시합니다. 이 플래그는 요청자 지불을 사용 설정한 버킷에 액세스할 때 필요하며 다른 경우에는 선택사항입니다.
클라이언트 라이브러리
Cloud Storage 클라이언트 라이브러리에서는 JSON API와 동일한 환경에서 프로젝트를 지정해야 합니다.
JSON API
다음 메서드를 사용하려면 프로젝트를 지정해야 합니다.
- 버킷 나열
- 버킷 삽입
- 프로젝트 서비스 에이전트 가져오기
- HMAC 키 리소스와 연관된 모든 메서드
프로젝트는 다음 예시와 같이 요청 URL에 매개변수로 전송됩니다.
GET https://storage.googleapis.com/storage/v1/b?project=PROJECT_IDENTIFIER
버킷 액세스 요금을 청구할 프로젝트를 나타내려면 다음 예시와 같이 프로젝트 식별자와 함께 'userProject' 쿼리 매개변수를 사용합니다.
GET https://storage.googleapis.com/storage/v1/b?userProject=PROJECT_IDENTIFIER
이 쿼리 매개변수는 요청자 지불을 사용 설정한 버킷에 액세스할 때 필요하며 다른 경우에는 선택사항입니다.
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
이 헤더는 요청자 지불을 사용 설정한 버킷에 액세스할 때 필요하며 다른 경우에는 선택사항입니다.
프로젝트 및 권한
각 프로젝트에 대해 Identity and Access Management(IAM)를 사용하여 프로젝트를 관리하고 작업할 수 있는 기능을 부여합니다. 사용자 계정과 같은 주 구성원에게 IAM 역할을 부여하면 이 구성원에게 작업을 수행할 수 있는 특정 권한이 부여됩니다. 프로젝트 수준의 역할을 부여하면 역할에서 제공하는 액세스 권한은 프로젝트 내의 모든 버킷과 객체에 적용됩니다. 또는 개별 버킷에 역할을 부여하면 역할에서 제공하는 액세스 권한은 해당 버킷과 버킷에 포함된 객체로 제한됩니다.
Cloud Storage에 적용되는 사용 가능한 역할 목록과 함께 기본 역할이라고 하는 특수 역할 집합을 Cloud Storage에 적용하는 방법은 Cloud Storage IAM 역할을 참조하세요.
주 구성원의 역할을 버킷 및 프로젝트 수준에서 확인, 부여, 취소하는 방법에 대한 안내는 프로젝트에 IAM 사용을 참조하세요.
서비스 계정
서비스 계정을 사용하면 애플리케이션에서 Google Cloud 리소스 및 서비스를 인증하고 액세스할 수 있습니다. 예를 들어 Compute Engine 인스턴스가 Cloud Storage 버킷에 저장된 객체에 액세스하는 데 사용하는 서비스 계정을 만들 수 있습니다. 서비스 계정은 프로젝트 내에서 생성되며 프로젝트 계정을 식별하는 고유한 이메일 주소를 가집니다.
다음은 사용자가 만들고 관리하는 서비스 계정에서 주로 수행하는 Cloud Storage와 관련된 작업의 예시입니다.
서비스 에이전트
서비스 에이전트는 Google Cloud 서비스를 대신하여 작동하는 특수한 유형의 서비스 계정입니다. Cloud Storage는 다음과 같은 기능에 서비스 에이전트를 사용합니다.
Cloud Storage 서비스 에이전트는 프로젝트를 만든 후 바로 사용할 수 없습니다. 대신 위에서 나열한 기능 중 하나에서 처음으로 액세스하거나 서비스 에이전트 이름을 요청할 때 자동으로 활성화됩니다. 서비스 에이전트는 권한을 할당하기 전에 활성화되어야 합니다.
다음은 프로젝트 번호 123456789876
과 연관된 Cloud Storage 서비스 에이전트의 이메일 주소 예시입니다.
service-123456789876@gs-project-accounts.iam.gserviceaccount.com
다음 단계
- Cloud Storage 빠른 시작 중 하나 완료
- 새 프로젝트 만들기 및 기존 프로젝트 관리 방법 알아보기
- Google Cloud 콘솔을 사용하여 데이터 관리 방법 알아보기
- 프로젝트의 서비스 계정 관리