跨源資源共享 (CORS) 可讓不同來源的資源進行互動,但通常為防止惡意行為而遭到禁止。本頁說明如何在 Cloud Storage bucket 中設定 CORS,以及如何查看 bucket 中設定的 CORS。如需 CORS 設定範例,包括停用值區現有設定的設定,請參閱「CORS 設定範例」。
必要的角色
如要取得設定及查看值區 CORS 設定所需的權限,請要求管理員授予您值區的「Storage 管理員」角色 (roles/storage.admin
)。
這個預先定義的角色具備設定及查看 CORS 設定所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
storage.buckets.get
storage.buckets.update
如要瞭解如何授予值區角色,請參閱「搭配值區使用 IAM」。
設定值區的 CORS 設定
如要進行值區的 CORS 設定,請指定能夠識別該值區可接受的要求類型相關資訊,例如 HTTP 方法及來源網域。
請按照下列步驟,在值區中設定 CORS:
控制台
您無法使用 Google Cloud 控制台管理 CORS。請改用 gcloud CLI。
指令列
使用加上
--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,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何設定值區的 CORS 設定:
C#
詳情請參閱 Cloud Storage C# API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何設定值區的 CORS 設定:
Go
詳情請參閱 Cloud Storage Go API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何設定值區的 CORS 設定:
Java
詳情請參閱 Cloud Storage Java API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何設定值區的 CORS 設定:
Node.js
詳情請參閱 Cloud Storage Node.js API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何設定值區的 CORS 設定:
PHP
詳情請參閱 Cloud Storage PHP API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何設定值區的 CORS 設定:
Python
詳情請參閱 Cloud Storage Python API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何設定值區的 CORS 設定:
Ruby
詳情請參閱 Cloud Storage Ruby API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何設定值區的 CORS 設定:
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
是值區名稱。例如:my-bucket
。PROJECT_ID
是與值區相關聯的專案 ID。例如:my-project
。CORS_CONFIG_FILE
是您在步驟 2 建立的 XML 檔案路徑。
如要移除值區的 CORS 設定,請設定空白的 CORS 設定。
查看值區的 CORS 設定
如要查看值區的 CORS 設定,請按照下列步驟操作:
控制台
您無法使用 Google Cloud 控制台管理 CORS。請改用 gcloud CLI。
指令列
使用加上 --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,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
C#
詳情請參閱 Cloud Storage C# API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
Go
詳情請參閱 Cloud Storage Go API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
Java
詳情請參閱 Cloud Storage Java API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
Node.js
詳情請參閱 Cloud Storage Node.js API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
PHP
詳情請參閱 Cloud Storage PHP API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
Python
詳情請參閱 Cloud Storage Python API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
Ruby
詳情請參閱 Cloud Storage Ruby API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
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
後續步驟
- 請參閱 CORS 設定範例,包括移除值區 CORS 設定的範例。
- 進一步瞭解 CORS。
- 瞭解如何排解 CORS 要求問題。