このページでは、クロスオリジン リソース シェアリング(CORS)の構成例について説明します。バケットに CORS 構成を設定すると、異なるオリジンのリソース間のインタラクションを許可できます。これは通常、悪意のある動作を防ぐために禁止されています。
基本的な CORS 構成
ユーザーが your-example-website.appspot.com
でアクセスできる動的ウェブサイトがあるとします。your-example-bucket
という名前の Cloud Storage バケットに画像ファイルがホストされています。ウェブサイトで画像を使用するには、your-example-bucket
に CORS 構成を適用して、ユーザーのブラウザがバケットからリソースをリクエストできるようにする必要があります。以下の構成に基づいているため、プリフライト リクエストは 1 時間有効であり、ブラウザ リクエストが成功するとレスポンスでリソースの Content-Type
が返されます。
コマンドライン
gcloud コマンドの例
gcloud storage buckets update gs://example_bucket --cors-file=example_cors_file.json
CORS 構成を含む JSON ファイルの例
[ { "origin": ["https://your-example-website.appspot.com"], "method": ["GET"], "responseHeader": ["Content-Type"], "maxAgeSeconds": 3600 } ]
Google Cloud CLI を使用して CORS 構成を設定する方法の詳細については、gcloud storage buckets update
リファレンス ドキュメントをご覧ください。
REST API
JSON API
{ "cors": [ { "origin": ["https://your-example-website.appspot.com"], "method": ["GET"], "responseHeader": ["Content-Type"], "maxAgeSeconds": 3600 } ] }
CORS 構成ファイルの一般的な形式については、JSON のバケット リソース表現をご覧ください。
XML API
<?xml version="1.0" encoding="UTF-8"?> <CorsConfig> <Cors> <Origins> <Origin>https://your-example-website.appspot.com</Origin> </Origins> <Methods> <Method>GET</Method> </Methods> <ResponseHeaders> <ResponseHeader>Content-Type</ResponseHeader> </ResponseHeaders> <MaxAgeSec>3600</MaxAgeSec> </Cors> </CorsConfig>
CORS 構成ファイルの一般的な形式については、XML の CORS 構成形式をご覧ください。
バケットから CORS 設定を削除する
バケットから CORS 設定を削除するには、空の CORS 構成ファイルを指定します。
コマンドライン
--clear-cors
フラグを指定して gcloud storage buckets update
コマンドを使用する場合は、バケットから CORS 構成を削除します。
gcloud storage buckets update gs://BUCKET_NAME --clear-cors
ここで、BUCKET_NAME は、CORS 構成を削除するバケットの名前です。
クライアント ライブラリ
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
バケットに設定すると、次の構成ではバケットからすべての CORS 設定が削除されます。
{ "cors": [] }
CORS 構成ファイルの一般的な形式については、JSON のバケット リソース表現をご覧ください。
XML API
バケットに設定すると、次の構成ではバケットからすべての CORS 設定が削除されます。
<CorsConfig></CorsConfig>
CORS 構成ファイルの一般的な形式については、XML の CORS 構成形式をご覧ください。
次のステップ
- クロスオリジン リソース シェアリング(CORS)の詳細を確認する。
- バケットに CORS 構成を設定して表示する。