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