設定及查看 CORS 設定 (original) (raw)
跨源資源共享 (CORS) 可讓不同來源的資源互動,但通常為防止惡意行為而遭到禁止。本頁說明如何在 Cloud Storage bucket 中設定 CORS,以及如何查看 bucket 中設定的 CORS。如需 CORS 設定範例,包括停用 bucket 上所有現有設定的設定,請參閱「CORS 設定範例」。
必要的角色
如要取得設定及查看 bucket CORS 設定所需的權限,請要求管理員授予 bucket 的 Storage 管理員 (roles/storage.admin) 角色。
這個預先定義的角色具備設定及查看 CORS 設定所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
storage.buckets.getstorage.buckets.update
如要瞭解如何授予值區角色,請參閱「設定及管理值區的 IAM 政策」。
設定值區的 CORS 設定
如要進行值區的 CORS 設定,請指定能夠識別該值區可接受的要求類型相關資訊,例如 HTTP 方法及來源網域。
請按照下列步驟,在值區中設定 CORS:
控制台
您無法使用 Google Cloud 控制台管理 CORS。請改用 gcloud CLI。
指令列
- 建立 JSON 檔案,並加入要套用的 CORS 設定。如需 JSON 檔案範例,請參閱設定範例。
- 使用 gcloud storage buckets update 指令並加上
--cors-file標記:
gcloud storage buckets update gs://BUCKET_NAME --cors-file=CORS_CONFIG_FILE
其中:BUCKET_NAME是相關值區的名稱。例如:my-bucket。CORS_CONFIG_FILE是您在步驟 1 建立的 JSON 檔案路徑。
用戶端程式庫
REST API
JSON API
- 安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。 - 建立 JSON 檔案,並加入要套用的 CORS 設定。如需 JSON 檔案範例,請參閱設定範例。
- 使用 cURL 來透過 PATCH 值區要求呼叫 JSON API:
curl --request PATCH \
'https://storage.googleapis.com/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
- 安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。 - 建立 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.googleapis.com/BUCKET_NAME?cors"
其中:BUCKET_NAME是 bucket 的名稱。例如:my-bucket。PROJECT_ID是與值區相關聯的專案 ID。例如:my-project。CORS_CONFIG_FILE是您在步驟 2 建立的 XML 檔案路徑。
如要移除值區的 CORS 設定,請設定空白的 CORS 設定。
查看值區的 CORS 設定
如要查看值區的 CORS 設定,請按照下列步驟操作:
控制台
您無法使用 Google Cloud 控制台管理 CORS。請改用 gcloud CLI。
指令列
使用 gcloud storage buckets describe 指令並加上 --format 標記:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(cors_config)"
其中 BUCKET_NAME 是您要查看其 CORS 設定的值區名稱。例如:my-bucket。
用戶端程式庫
如要使用用戶端程式庫查看值區的 CORS 設定,請按照顯示值區中繼資料的指示操作,並在回應中尋找 CORS 欄位:
REST API
JSON API
- 安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。 - 使用 cURL 透過 GET Bucket 要求呼叫 JSON API:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=cors"
其中BUCKET_NAME是您要查看 CORS 設定的值區名稱。例如:my-bucket。
XML API
- 安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。 - 使用 cURL 透過
?cors範圍內的 GET 值區要求呼叫 XML API:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://storage.googleapis.com/BUCKET_NAME?cors"
其中BUCKET_NAME是您要查看 CORS 設定的值區名稱。例如:my-bucket。
後續步驟
- 請參閱 CORS 設定範例,包括移除 bucket CORS 設定的範例。
- 進一步瞭解 CORS。
- 瞭解如何排解 CORS 要求問題。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-12-10 (世界標準時間)。