Google Cloudのサービスアカウント設定

サービスアカウントは、Google CloudのAPI利用の際にアプリケーションを認証するアカウントです(詳細は公式ドキュメント参照)。

多くのケースでは、jsonファイルを取得してAPIクライアントアプリに同梱して用います。
認証と認可が分離されているため、万一、認証ファイルを紛失した場合には認可取り消し(revoke)操作によりアクセスを遮断できます。

アカウント作成

Cloud Consoleのサービスアカウント画面で新規作成できます(IAMと管理 -> サービスアカウント)。

最低限必要な情報は、プロジェクト内でユニークな文字列を指定するだけです。

アカウント作成時に「新しい秘密鍵の提供」を選択して、JSONクレデンシャルを取得しておきます。

API利用するツールを使用する際の設定ファイルとして利用することになります。このファイルをツールにインプットすると権限付与されるため、流出しないよう管理する必要があります。

権限の編集

アカウントに割り当てる権限はいつでも変更できます。

Google API群には詳細な権限が用意されており、必要な権限を揃えたリストを「役割」としてセット管理します。
アカウントには個別の権限ではなく、役割(RBMACのロール)を付与します。

プロジェクトの権限をサービスアカウントに追加するには、IAMの画面で該当プロジェクトのメンバーに追加したうえで、役割を選択します。

Google Cloudには既定の役割も用意されていますが、詳細な権限指定をしたい場合には、役割の画面で独自の権限セットを新設することも可能です。

役割自体の数が多いため、カテゴリ分類されていますが、自分で作成した役割は”Custom”というカテゴリに所属しています。