이 페이지에서는 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 콘솔 창 상단에 있는 드롭다운 메뉴를 사용하여 프로젝트를 변경할 수 있습니다.
요청자 지불을 사용 설정한 버킷에 처음 액세스하면 청구를 요청할 프로젝트를 선택하라는 메시지가 나타납니다. 버킷의 객체 목록 위에 있는 프로젝트 변경 버튼을 사용하여 이후의 결제 프로젝트를 변경할 수 있습니다.
이러한 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와 관련된 작업의 예시입니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-03(UTC)"],[],[],null,["# Projects\n\nThis page describes the relationship between Google Cloud console projects and\nCloud Storage resources. To learn more about Google Cloud console projects\nin general, read about [Projects](/docs/overview#projects) in Google Cloud.\n\nWhat is a project?\n------------------\n\nA project organizes all your Google Cloud resources. All data in\nCloud Storage belongs inside a project. A project consists of a set of\nusers; a set of APIs; and billing, authentication, and monitoring settings for\nthose APIs. So, for example, all of your Cloud Storage buckets and objects,\nalong with user permissions for accessing them, reside in a project. You can\nhave one project, or you can create multiple projects and use them to organize\nyour Google Cloud resources, including your Cloud Storage data, into logical\ngroups.\n\nWhen to specify a project\n-------------------------\n\nMost of the time, you do not need to specify a project when performing actions\nin Cloud Storage; however you should include either the project ID or\nthe project number in the following cases: \n\n### Console\n\n- When using Cloud Storage with the Google Cloud console, you're\n automatically associated with a project. You can change projects by using\n the drop-down menu at the top of the Google Cloud console window.\n\n- When first accessing a bucket that has enabled [Requester Pays](/storage/docs/requester-pays),\n you're prompted to select a project to bill requests to. You can\n subsequently change the billing project by using the **Change project**\n button located above the list of objects in the bucket.\n\n### Command line\n\nThe following commands use the [`project` property](/sdk/gcloud/reference/config/set) set in your\nGoogle Cloud CLI configuration, unless you use the\n[global `--project` flag](/sdk/gcloud/reference#--project) in the command to specify a different project:\n\n- [`storage buckets create`](/sdk/gcloud/reference/storage/buckets/create)\n- [`storage ls`](/sdk/gcloud/reference/storage/ls) (when listing buckets) and [`storage buckets list`](/sdk/gcloud/reference/storage/buckets/list)\n- [`storage service-agent`](/sdk/gcloud/reference/storage/service-agent)\n- [`storage hmac create`](/sdk/gcloud/reference/storage/hmac/create) and [`storage hmac list`](/sdk/gcloud/reference/storage/hmac/list)\n\nUse the [global `--billing-project` flag](/sdk/gcloud/reference#--billing-project), along with a project\nidentifier, to indicate the project to charge for bucket access. This is\nrequired when accessing a bucket that has enabled [Requester Pays](/storage/docs/requester-pays)\nand is optional otherwise.\n\n### Client libraries\n\nThe [Cloud Storage Client Libraries](/storage/docs/reference/libraries) require a project to\nbe specified under the same circumstances as the JSON API.\n\n### JSON API\n\nThe following methods require you to specify a project:\n\n- [List buckets](/storage/docs/json_api/v1/buckets/list)\n- [Insert bucket](/storage/docs/json_api/v1/buckets/insert)\n- [Get project service agent](/storage/docs/json_api/v1/projects/serviceAccount/get)\n- All methods associated with the [HMAC key resource](/storage/docs/json_api/v1/projects/hmacKeys)\n\nThe project is sent as a parameter in the request URL, as in the following\nexample: \n\n```\nGET https://storage.googleapis.com/storage/v1/b?project=PROJECT_IDENTIFIER\n```\n\n- To indicate a project to charge for bucket access, use the 'userProject'\n query paratemer, along with a project identifier, as in the following\n example:\n\n ```\n GET https://storage.googleapis.com/storage/v1/b?userProject=PROJECT_IDENTIFIER\n ```\n\n This query parameter is required when accessing a\n bucket that has enabled [Requester Pays](/storage/docs/requester-pays) and is optional otherwise.\n\n### XML API\n\nThe following requests require you to specify a project, unless you have\n[set a default project](/storage/docs/aws-simple-migration#defaultproj) for interoperable access:\n\n- [List buckets](/storage/docs/xml-api/get-service)\n- [Create a bucket](/storage/docs/xml-api/put-bucket-create)\n\nThe project associated with these XML API requests is specified in the\n[`x-goog-project-id`](/storage/docs/xml-api/reference-headers#xgoogprojectid) HTTP header, as in the following example: \n\n```\nx-goog-project-id: PROJECT_ID\n```\n\nThe header is optional for other XML API requests.\n\n- To indicate a project to charge for bucket access, use the\n 'x-goog-user-project' header, along with a project ID, as in the following\n example:\n\n ```\n x-goog-user-project: PROJECT_ID\n ```\n\n This header is required when accessing a bucket that has enabled\n [Requester Pays](/storage/docs/requester-pays) and is optional otherwise.\n\nProjects and permissions\n------------------------\n\nFor each project, you use [Identity and Access Management (IAM)](/storage/docs/access-control/iam) to grant the ability\nto manage and work on your project. When you grant an IAM *role*\nto a *principal* , such as a user account, that principal obtains certain\n*permissions* that allow them to perform actions. When you grant a role at the\nproject level, the access provided by the role applies to every bucket and\nobject within the project. Alternatively, when you grant a role for an\nindividual bucket, the access provided by the role is limited to just that\nbucket and the objects the bucket contains.\n\nFor a list of available roles that apply to Cloud Storage, as well as\na discussion about how a special set of roles, called *basic roles* , apply to\nCloud Storage, see\n[Cloud Storage IAM roles](/storage/docs/access-control/iam-roles).\n\nFor instructions for viewing, granting, and revoking a principal's roles at the\nbucket and project level, see [Using IAM with projects](/storage/docs/access-control/using-iam-permissions).\n\nService accounts\n----------------\n\n[Service accounts](/iam/docs/service-accounts) allow applications to authenticate and access\nGoogle Cloud resources and services. For example, you can create a service\naccount that your Compute Engine instances use to access objects stored\nin Cloud Storage buckets. Service accounts are created within a project\nand have a unique email address that identifies them.\n\nThe following are examples of actions related to Cloud Storage that are\noften taken by service accounts that [you create and manage](/iam/docs/creating-managing-service-accounts):\n\n- Performing [Storage Transfer Service](/storage-transfer/docs/overview) transfers.\n- [Moving data to/from Cloud SQL instances](/sql/docs/mysql/import-export).\n- Creating [signed URLs](/storage/docs/access-control/signed-urls).\n\n### Service agents\n\nA [service agent](/iam/docs/service-agents) is a special type of service account that acts on\nbehalf of a Google Cloud service. Cloud Storage uses a service\nagent for the following features:\n\n- [Pub/Sub Notifications for Cloud Storage](/storage/docs/pubsub-notifications).\n- [Customer-Managed Encryption Keys](/storage/docs/encryption/customer-managed-keys).\n\nThe Cloud Storage service agent is not initially available when you\nmake a project. Instead, it is automatically activated the first time it's\naccessed, either by one of the features listed above or when you\n[request the service agent's name](/storage/docs/getting-service-agent). The service agent must be activated\nprior to [assigning permissions](/storage/docs/access-control/using-iam-permissions) to it.\n\nThe following is an example email address for the Cloud Storage service\nagent associated with [project number](/resource-manager/docs/creating-managing-projects#identifying_projects) `123456789876`: \n\n```\nservice-123456789876@gs-project-accounts.iam.gserviceaccount.com\n```\n\nWhat's next\n-----------\n\n- Complete one of the [Cloud Storage quickstarts](/storage/docs/introduction#quickstarts).\n- Learn how to [create a new project and manage existing projects](/resource-manager/docs/creating-managing-projects).\n- Find out how to [use the Google Cloud console to manage your data](/storage/docs/cloud-console).\n- [Manage your project's service accounts](https://console.cloud.google.com/iam-admin/serviceaccounts)."]]