サービスアカウントにどの権限が割り当たっているか確認したい
IAMと管理 -> IAM で本当に見たいもの
サービスアカウントにどの権限が割り当たっているか確認したいとずっと思っていました。
そう思って何度もIAMと管理 -> IAMとコンソールから画面を進めていました。
ここには、IAMユーザーやグループはもちろんのことサービスアカウントが表示されます。
でも、サービスアカウントを作成した直後ってここに出てこないんですよね、、、
デフォルトのサービスアカウントについてはGoogle提供のロール付与を含みますにチェックを入れると見れます。
ただ本当に見たいのは自分で作成したサービスアカウントなんですよね。
サービスアカウントなんだからサービスアカウントで見る
IAMと管理 -> サービスアカウントって画面もあるのでサービスアカウントはこちらに表示されると一旦理解します。
ではサービスアカウントはここから確認するんだなと思い、この画面で表示されるサービスアカウントの権限を確認するんですよ。
でも、この権限からはサービスアカウントにどの権限が割り当たっているのか?ということが直感的にわからないんです。
個人的には、IAMと管理 -> IAMの画面のようにその対象(プリンシパル)と割り当てたロールが見れるような画面があると嬉しいのです。
でもそれが、見れないんですよ、、、
が、仕組みがわかりました。
- 権限が割り当たっていないサービスアカウントは
IAMと管理 -> IAMには表示されない - サービスアカウントは権限を割り当てなくても作成できる
サービスアカウントは特に権限を付与しなくても作成できるんですね。
で、権限が割り当たっていない素のサービスアカウントは、IAMと管理 -> IAMには表示されないんです。以下のようにサービスアカウント作成時に権限(ロール)の割り当ては省力可になっています。

上記のような事情があったので、IAMと管理 -> IAMには、表示されないサービスアカウントや表示されいるサービスアカウントが混在しているんだと理解しました。
ここが直感的に理解できない原因だったんですね。
実際の画面を見てみる
-
IAMと管理 -> サービスアカウントからサービスアカウントを作成する

-
サービスアカウントを作成した直後に
IAMと管理 -> IAMを見る

-
IAMと管理 -> サービスアカウントからサービスアカウントにどんな権限が割り当ったているか見てみたいが見れない

-
IAMと管理 -> IAMからプリンシパルを先ほど作成したサービスアカウントにしてロールを割り当てる

-
IAMと管理 -> IAMから見たかった内容が見えるようになる

まとめ
コンソールから実施して見るとそりゃそうだなって動きに感じたのですが、gcloudやTerraformなどでサービスアカウントを作成することが多かったので、今回の疑問にぶち当たっていました。
Google CloudのIAMわからんって苦手意識がありましたが、これで解消されそうです。
Discussion