资源设置概览

您可以使用资源设置来为 Google Cloud 项目、文件夹和组织集中配置设置。这些设置由这些资源在资源层次结构中的后代继承。每个设置均由 Google 创建和管理。

Resource Settings

资源设置表示您可以配置的 Google Cloud 资源或服务的维度。例如,“Cloud Storage 存储桶创建位置”设置可以确定创建新存储桶资源的默认位置。

每个资源设置都具有以下关键属性:

  • 名称:为设置配置值时使用的设置的全局唯一标识符。

  • 元数据:关于资源设置的 Google 管理的信息。资源设置的元数据包括以下字段:

    • 数据类型:可为此设置配置的值的类型。可能的数据类型包括布尔值、字符串、字符串集和枚举。

    • 默认值:如果未在组织中设置其他值,则为设置的 Google 管理的默认值。

    • 只读:此标志表示 Google 是否已将此设置设为只读。如果资源设置为只读,则无法修改此设置的值。设置仅会在迁移和弃用时设为只读。在更改此标志之前,Google 会发出警告。

  • 局部值:与某个资源关联的设置的特定值。

  • 有效值:在评估资源层次结构中的继承资源设置后的设置值。

您需要 Resource Settings ViewerResource Settings Administrator Identity and Access Management 角色才能查看给定组织、文件夹或项目上可以使用的设置列表。如需详细了解这些角色,请参阅所需权限

资源设置的可用性因组织而异,具体取决于资源设置的版本状态。

资源设置示例

以下是一个资源设置的示例:

# Setting
{
  "name": "net-preferredDnsServers",
  "metadata": {
    "displayName": "Preferred DNS Servers",
    "description": "The DNS servers to be used by VMs associated with this resource.",
    "read_only": false,
    "data_type" : "STRING_SET",
    "default_value" : {
      "string_set_value" : {
        "values" : [ "8.8.8.8" ],
      }
    }
  }
}

命名

资源设置具有全局唯一的短名称,格式为 settings/SETTING_ID。例如,控制虚拟机初始启动映像的资源设置的短名称可能为 settings/compute-vmStartupImage

设置的相对资源名称会将数字资源 ID 添加到设置的短名称中。例如,organizations/12345678901 的上述 settings/compute-vmStartupImage 设置的相对资源名称为 organizations/12345678901/settings/compute-vmStartupImage

Google Cloud 将具有相同短名称的设置视为相同设置,即使它们的相对资源名称不同也是如此。相对资源名称中包含的资源仅表示该设置对指定资源可用。

局部设置值

直接应用于特定资源设置的设置值称为局部设置值。您可以使用 Resource Settings API 直接修改资源设置的局部值。

以下是包含局部设置值的资源设置示例:

# Setting
{
  "name" : "folders/123/settings/net-preferredDnsServers"
  "localValue": {
    "stringSetValue": {
      "values": ["8.8.8.8", "8.8.4.4"]
    }
  }
}

有效设置值

一个资源的局部设置值由该资源在资源层次结构中的所有后代继承。如果其中一个后代具有局部设置值,则该值将替换继承的设置值。如果您尚未对资源或其任何后代设置局部设置值,则使用该设置的 Google 定义的默认值。

系统会评估资源设置,得出有效设置值。此值显示给定资源上所有继承和局部值设置的最终结果。确定有效设置值的评估规则如下:

  1. 如果资源具有给定资源设置的值,则该值是有效值,替换任何继承的值。

  2. 如果资源没有此资源设置的值,并且该资源的任何祖先具有该设置的值,则与最近的祖先关联的值为有效值。

  3. 如果此资源及其祖先都没有此资源设置的值,并且该设置具有 Google 管理的默认值,此为有效值。

  4. 如果资源及其祖先都没有此资源设置的值,并且该值没有 Google 管理的默认值,则此资源上的此设置没有有效值。

没有有效值的资源设置

如果某个资源设置没有 Google 管理的默认值,则可以有该设置没有有效值的资源。如果能够以向后兼容的方式实现,则新资源设置没有 Google 管理的默认值。因此,新设置不会中断现有服务。

空值和未设置的值

如果资源设置值为空,则视为空值。例如,"" 是一个空字符串。根据有效设置值的评估,空值仍被视为值,并会替换继承的值。

如果未设置局部值,则资源设置将保持未设置状态;此资源将继承资源设置值。

后续步骤