前回Google App EngineよりGoogle Cloud Storageへのファイルアップロード方法を紹介しました。場合によっては、アップロードしたファイルを公開したいこともあるでしょう。例えば、ユーザがアップロードした画像をサイト上に表示するなど、多くのケースが考えられます。
しかし特に設定を行わなければ、Google Cloud Storageは一般ユーザには公開されません。今回はその公開設定方法を紹介したいと思います。公開方法は大きく分けて、ファイル単位の公開設定とバケット・フォルダ単位の公開設定の2通りあります。
ファイル単位の公開設定
GCSにあるファイルは、1ファイル単位で細かな設定を行うことができます。特別、一般ユーザに向けて設定を行う場合は、ファイルの一番右にあるメニューより操作します。
ドロップダウンメニューより「権限を編集」をクリックします。すると権限編集ポップアップウィンドウが表示されます。
ここで「+項目を追加」をクリックします。
新しい項目が表示されますので、次のように値をセットします。
- エンティティ … グループ
- 名前 … allUsers
- アクセス権 … 読み取り
そして保存ボタンをクリックします。
ファイルの公開アクセス欄に「警告マーク」が表示されるようになりますが、これは一般公開していると表示されますので、ここでは気にしなくても大丈夫です。
それでは「公開」の右にあるリンクをクリックし、画像を表示してみましょう。
上記はGoogle Chromeのゲストウィンドウで表示していますが、問題なく画像が表示されています。
バケット・フォルダ単位の公開設定
ファイル単位の公開設定の方法は既にGCS上にあるファイルに対して行うことができるアクションでした。前回紹介したようなGAEよりGCSへアップロードした画像に対しては、公開権限を付加することはできません。さらにアップロードしてから公開権限付与までの間のラグが生じてしまい、プログラマブルとは言えないです。
そこでバケットまたはフォルダに公開権限を付与することで、当該バケットまたはフォルダにあるファイルを公開することができるようになります。
まず公開したいファイルを配置するバケットまたはフォルダを開きます。そして「権限」タブをクリックします。ここでは、現在権限が付与されているメンバーが表示されます。続いて「メンバーを追加」をクリックします。
「メンバーの追加」ポップアップが表示されますので、次のように設定します。
- メンバー … allUsers
- 役割 … ストレージオブジェクト閲覧者
これで設定はOKです。このバケットもしくはフォルダにあるファイルには、一般公開されていることを示す警告マークが表示されるようになります。そしてリンクを開くことができるようになります。
まとめ
Google Cloud Storageは画面を見ながら操作できるので、直感的に判りやすいですね。しかし、設定項目を知らなければ、最初は躓いてしまうものです。こちらを参考にGCSを使いこなして頂ければと思います。