はじめに
AWSを触り始め詰まったところを備忘録として残しつつ、
後々誰かの役に立てばいいなと思い記事にしてみました。
今回は、API Gateway
+ Lambda
で簡易的なAPIを作ろうと思った時に
iam関連で弾かれたので、その内容を記載していきます。
Lambdaで関数作ろうとしたらいきなり怒られた。。
iam:CreateRole へのアクセスが拒否されました
iam:CreateRole に対する許可がありません。 アクセスをリクエストするには、次のテキストをコピーして AWS 管理者に送信してください。
ユーザー: arn:aws:iam::**********:user/powerAccessUser
アクション: iam:CreateRole
リソース : arn:aws:iam::**********:role/service-role/**********
コンテキスト: no identity-based policy allows the action
AWS管理者って俺なのだが。。。
とりあえず、勘で問題解決に向けて動いてみた。
エラーの一行目の内容からRoleを作る権限がないんだなと思い、
管理権限を持ったユーザーに切り替えて、権限を付与しようとしてみた。
CreateRoleってやつないやん。。。
もうちょっとエラーの内容を詳しくみてみた。
アクション: iam:CreateRole
って書かれてあったので、
ググって見つけたページがこちら
なるほど。。
アクションとポリシーは違うものなのね。
もうちょっと調べてみた
この記事の内容的に
いくつかのアクションをまとめたものがポリシーなのかなと推測。
コンソールで確認してみた

うん!なんとなく当たってそう!!
というわけで、このポリシーを適用して無事に解決!
終わりに
たぶん、もっと細かく権限付与した方が良さそうだが、
本来のやりたいことからちょっとずれてきたので、
またの機会にもっと深掘りすることにしよう。
ではまた