跨源資源共享 (CORS) 可讓不同來源的資源互動,這類互動通常會禁止,以防範惡意行為。本頁說明如何為 Cloud Storage bucket 設定 CORS,以及如何查看 bucket 的 CORS 設定。如需 CORS 設定範例,請參閱「CORS 設定範例」。
必要的角色
如要取得設定及查看 bucket CORS 設定所需的權限,請要求管理員授予您 bucket 的「Storage 管理員」(roles/storage.admin) 角色。
這個預先定義的角色具備設定及查看 CORS 設定所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
storage.buckets.getstorage.buckets.update
如要瞭解如何授予 bucket 角色,請參閱「在 bucket 上設定及管理 IAM 政策」。
設定 bucket 的 CORS 設定
您可以在 bucket 中設定 CORS 設定,指定 HTTP 方法和來源網域等資訊,識別 bucket 可接受的要求類型。
如要在 bucket 上設定 CORS 設定,請按照下列步驟操作:
控制台
- 前往 Cloud de Confiance 控制台的「Cloud Storage bucket」頁面。
按一下 bucket 名稱。
按一下 [設定] 標籤。
在「Cross-origin resource sharing」(跨源資源共享) 區段中,按一下 「Edit CORS configuration」(編輯 CORS 設定)。
勾選「允許跨源資源共享」核取方塊。
按一下「新增設定」,然後執行下列操作:
在設定中提供欄位值:
允許的來源清單:您要允許與這個 bucket 跨源資源共享的來源。
指定方法:您要允許與這個 bucket 進行跨源資源共享的 HTTP 方法。
List of allowed response headers:您要允許與這個 bucket 跨源資源共享的回應標頭。
快取到期時間:瀏覽器在必須重複預檢要求之前,可提出要求的秒數。
如要進一步瞭解各個欄位,請參閱「CORS 設定的元件」。
按一下「完成」。
(選用) 如要新增其他設定,請重複上一個步驟。
按一下 [儲存]。
指令列
使用
gcloud storage buckets update指令,並加上--cors-file旗標:gcloud storage buckets update gs://BUCKET_NAME --cors-file=CORS_CONFIG_FILE
其中:
BUCKET_NAME是相關 bucket 的名稱。例如:my-bucket。CORS_CONFIG_FILE是您在步驟 1 建立的 JSON 檔案路徑。
用戶端程式庫
C++
詳情請參閱 Cloud Storage C++ API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會為 bucket 設定 CORS 設定:
C#
詳情請參閱 Cloud Storage C# API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會在 bucket 上設定 CORS 設定:
Go
詳情請參閱「Cloud Storage Go API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會為 bucket 設定 CORS 設定:
Java
詳情請參閱「Cloud Storage Java API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會設定 bucket 的 CORS 設定:
Node.js
詳情請參閱 Cloud Storage Node.js API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會為 bucket 設定 CORS 設定:
PHP
詳情請參閱「Cloud Storage PHP API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會設定 bucket 的 CORS 設定:
Python
詳情請參閱 Cloud Storage Python API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會在 bucket 上設定 CORS 設定:
Ruby
詳情請參閱 Cloud Storage Ruby API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會設定 bucket 的 CORS 設定:
Rust
下列範例會在 bucket 上設定 CORS 設定:
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。使用
cURL來透過PATCH值區要求呼叫 JSON API:curl --request PATCH \ 'https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME?fields=cors' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' \ --header 'Content-Type: application/json' \ --data-binary @CORS_CONFIG_FILE
其中:
BUCKET_NAME是 bucket 的名稱。例如:my-bucket。CORS_CONFIG_FILE是您在步驟 2 建立的 JSON 檔案路徑。
XML API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。使用
cURL呼叫 XML API,並將PUT Bucket要求的範圍設為?cors:curl -X PUT --data-binary @CORS_CONFIG_FILE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-project-id: PROJECT_ID" \ "https://storage.s3nsapis.fr/BUCKET_NAME?cors"
其中:
BUCKET_NAME是 bucket 的名稱。例如:my-bucket。PROJECT_ID是與 bucket 相關聯的專案 ID。例如:my-project。CORS_CONFIG_FILE是您在步驟 2 建立的 XML 檔案路徑。
查看 bucket 的 CORS 設定
控制台
- 前往 Cloud de Confiance 控制台的「Cloud Storage bucket」頁面。
按一下 bucket 名稱。
按一下 [設定] 標籤。
在「跨源資源共享」部分,按一下「編輯 CORS 設定」。
按一下設定。
選用:編輯設定,或按一下「取消」關閉對話方塊。
指令列
使用 gcloud storage buckets describe 指令,並加上 --format 旗標:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(cors_config)"
其中 BUCKET_NAME 是要查看 CORS 設定的值區名稱。例如:my-bucket。
用戶端程式庫
如要使用用戶端程式庫查看 bucket 的 CORS 設定,請按照操作說明顯示 bucket 的中繼資料,並在回應中尋找 CORS 欄位:
C++
詳情請參閱 Cloud Storage C++ API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
C#
詳情請參閱「Cloud Storage C# API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Go
詳情請參閱 Cloud Storage Go API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Java
詳情請參閱 Cloud Storage Java API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Node.js
詳情請參閱 Cloud Storage Node.js API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
PHP
詳情請參閱「Cloud Storage PHP API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Python
詳情請參閱「Cloud Storage Python API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Ruby
詳情請參閱 Cloud Storage Ruby API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Rust
REST API
JSON API
XML API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。使用
cURL呼叫 XML API,並將GETBucket 要求範圍設為?cors:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/BUCKET_NAME?cors"
其中
BUCKET_NAME是要查看 CORS 設定的 bucket 名稱。例如:my-bucket。
移除 bucket 的 CORS 設定
控制台
- 前往 Cloud de Confiance 控制台的「Cloud Storage bucket」頁面。
按一下 bucket 名稱。
按一下 [設定] 標籤。
在「Cross-origin resource sharing」(跨源資源共享) 區段中,按一下 「Edit CORS configuration」(編輯 CORS 設定)。
執行下列任一操作:
如要刪除特定 CORS 設定,請按一下要移除的設定旁邊的「刪除」。
如要停用 CORS 並刪除 bucket 的所有 CORS 設定,請取消勾選「允許跨源資源共享」核取方塊。
按一下 [儲存]。
指令列
如要移除 bucket 的 CORS 設定,請使用 gcloud storage buckets update 指令並加上 --clear-cors 旗標:
gcloud storage buckets update gs://BUCKET_NAME --clear-cors
將 BUCKET_NAME 替換為要移除 CORS 設定的 bucket 名稱。
用戶端程式庫
C++
詳情請參閱 Cloud Storage C++ API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會從 bucket 移除任何現有的 CORS 設定:
C#
詳情請參閱 Cloud Storage C# API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會從 bucket 移除任何現有的 CORS 設定:
Go
詳情請參閱「Cloud Storage Go API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會從 bucket 移除任何現有的 CORS 設定:
Java
詳情請參閱「Cloud Storage Java API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會從 bucket 移除任何現有的 CORS 設定:
Node.js
詳情請參閱「Cloud Storage Node.js API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會從 bucket 移除任何現有的 CORS 設定:
PHP
詳情請參閱 Cloud Storage PHP API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會從 bucket 移除任何現有的 CORS 設定:
Python
詳情請參閱 Cloud Storage Python API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會從 bucket 移除任何現有的 CORS 設定:
Ruby
詳情請參閱「Cloud Storage Ruby API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下列範例會從 bucket 中移除所有現有的 CORS 設定:
Rust
下列範例會從 bucket 移除任何現有的 CORS 設定:
REST API
後續步驟
- 查看 CORS 設定範例。
- 進一步瞭解 CORS。
- 瞭解如何排解 CORS 要求問題。