Frequently Asked Questions

About Cloud Storage

How do I sign up?
Sign up for Cloud Storage by turning on the Cloud Storage service in the Google Cloud Platform Console.
How soon is my account active after I turn on the Cloud Storage service?
Your account can take a few minutes after you turn on the Cloud Storage service for it to become active.
How do I give product feedback?
From the Cloud Storage documentation click "Send feedback" near the top right of the page. This will open a feedback form. Your comments will be reviewed by the Cloud Storage team.
How do I cancel my Cloud Storage account?
To cancel your Cloud Storage account, take the following steps:
  1. Delete all your buckets and objects.

    Warning: Deleting an object or bucket is a permanent action that can not be undone. Back up any data that you want to keep before you begin deleting your buckets and objects.

    Use gsutil or Google Cloud Platform Console to remove objects and buckets.

  2. Disable the Cloud Storage services for your project.

    In the Google Cloud Platform Console, open the list of enabled APIs for your project. In the list of APIs, turn off Google Cloud Storage and Google Cloud Storage JSON API.

  3. Disable billing (optional).

    You will not incur any additional Cloud Storage charges after you remove your Cloud Storage data and disable the Cloud Storage service but you can choose to disable billing to stop receiving statements. You will receive one last bill for any remaining changes incurred between the beginning of the billing cycle and when you cancelled.

    If you have other services that are being billed to the same project, disabling billing in the Billing pane also disables billing for these services.

Note: You can choose to disable the Cloud Storage service without removing your Cloud Storage data, but you will incur storage charges for any remaining buckets or objects.

Back to top

Pricing and Support

Where can I find pricing information?
Please read the Pricing and Terms for detailed information on pricing.
How do you calculate bandwidth usage and storage usage?
We calculate bandwidth usage and storage usage in gibibytes (GiB), where 1 GiB = 230 bytes. Your bandwidth usage is the cumulative network bandwidth you used in the billing period. Your storage usage is the average storage you used in the billing period. For an example usage calculation, see Pricing and Terms.
How do I cancel billing?
You can cancel billing by clicking Disable billing in the billing settings page for your project. If you disable billing, you also disable the Cloud Storage service. Make sure you want to disable the Cloud Storage service before you disable billing. After you disable billing, you will receive one last bill that includes costs incurred between the beginning of the billing cycle to when you cancelled.

Caution: When you disable billing, it is disabled for all services in that project. You can not disable billing for individual services or APIs. For more information, see Billing in the Google Cloud Platform Console Help. section in the Cloud Platform Console help.

What are my support options?
We invite our users to post their questions on Stack Overflow. Along with the active Stack Overflow community, our team actively monitors Stack Overflow posts and answers questions with the tag google-cloud-storage.

We offer various levels of support depending on your needs. For additional support options see our Cloud Platform Support Packages.

Does Cloud Storage offer a service level agreement (SLA)?
Yes. If you provided billing information through Google Checkout you are covered under the Cloud Storage Service Level Agreement.
How do I notify Google of SLA Financial Credit eligibility?
Use the SLA Financial Credit Eligibility form.

Back to top

Getting Started

When do I need to activate Cloud Storage and enable billing?
If you want to create buckets, store data, or control who can access your data, you must activate Cloud Storage and enable billing.
Do I need to activate Cloud Storage and turn on billing if I was added to an existing Cloud Storage account or granted access to someone else's bucket?
No, in this case another individual has already set up a Cloud Storage project and added you as a project team member, or has added you to the ACLs of a bucket or object. When you are granted access in this way, you do not need to activate the Cloud Storage service to access the data. You can use the gsutil tool to set up your credentials for Cloud Storage using your Google account and read or write that data.

For information about adding project team members, see Adding a member to a project.

I am just trying to download or access some data that is available to the public. How can I do that?
You can simply use the gsutil tool to download the data without a Cloud Storage or Google account. You do not need to activate Cloud Storage or turn on billing for this purpose. You also do not need to create credentials or authenticate to Cloud Storage to access a publicly-readable object. The gsutil tool is best installed as part of the Google Cloud SDK package, but may also be downloaded and installed as a stand-alone product.

Back to top

Storage and content policy

How many times is my data replicated?
Your data is replicated in multiple data centers that are geographically distributed for greater availability.
Where is my data stored?
You can specify if you want your data stored in the United States, European Union, or Asia by specifying a bucket location when you create a bucket. If no location selection is made, your data will be stored at rest in the United States.
I believe some content hosted on your service is inappropriate, how do I report it?
Certain types of content are not allowed on this service; please refer to the Terms of Services and Platform Policies for details. If you believe a piece of content is in violation of our policies, report it here (select "See more products", then "Google Cloud Storage & Cloud Bigtable").
How can I get a summary of daily space usage?
You can use the gsutil du command to display the total space used by all objects for a specified bucket. For example, to get the total space used by all objects in the bucket "bucketname", use the command:
gsutil du -sh gs://bucketname
See the du command help for more options you can use, including how to return the size of all objects underneath a prefix.

You can also set up bucket logging where the total size of a bucket is automatically reported once a day. For more information, see Access Logs & Storage Data. If the number of objects in your bucket is large (e.g., hundreds of thousands or millions), this is a much more efficient way to track space usage. The gsutil du command calculates space usage by making bucket listing requests, which can take a long time for large buckets.
What assessments are performed on security and data protection?
Google is committed to conducting independent 3rd party assessments of security and data protection practices. Building on the SSAE 16 audit and the ISO 27001 certification for Google Apps, a new SSAE 16 / ISAE 3402 SOC 2 Type II audit was successfully completed. For more information, see Google Apps, Vault and Cloud Platform components complete SSAE 16 audit.

Back to top

Use with other Google services

Can I use Cloud Storage to upload files to Google Docs?
No, Cloud Storage is not integrated with Google Docs.
Can I use Cloud Storage with my Google Apps account?
Yes, you can use your Google Apps account with Cloud Storage.
Google Storage and Google Drive — which storage API should my application use?

Google provides two different storage services: Google Cloud Storage, and Google Drive. Both services allow programmatic access to their functionality, but the goals of the APIs are quite different. The Google Drive SDK works together with the Google Drive UI and the Chrome Web Store to create an ecosystem of apps that can be installed into Google Drive. These apps enhance the user experience by allowing users to interact with their data in novel ways. For instance, a user could install a Drive app to edit images or fax PDF files, and could create and open files with those apps directly in Google Drive.

Cloud Storage is intended to be accessed primarily through its API and provides all the functionality necessary for developers to use it as a backing store for their own applications. For example, a developer could store and host media and other static assets for a web game in Cloud Storage. Cloud Storage can also be used for online archives, large scale computations in Google Compute Engine, and so on.

This illustrates the primary difference between the two APIs: Cloud Storage enables developers to store their application data in the Google cloud (and they’re responsible for the storage their app consumes), whereas in Drive, users allow apps to interact with the user’s private storage and content.

For an overview of Google storage options, including a video explaining the differences between the options, see Storing Your Data.

Back to top

Managing Data Access

How do I change the owner of an object?
You cannot change the owner of an object by modifying ACLs. However, you can change the owner of an object by having the new owner read the object's metadata (to preserve ACLs and other metadata) and overwrite the object with new object that has the same metadata. To do this, the new owner must have FULL_CONTROL permission on the object you want to modify and WRITE or FULL_CONTROL permission on the bucket in which the object is stored.
How do I change the owner of a bucket?
You cannot do this. A bucket is always owned by the project owners group of the Google APIs Console project it was created in.
I want to let someone download an object. How do I do that?
You can share an object with a user or group by granting READ permission on the object you want to share. You can specify a user or a group by email address (for example, jane@gmail.com or gs-discussion@googlegroups.com) or by the Google Storage ID that's associated with the user or group.
What is a Google Cloud Storage ID?
A Google Cloud Storage ID is a string of 64 hexadecimal characters that uniquely identifies a user or a Google group. The Cloud Storage system uses Google Cloud Storage IDs to determine the scope of a given permission.
How can I determine the Google Cloud Storage ID of a user or group?
If the user has a Cloud Storage account you can ask them for their Google Cloud Storage ID. Any user who has a Cloud Storage account can look up their Google Cloud Storage ID by doing the following:
  1. Open the Cloud Storage Settings page in the Google Cloud Platform Console.
  2. Your ID will be listed under "You".

If you are not certain whether the user has a Cloud Storage account, or if you want to find the Google Cloud Storage ID for a group, you can do this:

  1. Upload a new object or create a new bucket with default (project-private) permissions.
  2. Grant the user or group READ permission to the object or bucket by using the user's or group's email address.
  3. Retrieve the ACLs for the object or bucket. The user's or group's Google Cloud Storage ID will be listed as the scope for the READ permission.

You can also retrieve the Google Cloud Storage IDs of a project Team, a project Editors group, or a project Owners group by following the same steps for retrieving your ID shown above. For more information, see Finding Google Cloud Storage IDs.

What happens if a tool or library uses another storage provider's ACL syntax?

When using the XML API for interoperable access with other storage services, such as Amazon S3, the signature identifier determines the ACL syntax. For example, if the tool or library you are using makes a request to Cloud Storage to retrieve ACLs (for example, a GET Object or GET Bucket request), and the request uses another storage provider's signature identifier, then Cloud Storage returns an XML document that uses the corresponding storage provider's ACL syntax. If the tool or library you are using makes a request to Cloud Storage to apply ACLs (for example, a PUT Object or PUT Bucket request), and the request uses another storage provider's signature identifier, then Cloud Storage expects to receive an XML document that uses the corresponding storage provider's ACL syntax.

For more information about using the XML API for interoperable access with Amazon S3, see Migrating from Amazon S3 to Google Cloud Storage.

Amazon S3 is a trademark of Amazon.com, Inc. or its affiliates in the United States and/or other countries.

Why can't I apply WRITE permission to an object?
Object permissions control who can download an object and who can read or write an object's metadata and ACLs. All other object operations, such as uploading and deleting, are controlled through bucket ACLs. This gives bucket owners control over who can upload objects to their buckets.
Can I let someone read the ACLs on an object without letting them download the object?
No. You must grant a user FULL_CONTROL permission to read an ACL on an object or bucket.
Can I grant WRITE permission on a bucket without granting READ permission?
No. Cloud Storage ACLs are concentric, which means that WRITE permission also grants READ permission.

Back to top

Managing Bucket Locations

Can I specify bucket locations in places other than Asia, the European Union, or the US?
No. Currently, you can only specify buckets in these locations.
Can I move buckets from one location to another?
No. When you create a bucket in a specific location, it is not possible to move it to another location.
What is the default bucket location if I do not specify a location constraint?
The default bucket location is in the US. If you do not specify a location constraint, your buckets will be stored on servers in the US.

Back to top

Tools and Libraries

Are there any tools available for Cloud Storage?
You can use the browser-based Google Cloud Platform Console to perform basic operations on buckets and objects. You can also use the command-line tool gsutil to perform basic and advanced data management tasks on Cloud Storage. You can find several other tools by searching the Internet.
Are there any libraries for Cloud Storage?
The Boto library works with Cloud Storage. You can find several other libraries for Java, Ruby, and PHP by searching the Internet.
I'm developing a library or tool for Cloud Storage and I want to sell it on the Internet. Is this okay?
Yes!

Back to top

Troubleshooting

I tried to create a bucket and got the error GSResponseError: status=403, code=AccountProblem, reason=Forbidden. What should I do?
This error generally indicates that you have not yet turned on billing in the Google Cloud Platform Console or do not have access to create a bucket. Try:
  • Turning on billing
  • Checking that you are either in the owners or writers group for the project.

If billing is turned on and you have permissions to create a bucket, but you continue to receive this error message, you can reach out to support with your project ID and a description of your problem.

I tried to create the buckets gs://cats and gs://dogs but received the following error:
Failure: GSCreateError: 409 Conflict
BucketNameUnavailableThe requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again..
The bucket name you tried to use (e.g. gs://cats and gs://dogs) is already taken. Cloud Storage has a global namespace so you may not name a bucket with the same name as an existing bucket. Choose a name that is not being used.

I tried to list my bucket with gsutil but got the error: GSResponseError: status=403, code=AccessDenied, reason=Forbidden. What should I do?
  • Check that the credentials (for example, in your .boto file if you're using gsutil) are correct.
  • Assuming you are using the correct credentials, are your requests being routed through a proxy, using HTTP (instead of HTTPS)? If so, check whether your proxy is configured to remove the Authorization header from such requests. If so, make sure you are using HTTPS instead of HTTP for your requests.
I'm connecting through a proxy server, what do I need to do?

Requests to Google Cloud Storage need to access accounts.google.com for OAuth2 token exchanges, and *.googleapis.com for storage requests. If you are accessing Cloud Storage through a proxy server, you must allow access to these domains. If your proxy server or security policy doesn't support whitelisting by domain and instead requires whitelisting by IP network block, we strongly recommend that you configure your proxy server for all Google IP address ranges. You can find the address ranges, for example, by querying WHOIS data at ARIN. As a best practice, you should periodically review your proxy settings to ensure they match Google's IP addresses.

We do not recommend configuring your proxy with individual IP addresses you obtain from one-time lookups of accounts.google.com and storage.googleapis.com. Because Google services are exposed via DNS names that map to a large number of IP addresses that can change over time, configuring your proxy based on a one-time lookup may lead to failures to connect to Google Cloud Storage.

If you requests are being routed through a proxy server, you may need to check with your network administrator to ensure that the Authorization header containing your credentials is not stripped out by the proxy. Without the Authorization header, you will receive a MissingSecurityHeader error and your request will be rejected.

I tried to use the gsutil stat command to display object status for a subdirectory and got an error. Why?

Google Cloud Storage uses a flat namespace to store objects in buckets. While you can use slashes ("/") in object names to make it appear as if objects are in a hierarchical structure, the gsutil stat command treats a trailing slash as part of the object name. For example, if you run the command gsutil -q stat gs://some-bucket/some-object/, then gsutil will look up information about the object "some-object/" (with a trailing slash) inside bucket "some-bucket", as opposed to operating on objects nested under gs://some-bucket/some-object. Unless you actually have an object with that name, the operation will fail.

I created a bucket, but don't remember which project I created it in. How can I find it?

For most common Cloud Storage operations like listing objects, creating and composing objects, and common object and bucket configuration, you do not need to specify a project. In general, you only need to specify a project identifier when creating a bucket or listing buckets in a project. For more information, see When to specify a Project ID.

To find what project contains a specific bucket:

  • If you are searching over a moderate number of projects and buckets, use the Google Cloud Platform Console, select each project, and view the buckets it contains.
  • Otherwise, you can write a script that iterates over a list of project IDs (which you can get from Google Cloud Platform Console) and runs gsutil ls -p <PROJECT_ID> on each one.
How do I rename an object stored in Cloud Storage?

Google Cloud Storage does not rename files in an atomic way; instead, renaming is effectively achieved by copying an object, giving the desired name to the new object, and deleting the old object. This can be done easily by using the gsutil mv command, which handles the process automatically. For files (but not folders), renaming can also be easily achieved through the Google Cloud Platform Console, by clicking on the desired file's drop-down menu (which appears as three vertical dots on the far right of the file's line) and clicking move/rename. When using Google Cloud Storage through the JSON and XML APIs, object renames need to be done explicitly by copying, then deleting, the object.

Back to top

Send feedback about...

Cloud Storage