项目是 Google Cloud 资源 层次结构中的基本操作单元。项目存在于文件夹(或组织)与虚拟机和存储空间等资源之间。本页面介绍了如何使用 Cloud Resource Manager API 和 Google Cloud 控制台创建 Google Cloud 项目。
项目的关键特征包括:
主要服务容器:项目是启用所有 Google Cloud 服务 (API) 的基本层级,也是创建 Compute Engine 实例或 BigQuery 数据集等资源的位置。
信任边界:项目充当隔离层。默认情况下,一个项目中的资源无权访问另一个项目中的资源,从而为不同的应用或环境建立安全边界。
结算单元:项目是企业跟踪、整理和分离组织内费用的主要方式。
政策附加点:虽然政策通常从文件夹继承,但项目级是向开发者和服务账号授予特定权限 (Identity and Access Management (IAM)) 以执行日常任务的最常见位置。
准备工作
如需了解项目资源,请参阅 资源层次结构概览。如需获得有关设置资源层次结构的指导,请参阅 确定着陆区的资源层次结构 Google Cloud 。
以下标识符用于您的项目:
项目名称:人类可读的项目名称。
任何 Google API 都不会使用项目名称。您可以在项目创建期间或之后随时修改项目名称。项目名称不必具有唯一性。
项目 ID:项目的全局唯一标识符。
项目 ID 是一个唯一字符串,用于将您的项目与所有 其他项目区分开来 Google Cloud。输入项目名称后, Google Cloud 控制台会生成一个唯一的项目 ID,该 ID 可以是 字母、数字和连字符的组合。您可以使用生成的项目 ID,但可以在项目创建期间对其进行修改。项目创建后,项目 ID 将永久保留。
项目 ID 必须满足以下要求:
- 长度必须介于 6 到 30 个字符之间。
- 只能包含小写字母、数字和连字符。
- 必须以字母开头。
- 不能以连字符结尾。
- 不得使用正在或以前使用过的项目 ID;这包括已删除的项目。
- 不能包含受限字符串,例如
google和ssl。避免在项目 ID 中使用undefined和null等字符串。
项目编号:项目编号是系统为项目自动生成的 唯一标识符。
请勿在项目名称、项目 ID 或其他资源名称中添加敏感信息,例如个人身份信息或安全数据。项目 ID 会显示在许多其他 Google Cloud 资源的名称中。引用项目或其资源会公开项目 ID 和资源名称。
创建项目
您必须拥有 resourcemanager.projects.create 权限才能创建项目。此权限包含在 Project Creator 角色 (roles/resourcemanager.projectCreator) 等角色中。
默认情况下,系统会向新组织资源的整个网域和免费试用用户授予 Project Creator 角色。
如需了解如何向个人授予该角色以及如何限制组织资源范围的访问权限,请参阅管理默认组织角色页面。
如果您未指定父资源,则系统会根据用户账号的网域自动选择父资源(如果适用)。
您可以使用 Google Cloud 控制台、
Google Cloud CLI 或
projects.create()
方法创建新项目。
控制台
如需创建新项目,请执行以下操作:
-
前往 Google Cloud 控制台中的管理资源页面。
其余步骤会显示在 Google Cloud 控制台中。
- 在页面顶部的选择组织下拉列表中,选择要在其中创建项目的组织资源。如果您使用的是免费试用版,请跳过此步骤,因为系统不会显示此列表。
- 点击创建项目。
- 在显示的新建项目窗口中,输入项目名称并选择适用的结算账号。项目名称只能包含字母、数字、英文单引号、连字符、空格或英文感叹号,且长度必须介于 4 到 30 个字符之间。
- 在位置 框中输入父级组织或文件夹资源。该资源 将是新项目的分层父级。 如果可以选择无组织 ,那么您也可以选择该选项,将新项目作为其自身资源层次结构的顶层进行创建。
- 输入完新项目的详细信息后,点击创建 。
gcloud
-
在 Google Cloud 控制台中,激活 Cloud Shell。
Cloud Shell 会话随即会在控制台的底部启动,并显示命令行提示符。 Google Cloud Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境 。该会话可能需要几秒钟来完成初始化。
如需创建新项目,请使用
gcloud projects create命令:gcloud projects create PROJECT_ID其中 PROJECT_ID 是您要创建的项目的 ID。项目 ID 必须以小写字母开头,只能包含 ASCII 字母、数字和连字符,并且长度必须介于 6 到 30 个字符之间。
如需创建以组织资源或文件夹作为父级的项目,请使用
--organization或--folder标志。由于一个资源只能有一个父级,因此您只能使用其中一个标志:gcloud projects create PROJECT_ID --organization=ORGANIZATION_IDgcloud projects create PROJECT_ID --folder=FOLDER_ID
REST
使用 projects.create() 方法创建新项目时,您不能在项目 ID 中使用某些特定字词, 例如 google、null、undefined 和 ssl。
如果您使用了限用词,请求将返回 INVALID_ARGUMENT 错误。
以下请求仅创建项目,不会将项目与结算账号自动关联。您可以使用
projects.updateBillingInfo
方法设置或更新与项目关联的结算账号。
创建项目请求:
POST https://cloudresourcemanager.googleapis.com/v3/projects/
Authorization: *************
Content-Type: application/json
{
"projectId": "our-project-123",
"name": "my project",
"labels": {
"mylabel": "prod"
}
}
创建项目响应:
{
"name": "operations/pc.123456789",
}
获取操作请求:
GET https://cloudresourcemanager.googleapis.com/v3/operations/pc.123456789
Authorization: *************
Content-Type: application/json
获取操作响应:
{
"name": "operations/pc.123456789",
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloudresourcemanager.v3.Project",
"projectNumber": "464036093014",
"projectId": "our-project-123",
"lifecycleState": "ACTIVE",
"name": "my project",
"labels": {
"mylabel": "prod"
},
"createTime": "2016-01-07T21:59:43.314Z"
}
}
在项目创建期间添加标记
标记提供了一种为资源创建注解的方法。您可以在创建项目时添加标记。添加标记时,您 必须分配Tag User角色。如需详细了解分配给此角色的权限,请参阅管理资源上的标记。您只能通过以下方式之一添加标记键值对的命名空间:
gcloud
如需在项目创建期间添加标记,请运行以下命令:
gcloud projects create PROJECT_ID --organization=ORGANIZATION_ID --tags=KEY_VALUE_PAIRS
替换以下内容:
- PROJECT_ID 是项目的唯一标识符。
- ORGANIZATION_ID 是组织的唯一标识符。
- KEY_VALUE_PAIRS 是您可以分配给资源的键值对的逗号分隔列表。以逗号分隔的键值对的示例为
123/environment=production, 456/create=testresource。
REST
以下代码段是一个 JSON 请求,您可以在其中创建项目并向其添加标记。
POST https://cloudresourcemanager.googleapis.com/v3/projects/
Authorization: *************
Content-Type: application/json
{
"projectId": "our-project-456",
"name": "my project",
"parent": "organizations/123",
"tags": {
"key": "123/environment"
"value": "production"
},
"tags": {
"key": "123/costCenter"
"value": "marketing"
}
}
使用标记指定项目环境
您可以使用标记根据项目环境(例如生产环境、预演环境或开发环境)以直观方式区分项目。这有助于防止错误,并在您在敏感环境中工作时提高意识。当选择具有特定标记键值对的项目时,Google 会在 控制台项目选择器 中为项目添加 Google Cloud 指示图标。此指示图标会提醒您,任何更改都可能会影响关联的生产应用或非生产应用。标记可以由项目继承,也可以直接在项目上设置。
如需使用此功能,请执行以下操作:
- 创建一个名为
environment的标记键。 - 为您使用的环境类别创建标记值。控制台项目选择器中支持以下值,并会将其映射到相应的徽章:
- Prod:Prod、prod、生产环境、production
- Dev:Dev、dev、Development、development
- Test:Test、test、Testing、testing、质量保证、质量保证、质量保证、质量保证
- Staging:Staging、staging、Stage、stage
- 通过 创建标记绑定,将适当的标记附加到您的项目。
如果一个项目有多个环境标记(例如,一个从文件夹继承,一个直接在项目上),则使用最具体的标记来确定徽章。
使用服务帐号创建项目
您可以使用服务帐号自动创建项目。与用户账号一样,您可以向服务账号授予在组织资源中创建项目的权限。使用服务账号时,您无法在组织资源外部创建项目,并且必须在创建项目时指定父资源。
服务账号可以使用 gcloud CLI 或 projects.create() 方法创建新项目。
管理项目配额
如果配额中的剩余项目少于 30 个,一条通知 显示配额中剩余的项目数量,位于 新建项目页面上。达到项目数量上限后,您必须申请提高项目数量上限才能创建更多项目。或者,您也可以通过“管理资源”页面安排系统在 30 天后删除某些项目。用户已 软删除的项目会计入您的配额。这些项目将在 30 天后完全删除。
如需为组织配额中的项目申请额外容量,请执行以下操作:
进入配额和系统限制 页面。
在资源选择器中,选择要为其增加项目配额的组织。
在过滤条件 选项中,选择指标 并输入
cloudresourcemanager.googleapis.com/projects_count。选择 Cloud Resource Manager API,依次点击 更多操作 和 修改配额。
在配额更改 对话框中,输入新的配额值和说明,然后点击下一步 。
输入您的联系方式,然后点击提交申请 。
您会收到一封电子邮件,确认我们已收到您的申请。如果您需要进一步的帮助,请回复该电子邮件。审核完毕后,您会收到一封电子邮件通知,告知您申请是否获得了批准。
如果您没有组织,但想为 配额中的项目申请额外容量,请使用 申请增加项目配额 表单。
如需详细了解配额以及使用配额的原因,请参阅 免费试用项目配额申请 支持页面。如需详细了解结算报告,请参阅 结算报告支持页面。
后续步骤
- 了解如何查看和更新项目。
- 了解如何删除和恢复项目。
- 了解如何在资源层次结构中移动项目。
- 了解如何将项目从一个组织资源迁移到另一个组织资源。