如要控管資料存取權,只允許來自指定 CIDR 區塊或虛擬私有雲 (VPC) 網路的要求,可以在現有的 Cloud Storage bucket 建立或更新 IP 過濾規則。新增這些規則有助於強化工作負載的網路安全。
如需背景資訊,請參閱「Bucket IP 過濾」。
必要的角色
如要取得更新 bucket IP 篩選規則所需的權限,請要求管理員授予您 bucket 的 Storage 管理員 (roles/storage.admin) 角色。這個角色具備更新 bucket IP 篩選規則所需的權限。
如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
storage.buckets.updatestorage.buckets.setIpFilter
您也可以透過自訂角色取得這些權限。您或許也能透過其他預先定義的角色取得這些權限。如要查看哪些角色與哪些權限相關聯,請參閱「Cloud Storage 的 IAM 角色」。
如需授予 bucket 角色的操作說明,請參閱「在 bucket 上設定及管理 IAM 政策」。
建立或更新現有 bucket 的 IP 過濾規則
控制台
在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。
在 bucket 清單中,點選要更新的 bucket 名稱。
在「Bucket details」(bucket 詳細資料) 頁面,按一下「Configuration」(設定) 分頁標籤。
在「權限」部分,前往「IP 篩選」。然後按一下「 編輯 IP 過濾設定」。
在「IP filtering」(IP 篩選) 頁面,按一下「Configure」(設定)。
在「設定 IP 過濾」疊加視窗中,根據要指定的 IP 過濾設定,使用適當的導覽選單。完成各部分的步驟後,請點選「繼續」前往下一步。
公開 IP 位址
如要允許從公開 IP 位址存取,請按照下列步驟操作:
按一下「Public internet」(公開網際網路)。
在顯示的「Public internet」(公開網際網路) 窗格中,於「Allowed IP range(s)」(允許的 IP 範圍) 欄位指定一或多個 IPv4 位址範圍或 IPv6 CIDR 範圍。例如
192.0.2.0/24或2001:db8::/32。如果指定無效項目,系統會顯示錯誤訊息,指出需要修正的項目。
虛擬私有雲網路
如要允許從虛擬私有雲網路存取,請按照下列步驟操作:
按一下「虛擬私有雲網路」。
在顯示的「VPC networks」(虛擬私有雲網路) 窗格中,針對每個網路執行下列操作:
- 按一下「新增虛擬私有雲網路」。
- 在「New VPC network」(新增虛擬私有雲網路) 區段中,指定下列資訊:
- 在「Project ID」欄位中輸入專案 ID。
- 在「Network name」(網路名稱) 欄位中,輸入網路名稱。
- 在「Allowed IP range(s)」(允許的 IP 範圍) 欄位中,輸入一或多個 IPv4 或 IPv6 CIDR 範圍,例如
192.0.2.0/24、2001:db8::/32。如果指定無效項目,系統會顯示錯誤訊息,指出需要修正的項目。
- 按一下「完成」。
更多設定
如要允許其他組織中受信任的 Google Cloud 服務代理和虛擬私有雲網路略過 IP 過濾設定,請按照下列步驟操作:
按一下「其他設定」。
在隨即顯示的「Additional settings」(其他設定) 窗格中,執行下列操作:
在「Google Cloud 服務代理存取權」部分,選取下列其中一個圓形按鈕:
允許服務代理存取:啟用後,BigLake、儲存空間分析、Vertex AI 和 BigQuery 等 Google Cloud 服務在需要存取這個 bucket 時,可略過 IP 過濾驗證程序。
拒絕服務代理存取權:對 Google Cloud 服務代理強制執行 IP 篩選器規則。
在「(Optional) Cross-organization VPC access」(選用:跨組織虛擬私有雲存取權) 部分,執行下列其中一項操作:
如要允許不同 Google Cloud 組織中指定虛擬私有雲網路的存取權,請將切換鈕設為「允許」。
如要禁止從 Google Cloud 組織外部的虛擬私有雲網路存取,請將切換鈕設為「Deny」(拒絕) (預設狀態)。
查看
如要查看 IP 過濾設定,請按照下列步驟操作:
在顯示的「Review」(審查) 窗格中,按一下「Public internet」(公開網際網路) 或「VPC network(s)」(虛擬私有雲網路) 旁的 展開箭頭,審查指定的 IP 範圍或虛擬私有雲,並驗證「Additional settings」(其他設定) 設定。
如要修改設定,請按一下「Back」(返回),回到先前的設定步驟。
檢查完所有設定後,按一下「啟用」,儲存 IP 篩選設定。
gcloud
確認您已安裝 Google Cloud CLI 526.0.0 以上版本:
gcloud version | head -n1如果您安裝的是舊版 gcloud CLI,請更新版本:
gcloud components update --version=526.0.0建立 JSON 檔案,定義傳入要求的規則。如需 bucket IP 過濾規則的範例和結構資訊,請參閱「Bucket IP 過濾設定」。
{ "mode":"MODE", "publicNetworkSource":{ "allowedIpCidrRanges":[ "RANGE_CIDR", "..." ] }, "vpcNetworkSources":[ { "network":"projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges":[ "RANGE_CIDR", "..." ] }, "..." ], "allowCrossOrgVpcs": ALLOW_CROSS_ORG_VPCS, "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS }
其中:
MODE是 bucket IP 過濾設定的模式。有效值為Enabled和Disabled。設為Enabled時,IP 篩選規則會套用至 bucket。系統會根據這些規則評估傳入 bucket 的所有要求。如果設為Disabled,則所有傳入要求都能存取 bucket。RANGE_CIDR是允許存取 bucket 的公用網路 IPv4 或 IPv6 位址範圍。您可以輸入一或多個位址範圍做為清單。PROJECT_ID是虛擬私有雲 (VPC) 網路所在的專案 ID。如要設定多個虛擬私有雲網路,您必須指定每個網路所在的專案。NETWORK_NAME是允許存取 bucket 的虛擬私有雲網路名稱。如要設定多個虛擬私有雲網路,您必須為每個網路指定名稱。ALLOW_CROSS_ORG_VPCS是布林值,表示是否允許在vpcNetworkSources中定義的虛擬私有雲網路源自其他組織。這是選填欄位。如果設為true,要求會允許跨組織虛擬私有雲網路。如果設為false,要求會將虛擬私有雲網路限制在與 bucket 相同的組織。如未指定,預設值為false。只有在vpcNetworkSources不為空時,這個欄位才會生效。ALLOW_ALL_SERVICE_AGENT_ACCESS是布林值,指出是否允許服務代理存取 bucket,無論 IP 篩選器設定為何。如果值為true,其他 Google Cloud 服務可以使用服務代理存取 bucket,不需經過 IP 驗證。
如要更新 bucket IP 過濾規則,請在開發環境中執行
gcloud storage buckets update指令:gcloud storage buckets update gs://BUCKET_NAME --ip-filter-file=IP_FILTER_CONFIG_FILE
其中:
BUCKET_NAME是 bucket 名稱。例如:my-bucket。IP_FILTER_CONFIG_FILE是您建立的 JSON 檔案。
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。建立 JSON 檔案,其中包含 bucket 的設定,且必須包含 bucket 的
name和ipFilter設定欄位。如需 bucket IP 篩選規則的範例和結構資訊,請參閱「Bucket IP 篩選設定」。{ "ipFilter":{ "mode":"MODE", "publicNetworkSource":{ "allowedIpCidrRanges":[ "RANGE_CIDR", "..." ] }, "vpcNetworkSources":[ { "network":"projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges":[ "RANGE_CIDR", "..." ] }, "..." ], "allowCrossOrgVpcs": ALLOW_CROSS_ORG_VPCS, "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS } }
其中:
MODE是 IP 篩選器設定的狀態。有效值為Enabled和Disabled。設為Enabled時,IP 篩選規則會套用至 bucket,且所有傳入 bucket 的要求都會根據這些規則進行評估。如果設為Disabled,所有傳入要求都能存取 bucket 和當中的資料,不需經過任何評估。RANGE_CIDR是允許存取 bucket 的公用網路 IPv4 或 IPv6 位址範圍。您可以輸入一或多個位址範圍,並以清單形式呈現。PROJECT_ID是虛擬私有雲網路所在的專案 ID。如要設定多個虛擬私有雲網路,您必須指定每個網路所在的專案。NETWORK_NAME是可存取 bucket 的虛擬私有雲網路名稱。如要設定多個虛擬私有雲網路,您必須為每個網路指定名稱。ALLOW_ALL_SERVICE_AGENT_ACCESS是布林值,指出是否允許服務代理存取 bucket,無論 IP 篩選器設定為何。如果值為true,其他 Google Cloud 服務可以使用服務代理存取 bucket,不需經過 IP 驗證。ALLOW_CROSS_ORG_VPCS是布林值,表示是否允許vpcNetworkSources清單中定義的虛擬私有雲網路源自其他組織。這是選填欄位。如果設為true,要求會允許跨組織虛擬私有雲網路。如果設為false,要求會將虛擬私有雲網路限制在與 bucket 相同的組織。如未指定,預設值為false。只有在vpcNetworkSources不為空時,這個欄位才會生效。
使用
cURL呼叫 JSON API,並傳送 PATCH bucket 要求:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?project=PROJECT_ID"
其中:
JSON_FILE_NAME是您建立的 JSON 檔案名稱。BUCKET_NAME是 bucket 名稱。PROJECT_ID是與 bucket 相關聯的專案 ID。例如:my-project。
管理 Google Cloud 服務代理的存取權
在 bucket 設定 IP 篩選規則後,請按照下列步驟更新服務代理存取權:
控制台
在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。
在 bucket 清單中,點選要更新的 bucket 名稱。
在「Bucket details」(bucket 詳細資料) 頁面,按一下「Configuration」(設定) 分頁標籤。
在「權限」部分,前往「IP 篩選」。然後按一下「 編輯 IP 過濾設定」。
系統隨即會顯示「IP filtering」(IP 篩選) 頁面。
在「Manage Google Cloud service agent access」(管理 Google Cloud 服務代理存取權) 部分,執行下列任一操作:
如要允許服務代理存取,請完成下列步驟:
按一下「 已停用」,將設定變更為「 已啟用」。
在「Enable」(啟用) 欄位中輸入
Enable,確認要允許存取。
如要拒絕服務代理存取權,請完成下列步驟:
按一下「 已啟用」,將設定變更為「 已停用」。
如要確認拒絕存取,請在「停用」欄位中輸入
Disable。
系統會顯示通知訊息,確認變更。
gcloud
如要更新 bucket 的服務代理存取權,請使用 gcloud storage
buckets update 指令,並將 allowAllServiceAgentAccess 欄位設為 true (允許存取) 或 false (拒絕存取)。如需詳細操作說明,請參閱「為現有 bucket 建立或更新 IP 篩選規則」。
JSON API
如要更新服務代理存取權,您可以使用 PATCH 要求,更新 bucket 的 ipFilter 設定。將 allowAllServiceAgentAccess 欄位設為 true 即可允許存取,設為 false 則會拒絕存取。如需詳細操作說明,請參閱「在現有 bucket 建立或更新 IP 篩選規則」。
管理跨組織虛擬私有雲存取權
在 bucket 設定 IP 篩選規則後,如要更新跨組織虛擬私有雲存取權,請完成下列步驟:
控制台
在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。
在 bucket 清單中,點選要更新的 bucket 名稱。
在「Bucket details」(bucket 詳細資料) 頁面,按一下「Configuration」(設定) 分頁標籤。
在「權限」部分,前往「IP 篩選」。然後按一下「 編輯 IP 過濾設定」。
系統隨即會顯示「IP filtering」(IP 篩選) 頁面。
在「Manage cross-organization VPC access」(管理跨組織虛擬私有雲存取權) 區段中,執行下列其中一項操作:
如要允許跨組織虛擬私有雲存取權,請完成下列步驟:
按一下「 已停用」,將設定變更為「 已啟用」。
在「Enable」(啟用) 欄位中輸入
Enable,確認要允許存取。
如要拒絕跨組織虛擬私有雲存取權,請完成下列步驟:
按一下「 已啟用」,將設定變更為「 已停用」。
如要確認拒絕存取,請在「停用」欄位中輸入
Disable。
系統會顯示通知訊息,確認變更。
gcloud
如要更新 bucket 的跨組織虛擬私有雲存取權,請使用 gcloud storage buckets update 指令,並將 allowCrossOrgVpcs 欄位設為 true (允許存取) 或 false (拒絕存取)。如需詳細操作說明,請參閱「為現有 bucket 建立或更新 IP 過濾規則」。
JSON API
如要更新跨組織虛擬私有雲存取權,可以使用 PATCH 要求,更新 bucket 的 ipFilter 設定。將 allowCrossOrgVpcs 欄位設為 true 即可允許存取,設為 false 則會拒絕存取。如需詳細操作說明,請參閱「建立或更新現有 bucket 的 IP 篩選規則」。
後續步驟
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Cloud Storage 平台的成效。新客戶還能獲得價值 $300 美元的免費抵免額,用於執行、測試及部署工作負載。
免費試用 Cloud Storage