为 Cloud Storage 设置组织政策

本页面介绍如何在项目级层或更高级层设置 Cloud Storage 专用的组织政策,这项设置有助于管理整个组织的存储分区设置。目前,Cloud Storage 提供了两种此类组织政策:一种用于强制使用存储分区锁定保留政策,另一种用于强制使用仅限存储分区政策

设置保留政策限制

若想要求您的整个组织中创建的存储分区必须具有适当的保留政策,请按如下所述操作:

gcloud

  1. 创建一个包含以下信息的 .json 文件,并将 [VALUES_IN_BRACKETS] 替换为适当的值:

    {
        "constraint": "constraints/storage.retentionPolicySeconds",
        "listPolicy": {
          "allowedValues": [SET_OF_TIMES_IN_SECONDS],
          "inheritFromParent": "[BOOLEAN]"
        }
      }

    请注意,您的限制中可以包含多个允许的值,例如:

    "allowedValues": [ "100", "200", "1000" ]
  2. 使用 gcloud beta resource-manager org-policies set-policy 命令,并将 [VALUES_IN_BRACKETS] 替换为适当的值:

    gcloud beta resource-manager org-policies set-policy [JSON_FILE_NAME].json --[RESOURCE_TYPE]=[RESOURCE_NAME]

JSON API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 创建一个包含以下信息的 .json 文件,并将 [VALUES_IN_BRACKETS] 替换为适当的值:

    {
        "constraint": "constraints/storage.retentionPolicySeconds",
        "listPolicy": {
          "allowedValues": [SET_OF_TIMES_IN_SECONDS],
          "inheritFromParent": "[BOOLEAN]"
        }
      }

    请注意,您的限制中可以包含多个允许的值,例如:

    "allowedValues": [ "100", "200", "1000" ]
  3. 使用 cURL,通过 POST 请求调用 JSON API,注意要将 [VALUES_IN_BRACKETS] 替换为适当的值:

    curl -X POST --data-binary @[JSON_FILE_NAME].json \
    -H "Authorization: Bearer [OAUTH2_TOKEN]" \
    -H "Content-Type: application/json" \
    "https://cloudresourcemanager.googleapis.com/v1/[RESOURCE_TYPE]/[RESOURCE_ID]:setOrgPolicy"

设置“仅限存储分区政策”限制

若想要求您的整个组织中创建的存储分区必须启用仅限存储分区政策功能,并防范现有存储分区停用“仅限存储分区政策”功能,请按如下所述操作:

gcloud

  1. 创建一个包含以下信息的 .json 文件,并将 [VALUES_IN_BRACKETS] 替换为适当的值:

    {
        "constraint": "constraints/storage.bucketPolicyOnly",
        "booleanPolicy": {
          "enforced": "[BOOLEAN]"
        }
      }

  2. 使用 gcloud beta resource-manager org-policies set-policy 命令,并将 [VALUES_IN_BRACKETS] 替换为适当的值:

    gcloud beta resource-manager org-policies set-policy [JSON_FILE_NAME].json --[RESOURCE_TYPE]=[RESOURCE_NAME]

JSON API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 创建一个包含以下信息的 .json 文件,并将 [VALUES_IN_BRACKETS] 替换为适当的值:

    {
        "constraint": "constraints/storage.bucketPolicyOnly",
        "booleanPolicy": {
          "enforced": "[BOOLEAN]"
        }
      }
  3. 使用 cURL,通过 POST 请求调用 JSON API,注意要将 [VALUES_IN_BRACKETS] 替换为适当的值:

    curl -X POST --data-binary @[JSON_FILE_NAME].json \
    -H "Authorization: Bearer [OAUTH2_TOKEN]" \
    -H "Content-Type: application/json" \
    "https://cloudresourcemanager.googleapis.com/v1/[RESOURCE_TYPE]/[RESOURCE_ID]:setOrgPolicy"

停用 HMAC 密钥创建

要阻止为组织中的服务帐号创建 HMAC 密钥,请执行以下操作:

gcloud

  1. 创建一个包含以下信息的 .json 文件,并将 [VALUES_IN_BRACKETS] 替换为适当的值:

    {
        "constraint": "constraints/storage.disableServiceAccountHmacKeyCreation",
        "booleanPolicy": {
          "enforced": "[BOOLEAN]"
        }
      }

  2. 使用 gcloud beta resource-manager org-policies set-policy 命令,并将 [VALUES_IN_BRACKETS] 替换为适当的值:

    gcloud beta resource-manager org-policies set-policy [JSON_FILE_NAME].json --[RESOURCE_TYPE]=[RESOURCE_NAME]

JSON API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 创建一个包含以下信息的 .json 文件,并将 [VALUES_IN_BRACKETS] 替换为适当的值:

    {
        "constraint": "constraints/storage.disableServiceAccountHmacKeyCreation",
        "booleanPolicy": {
          "enforced": "[BOOLEAN]"
        }
      }
  3. 使用 cURL,通过 POST 请求调用 JSON API,注意要将 [VALUES_IN_BRACKETS] 替换为适当的值:

    curl -X POST --data-binary @[JSON_FILE_NAME].json \
    -H "Authorization: Bearer [OAUTH2_TOKEN]" \
    -H "Content-Type: application/json" \
    "https://cloudresourcemanager.googleapis.com/v1/[RESOURCE_TYPE]/[RESOURCE_ID]:setOrgPolicy"

移除组织政策限制

要移除现有组织政策限制,请按如下所述操作:

gcloud

  1. 使用 gcloud beta resource-manager org-policies delete 命令,并将 [VALUES_IN_BRACKETS] 替换为适当的值:

    gcloud beta resource-manager org-policies delete [CONSTAINT_NAME] --[RESOURCE_TYPE]=[RESOURCE_NAME]

JSON API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 创建一个包含以下信息的 .json 文件,并将 [VALUES_IN_BRACKETS] 替换为适当的值:

    {
        "constraint": "[CONSTRAINT_NAME]",
      }
  3. 使用 cURL,通过 POST 请求调用 JSON API,注意要将 [VALUES_IN_BRACKETS] 替换为适当的值:

    curl -X POST --data-binary @[JSON_FILE_NAME].json \
    -H "Authorization: Bearer [OAUTH2_TOKEN]" \
    -H "Content-Type: application/json" \
    "https://cloudresourcemanager.googleapis.com/v1/[RESOURCE_TYPE]/[RESOURCE_ID]:clearOrgPolicy"

使用组织政策时的注意事项

  • 您可以对项目级层或更高级层的任何资源(包括组织资源)应用限制。

  • 在资源中创建新的存储分区时,以及在资源的现有存储分区上添加/更新相关参数时,系统会强制执行 retentionPolicySecondsbucketPolicyOnly 限制。

  • 系统不会以追溯方式对现有存储分区强制执行 retentionPolicySecondsbucketPolicyOnly 限制,除非在此类存储分区上设置了相关参数。

  • 如果在您启用 disableServiceAccountHmacKeyCreation 限制时资源已存在 HMAC 密钥,则这些密钥将继续存在。

  • 对于保留政策限制,如果您在不同资源级层设置多个限制,则系统会以分层方式强制执行这些政策。因此,我们建议您将 inheritFromParent 字段设置为 true,以确保较高级层的政策也能得到执行。

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud Storage
需要帮助?请访问我们的支持页面