an odd fellow

仕事のメモ

GCPでprojectをまたいだ権限の設定方法

背景

読み飛ばしてOK。自分用メモ。

AppEngineからBigTableを読み込みたかったが、BigTableはprdにあり、AppEngineはdev,stg,prdに立ち上げる予定で、devのAppEngineからprdのBigTableを読み込むとい うprojectを跨いでアクセスする必要があったが、やり方がわからず権限周りに詳しいひとに聞いたので、メモ。

結論

devのAppEngineのサービスアカウントproject-dev@appspot.gserviceaccount.comをprdのIAMから追加しBigTable読み込みの権限を付ける。

サービスアカウントについて

https://cloud.google.com/iam/docs/service-accounts?hl=ja

サービスアカウントについて理解している必要があったので読んだ。

サービスアカウントが良くわからなかったんだけど、公式のマニュアルを読んで理解した。

サービス アカウントは、個々のエンドユーザーではなく、アプリケーションや仮想マシンVM)に属している特別な Google アカウントです。アプリケーションはサ ービス アカウントを使用して、ユーザーの関与を必要とせずに Google のサービス API を呼び出すことができます。

なので、VMを作るとそのVMに対してサービスアカウントが作られて、そのサービスアカウントに設定されている権限の範囲でVMは動作するということだった。

今回の場合はAppEngineのサービスアカウントに対して、BigTableの読み込み権限を付けることで、AppEngineはBigTableを読み込むことができるようになる。