為 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
需要協助嗎?請前往我們的支援網頁