跨源資源共享 (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:
控制台
您無法使用 Trusted 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,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 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 設定:
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization
標頭產生存取權杖。建立 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
安裝並初始化 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.s3nsapis.fr/BUCKET_NAME?cors"
其中:
BUCKET_NAME
是值區名稱。例如:my-bucket
。PROJECT_ID
是與值區相關聯的專案 ID。例如:my-project
。CORS_CONFIG_FILE
是您在步驟 2 建立的 XML 檔案路徑。
如要移除值區的 CORS 設定,請設定空白的 CORS 設定。
查看值區的 CORS 設定
如要查看值區的 CORS 設定,請按照下列步驟操作:
控制台
您無法使用 Trusted 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,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 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
。
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.s3nsapis.fr/storage/v1/b/BUCKET_NAME?fields=cors"
其中
BUCKET_NAME
是您要查看其 CORS 設定的值區名稱。例如:my-bucket
。
XML API
後續步驟
- 請參閱 CORS 設定範例,包括移除值區 CORS 設定的範例。
- 進一步瞭解 CORS。
- 瞭解如何排解 CORS 要求問題。