조직: Example Inc.라는 회사에서 exampleinc.org라는 Google Cloud조직을 만듭니다.
프로젝트: Example Inc.는 여러 애플리케이션을 빌드하며 각 애플리케이션은 프로젝트와 연결됩니다. 각 프로젝트에는 자체 Cloud Storage API 세트와 기타 리소스가 있습니다.
버킷: 각 프로젝트에는 객체를 저장할 컨테이너인 버킷이 여러 개 포함될 수 있습니다. 예를 들어 앱이 생성하는 모든 이미지 파일을 위한 photos 버킷 및 별도의 videos 버킷을 만들 수 있습니다.
객체: 각 버킷에는 puppy.png라는 이미지와 같은 개별객체를 본질적으로 무제한 포함할 수 있습니다.
관리형 폴더: 각 버킷에는 여러 관리형 폴더가 포함될 수 있으며, 이러한 폴더는 전체 버킷에 부여된 액세스 권한 이상의 추가 액세스 권한을 부여합니다.
이 추가 액세스 권한은 관리형 폴더 이름과 일치하는 프리픽스가 있는 객체에 적용됩니다. 예를 들어 지정된 사용자에게 animals/puppy.png 및 animals/kitten.png와 같은 객체에 대한 추가 액세스 권한을 부여하는 animals/ 관리형 폴더를 만들 수 있습니다.
계층적 네임스페이스가 사용 설정된 버킷: 버킷에 계층적 네임스페이스가 사용 설정될 수 있습니다. 계층적 네임스페이스가 사용 설정된 버킷은 데이터를 논리적 파일 시스템 구조에 저장할 수 있습니다. 폴더 관리 작업은 폴더 만들기, 삭제, 나열, 이름 바꾸기 등의 안정성과 관리 기능을 제공합니다. 계층적 네임스페이스는 분석, AI, ML 워크로드와 같은 데이터 집약적인 작업에 유용합니다. 계층적 네임스페이스가 사용 설정되지 않은 버킷에 비해 객체 읽기 및 쓰기에 대한 초기 QPS 한도가 최대 8배 더 높기 때문입니다.
Terraform: Terraform은 Cloud Storage의 인프라를 프로비저닝하는 데 사용할 수 있는 코드형 인프라(IaC) 도구입니다.
Cloud Storage FUSE: Cloud Storage FUSE를 사용하면 Cloud Storage 버킷을 로컬 파일 시스템에 마운트할 수 있습니다. 이렇게 하면 애플리케이션이 표준 파일 시스템 시맨틱스를 사용하여 버킷에서 읽거나 버킷에 쓸 수 있습니다.
gRPC: gRPC를 사용하면 Cloud Storage와 상호작용할 수 있습니다. gRPC는 Google에서 개발한 고성능, 오픈소스 범용 RPC 프레임워크로, 프로토콜 버퍼를 사용하여 서비스를 정의하는 데 사용할 수 있습니다.
데이터 보안
객체를 Cloud Storage에 업로드하면 데이터를 보호하고 공유하는 방법을 세밀하게 제어할 수 있습니다. 다음은 Cloud Storage에 업로드하는 데이터를 보호하는 몇 가지 방법입니다.
Identity and Access Management: IAM을 사용하여 Google Cloud 프로젝트의 리소스에 액세스할 수 있는 사용자를 관리합니다. 리소스에는 Cloud Storage 버킷과 객체는 물론 Compute Engine 인스턴스와 같은 다른 Google Cloud 항목도 포함됩니다. update, create, delete 등 버킷과 객체에 대한 특정 유형의 액세스 권한을 주 구성원에게 부여할 수 있습니다.
소프트 삭제: 최근에 삭제된 객체와 버킷을 보존하여 실수로 인한 삭제나 악의적인 삭제로부터 데이터 영구 손실을 방지합니다. 기본적으로 Cloud Storage는 보관 기간이 7일인 모든 버킷에 소프트 삭제를 사용 설정합니다.
객체 버전 관리: 객체 버전 관리를 사용 설정하면 교체되거나 삭제되는 객체의 라이브 버전을 현재 외 버전으로 유지할 수 있습니다.
버킷 IP 필터링: 버킷 IP 필터링을 사용하면 요청의 소스 IP 주소를 기반으로 버킷에 대한 액세스를 제한하고 특정 IP 주소 또는 가상 프라이빗 클라우드(VPC)의 무단 액세스로부터 데이터를 보호할 수 있습니다.
리소스 이름
각 리소스에는 파일 이름과 마찬가지로 리소스를 식별하는 고유 이름이 있습니다.
버킷에는 projects/_/buckets/BUCKET_NAME 형태의 리소스 이름이 있으며, 여기서 BUCKET_NAME은 버킷 ID입니다. 객체에는 projects/_/buckets/BUCKET_NAME/objects/OBJECT_NAME 형태의 리소스 이름이 있으며, 여기서 OBJECT_NAME은 객체 ID입니다.
리소스 이름 끝에 추가되는 #NUMBER는 객체의 특정 세대를 나타냅니다. #0은 객체의 가장 최신 버전을 나타내는 특별 식별자입니다. 객체 이름이 문자열 끝에 있어 세대 번호로 해석될 우려가 있는 경우에 #0을 추가하면 유용합니다.
[[["이해하기 쉬움","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-05(UTC)"],[],[],null,["# Product overview of Cloud Storage\n\nThis page provides an overview of Cloud Storage and how it works.\n\nCloud Storage is a service for storing your [*objects*](/storage/docs/objects) in\nGoogle Cloud. An object is an immutable piece of data consisting of a file of\nany format. You store objects in containers called [*buckets*](/storage/docs/buckets).\n\nAll buckets are associated with a [*project*](/storage/docs/projects), and you can group your\nprojects under an [*organization*](/resource-manager/docs/cloud-platform-resource-hierarchy#organizations). Each project, bucket, managed folder,\nand object in Google Cloud is a *resource* in Google Cloud, as are things such\nas [Compute Engine instances](/compute/docs/instances).\n\nAfter you create a project, you can [create Cloud Storage buckets](/storage/docs/creating-buckets),\n[upload objects](/storage/docs/uploading-objects) to your buckets, and [download objects](/storage/docs/downloading-objects) from your\nbuckets. You can also grant permissions to make your data accessible to\nprincipals you specify or [accessible to everyone on the public internet](/storage/docs/access-control/making-data-public).\n\nThe Google Cloud hierarchy\n--------------------------\n\nHere's how the Cloud Storage structure can apply to a real-world case:\n\n- **Organization** : Your company, called Example Inc., creates a Google Cloud\n organization called `exampleinc.org`.\n\n- **Project**: Example Inc. is building several applications, and each one is\n associated with a project. Each project has its own set of\n Cloud Storage APIs, as well as other resources.\n\n- **Bucket** : Each project can contain multiple buckets, which are containers to\n store your objects. For example, you might create a `photos` bucket for all the\n image files your app generates and a separate `videos` bucket.\n\n- **Object** : Each bucket can contain essentially unlimited individual objects,\n such as an image called `puppy.png`.\n\n- **Managed folder** : Each bucket can also contain multiple\n [managed folders](/storage/docs/managed-folders), which grant additional access beyond the access granted\n to the overall bucket.\n This additional access applies to objects that have a prefix matching the\n managed folder name. For example, you might create an `animals/` managed folder,\n which gives designated users additional access to objects such as\n `animals/puppy.png` and `animals/kitten.png`.\n\n- **Hierarchical namespace enabled buckets** : Buckets can have\n [hierarchical namespace](/storage/docs/hns-overview) enabled. Buckets with hierarchical namespace\n enabled can store your data in a logical file system structure. The folder\n management operations provide reliability and management capabilities, including\n creating, deleting, listing, and renaming folders. Hierarchical namespace is\n beneficial for data-intensive tasks like analytics, AI, and ML workloads as they\n offer up to 8 times higher initial QPS limits for reading and writing objects\n compared to buckets without hierarchical namespace enabled.\n\nBasic tools for Cloud Storage\n-----------------------------\n\nHere are some basic ways you can interact with Cloud Storage:\n\n- **Console** : The [Google Cloud console](https://console.cloud.google.com/storage/browser) provides a visual interface for\n you to manage your data in a browser.\n\n- **Google Cloud CLI** : The [gcloud CLI](/sdk/gcloud) allows you to interact\n with Cloud Storage through a terminal using\n [`gcloud storage` commands](/sdk/gcloud/reference/storage).\n\n- **Client libraries** : The Cloud Storage [client libraries](/storage/docs/reference/libraries) allow\n you to manage your data using one of your preferred languages, including C++,\n C#, Go, Java, Node.js, PHP, Python, and Ruby.\n\n- **REST APIs** : Manage your data using the [JSON](/storage/docs/json_api) or [XML](/storage/docs/xml-api/overview) API.\n\n- **Terraform** : [Terraform](https://www.terraform.io/) is an infrastructure-as-code (IaC)\n tool that you can use to provision the infrastructure for\n Cloud Storage.\n\n- **Cloud Storage FUSE** : [Cloud Storage FUSE](/storage/docs/gcs-fuse) lets you mount Cloud Storage\n buckets to your local file system. This enables your applications to read from\n a bucket or write to a bucket by using standard file system semantics.\n\n- **gRPC** : [gRPC](/storage/docs/enable-grpc-api) lets you interact with Cloud Storage. gRPC\n is a high performance, open source universal RPC framework developed by Google\n that you can use to define your services using Protocol Buffers.\n\nSecuring your data\n------------------\n\nOnce you upload your objects to Cloud Storage, you have fine-grained\ncontrol over how you secure and share your data. Here are some ways to secure\nthe data you upload to Cloud Storage:\n\n- **Identity and Access Management** : Use [IAM](/storage/docs/access-control/iam) to control who has access to the\n resources in your Google Cloud project. Resources include Cloud Storage\n buckets and objects, as well as other Google Cloud entities such as\n [Compute Engine instances](/compute/docs/instances). You can grant principals certain types of access\n to buckets and objects, such as `update`, `create`, or `delete`.\n\n- **Data encryption** : Cloud Storage uses server-side encryption to\n [encrypt your data](/storage/docs/encryption) by default. You can also use supplemental data\n encryption options such as [customer-managed encryption keys](/storage/docs/encryption/customer-managed-keys) and\n [customer-supplied encryption keys](/storage/docs/encryption/customer-supplied-keys).\n\n- **Authentication** : Ensure that anyone who accesses your data has [proper\n credentials](/storage/docs/authentication).\n\n- **Bucket Lock** : Govern how long objects in buckets must be retained by\n [specifying a retention policy](/storage/docs/using-bucket-lock).\n\n- **Soft delete** : Prevent permanent loss of data against\n accidental or malicious deletion by retaining recently deleted objects and\n buckets. By default, Cloud Storage enables [soft delete](/storage/docs/soft-delete)\n for all buckets with a seven day retention period.\n\n- **Object Versioning** : When a live version of an object is replaced or\n deleted, it can be retained as a *noncurrent version* if you\n [enable Object Versioning](/storage/docs/using-object-versioning).\n\n- **Bucket IP filtering** : With [bucket IP filtering](/storage/docs/ip-filtering-overview), you\n can restrict access to a bucket based on the source IP address of the request\n and secure your data from unauthorized access from specific IP addresses or\n Virtual Private Cloud (VPC).\n\n### Resource names\n\n| **Note:** The use of resource names within Cloud Storage is limited to [Pub/Sub Notifications for Cloud Storage](/storage/docs/pubsub-notifications) and [Identity and Access Management](/storage/docs/access-control/iam).\n\nEach resource has a unique name that identifies it, much like a filename.\nBuckets have a resource name in the form of\n`projects/_/buckets/`\u003cvar translate=\"no\"\u003eBUCKET_NAME\u003c/var\u003e, where\n\u003cvar translate=\"no\"\u003eBUCKET_NAME\u003c/var\u003e is the ID of the bucket. Objects have a\nresource name in the form of\n`projects/_/buckets/`\u003cvar translate=\"no\"\u003eBUCKET_NAME\u003c/var\u003e`/objects/`\u003cvar translate=\"no\"\u003eOBJECT_NAME\u003c/var\u003e,\nwhere \u003cvar translate=\"no\"\u003eOBJECT_NAME\u003c/var\u003e is the ID of the object.\n\nA `#`\u003cvar translate=\"no\"\u003eNUMBER\u003c/var\u003e appended to the end of the resource name\nindicates a specific generation of the object. `#0` is a special identifier for\nthe most recent version of an object. `#0` is useful to add when the name of\nthe object ends in a string that would otherwise be interpreted as a generation\nnumber.\n\nQuickstart guides\n-----------------\n\nTo learn the fundamentals of using Cloud Storage, visit the following\nguides:\n\n- [Google Cloud console quickstart](/storage/docs/discover-object-storage-console)\n- [gcloud quickstart](/storage/docs/discover-object-storage-gcloud)\n- [Terraform quickstart](/storage/docs/terraform-create-bucket-upload-object)\n\nWhat's next\n-----------\n\n- Learn the fundamentals of Cloud Storage through the [Google Cloud console](/storage/docs/discover-object-storage-console) or [Google Cloud CLI](/storage/docs/discover-object-storage-gcloud).\n- Try [Google Cloud jump start solutions that use Cloud Storage](/architecture/storage).\n- Get started with [client libraries](/storage/docs/reference/libraries).\n- Quickly import online data into Cloud Storage or between Cloud Storage buckets using [Storage Transfer Service](/storage-transfer/docs/overview)."]]