寝ても覚めてもこんぴうた

プログラム書いたり、ネットワーク設計したり、サーバ構築したり、車いじったり、ゲームしたり。そんなひとにわたしはなりたい。 投げ銭は kyash_id : chidakiyo マデ

Permission 'iam.serviceaccounts.actAs' denied on service account ~~ のように言われたとき

f:id:chidakiyo:20211108183530j:plain

従来、GCPの特定のサービスでは、ユーザがサービスアカウントを偽装する権限がなくても、サービスアカウントをリソースにアタッチすることができましたが、

  • App Engine
  • CloudComposer
  • Cloud Data Fusion
  • Dataflow
  • Dataproc

においては偽装する権限を付与する必要があります。(2021年1月以前に作ったプロジェクトはおそらく)

解決方法

突然の解決方法ですが、

タイトルのようなログの中で表示されているサービスアカウントに対し、 roles/iam.serviceAccountUser 権限を付与することで解決します。

GCPのコンソールからは以下の図のように Service Account User を追加します。

f:id:chidakiyo:20211108183242p:plain

ではでは。

参考資料

Requiring permission to attach service accounts to resources

GCPセキュリティ変更に伴うAppEngineのIAM更新について - Qiita