STERFIELD

署名付きURLでCloud Storage に画像ファイルを直接アップロードする

署名付きURLでCloud Storage に画像ファイルを直接アップロードする

署名付きURLとは

概要は公式ドキュメントの「署名付き URL」で説明されています。また「署名付き URL を活用して Cloud Storage に画像ファイルを直接アップロードするアーキテクチャを設計する」にも紹介されています。

署名付き URL 機能を使うことで、英数字の署名トークン付きの URL を知っている人がアクセスできる、時間制限付きの URL を発行することができます。

クエリ文字列内に認証情報が入っているため、 設定された制限時間内であれば URL を知っている誰もが アクセスでき、認証は必要ありません。

何らかの理由で Google アカウントやサービスアカウントによる認証が使えない場面で、限定的なアクセス (オブジェクトのアップロードやダウンロード) を提供したいときに利用します。

署名付き URL は以下のようになります。

https://storage.googleapis.com/example-bucket/cat.jpeg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=example%40example-project.iam.gserviceaccount.com%2F20181026%2Fus-central1%2Fstorage%2Fgoog4_request&X-Goog-Date=20181026T181309Z&X-Goog-Expires=900&X-Goog-SignedHeaders=host&X-Goog-Signature=247a2aa45f169edf4d187d54e7cc46e4731b1e6 (中略) c56c5ca81ff3447032ea7abedc098d2eb14a7

 

アップロードの流れ

署名付きURLを生成する処理

参考元:https://cloud.google.com/storage/docs/access-control/signing-urls-with-helpers#code-samples

Cloud StorageのバケットにCORS設定をする

バケットの CORS 構成を設定するには、受け入れられるリクエストのタイプを識別する情報(HTTP メソッドや発信元のドメインなど)を指定します。

CORSを設定する

CORSを確認する

画像ファイルを直接アップロード

アップロード成功したら

アップロード成功したら、バケット内のファイルのページで詳細が見れます。

 

 

Author Profile

著者近影

スターフィールド編集部

SHARE

合わせて読みたい