top pageへ.

Programming Room.

Google Cloud Tips.

GCS Tips.

サービスアカウントキーの取得.2019/11/13

 XML API + 署名付きURLで使用する、サービスアカウントキーの取得方法の説明です。


おしながき

サービスアカウントキーの取得.

概要.

 署名付きURLをサービスアカウント取得するためには、まずサービスアカウントキーを取得します。サービスアカウントキーは、取得してしまえば削除するまで有効です。
 このサービスアカウントキーの取得手順は、アップロード/ダウンロードで共通ですので、このページで説明します。


キーの取得手順.

 最初に準備として、サービスアカウントキーを取得します。GCPコンソールのメニューから「APIとサービス」-「認証情報」とたどって、「認証情報」のページを表示します。設定済みの認証情報があれば、そのリストが表示され、画面上部に「認証情報を作成」のボタンが表示されます。。何も認証情報がない場合は、作成を案内するメッセージが表示されます。
 「認証情報を作成」のボタンを押すと...


 右の様にドロップダウンリストが表示されるので、「サービスアカウントキー」を選択します。


 「サービスアカウントキーの作成」画面になります。

 「サービスアカウント」のドロップダウンリストは、デフォルトのサービスアカウントを使用する場合は、署名付きURLの生成を実装するフロントエンドに応じて、GAEまたはGCEを選択します。


 デフォルトのサービスアカウントではなく、新規にサービスアカウントを作っても構いません。その場合は「新しいサービスアカウント」を選択します。
 すると右の様に入力項目が増えます。入力が必須なのは、「サービスアカウント名」と「サービスアカウントID」の2つです。このアカウントの目的を表す名称などが良いと思います。
 「サービスアカウント名」は日本語も入力可能でした。
 「サービスアカウント名」を入力すると勝手に「サービスアカウントID」も候補を入力してくれますが、自分で入力しなおすこともできます。

 さらに、GAE/GCEのデフォルトサービスアカウントと違って、役割を指定することもできます。役割を限定できるので、デフォルトサービスアカウントを使用するより安全かもしれません。署名付きURLは期限と認証情報の範囲内で何でもできてしまうので、役割ベースで権限を限定するほうが、望ましいと思います。
 役割は1つのサービスアカウントに複数設定できます。
 アップロード/ダウンロードのみ許可するなら、「ストレージ」-「ストレージオブジェクト管理者」のみでいいと思います。


 「キーのタイプ」は、推奨されているJSONで十分と思います。これはJSON APIとは関係なく、保存される秘密鍵のファイルフォーマットです。


 以上の入力が終わったら、「作成」ボタンを押します。数秒で右の様に完了のメッセージが表示されます。同時にキーを保存したファイルが、ブラウザによってダウンロードされています。このファイルは2度と作成することができないようなので、なくさないようにローカルの開発環境に保存してください。


アプリケーションへの配置.

 取得したサービスアカウントキーは、署名付きURLの生成を実装するアプリケーションから読み出せるように、アプリケーションのリソースにします。
 Eclipseを使用している場合は、WEB-INFディレクトの下に配置します。複数のキーをまとめるサブディレクトリを作っておくといいと思います。読み出すときのパスは、以下の様に「WEB-INF」から相対パスで指定します。

WEB-INF/サブディレクトリ名(作るのなら)/保存したサービスアカウントキーのファイル名

▲page top.
Copyright 2005-2023, yosshie.