This page describes the relationship between Google Cloud Platform Console projects and Cloud Storage resources. You can create multiple projects and use them to organize your Cloud Platform resources, including your Google Cloud Storage data, into logical groups. To learn more about Google Cloud Platform Console projects, read Projects in the Overview of Google Cloud Platform.
When to specify a project
Certain Google Cloud Storage operations require you to specify a project. In these cases, you can use either the project ID or the project number:
- Google Cloud Platform Console
- Before you create a bucket or list buckets using the Google Cloud Platform Console, you must select a project. For more information, see Creating a bucket.
gsutil lscommands require you to specify a project unless you have used
gsutil configto set a default project. If you have not set a default project, or if you would like to use a different project, you can use the
-pflag to specify a project. No other gsutil commands require you to specify a project.
- JSON API
The JSON API client libraries require a project to be specified when using the libraries' methods for creating and listing buckets.
- XML API
The project associated with every XML API request must be specified in the
x-goog-project-idHTTP header, as in the following example:
The exception is when you are using the XML API for interoperable access with other storage systems. For more information, see Migrating from Amazon S3 to Google Cloud Storage.
Project members and permissions
For each project, you can add team members to manage and work on your project and specify each team member's role. Team members receive the following permissions based on their roles:
All Project Team Members
All project team members can list buckets within a project.
All project editors can list, create, and delete buckets.
All project owners can list, create, and delete buckets, and can also perform administrative tasks such as adding and removing team members and changing billing. The project owners group is the owner of all buckets within a project, regardless of who originally created the bucket.
For more information, see Manage Project Members.
Each team member also has additional permissions based on the access control list (ACL) that is applied to the bucket. When you create a bucket without specifying an ACL, the project-private ACL is applied to the bucket automatically. See Default bucket ACL for details about the permissions that are granted by the project-private ACL.