本页面介绍 Google Cloud Console 项目与 Cloud Storage 资源之间的关系。如需从整体上了解有关 Google Cloud 控制台项目的更多信息,请参阅 Google Cloud 中的项目部分。
什么是项目?
项目用于组织您的所有 Google Cloud 资源。Cloud Storage 中的所有数据都属于项目内容。项目包含一组用户和一组 API,以及这些 API 的结算、身份验证和监控设置。因此,举例来说,您的所有 Cloud Storage 存储桶和对象以及它们的用户访问权限均包含在项目中。您可以使用一个项目,也可以创建多个项目并使用它们来将您的 Google Cloud 资源(包括 Cloud Storage 数据)组织到逻辑组中。
何时指定项目
大多数情况下,在 Cloud Storage 中执行操作时无需指定项目;但在以下情况下,您应添加项目 ID 或项目编号:
控制台
将 Cloud Storage 与 Google Cloud 控制台搭配使用时,系统会自动将您与项目关联起来。您可以使用 Google Cloud 控制台窗口顶部的下拉菜单更改项目。
首次访问启用了请求者付款功能的存储分区时,系统会提示您选择一个项目以便结算请求费用。之后,您可以更改结算项目,方法是点击更改项目按钮(位于存储桶中的对象列表上方)。
命令行
以下命令使用 Google Cloud CLI 配置中设置的 project
属性,除非您在命令中使用全局 --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
以下方法要求您指定项目:
项目将以参数形式在请求网址中发送,如以下示例所示:
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 请求,此为可选标头。
要指明用于结算存储桶访问费用的项目,需使用“x-goog-user-project”标头和项目 ID,如以下示例中所示:
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 相关的操作的示例:
- 执行 Storage Transfer Service 传输。
- 将数据移入/移出 Cloud SQL 实例。
- 创建签名网址。
服务代理
服务代理是一种代表 Google Cloud 服务执行操作的特殊服务账号。Cloud Storage 将服务代理用于以下功能:
当您创建项目后,Cloud Storage 服务代理最初并不可用。它会在第一次访问时自动被激活,可以通过上面列出的功能之一激活,也可以在您请求服务代理的名称时激活。您必须先激活该服务账号,然后才能为其分配权限。
以下是与项目编号 123456789876
关联的 Cloud Storage 服务代理的电子邮件地址示例:
service-123456789876@gs-project-accounts.iam.gserviceaccount.com
后续步骤
- 完成某一个 Cloud Storage 快速入门。
- 了解如何创建新项目和管理现有项目。
- 了解如何使用 Google Cloud 控制台管理您的数据。
- 管理项目的服务账号。