0
0

More than 1 year has passed since last update.

CloudFormation での IAM Policy (管理ポリシー)作成

Last updated at Posted at 2022-01-20

最近CloudFormationをいじっているのだけど、いろいろと詰まることが多い。今日はIAMのPolicy作成でつまった。

以下のAWS::IAM::Policy を利用してポリシー作成したらインラインポリシーになってしまった。思いっきり最初の文章にかいてあるのだけど、読まずにさわっていた。
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-roles

どうやら管理ポリシーとして作成する場合はAWS::IAM::ManagedPolicyを利用するらしい。
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html#cfn-iam-managedpolicy-policydocument

インラインポリシーの場合はロール側にVersionがあれば正常とみなされたが、ManagedPolicyはそれ自体にVersionが必須となるので注意。あと、名前もPolicyNameでなくManagedPolicyNameを指定する必要がある。

開発途中で気が付いたのだけど、手元でcfn-lintを利用していて、マネジメントコンソールのエラー表示よりも前者の方が親切なエラーを吐いてくれる。
下のエラーはManagedPolicy のバージョン指定において間違えた文字列を指定した場合のエラーだがcfn-lintの方が間違いが特定しやすい。

cfn-lint
E2507 IAM Policy Version needs to be one of (2012-10-17, 2008-10-17).

マネジメントコンソール
AmazonIdentityManagement; Status Code: 400; Error Code: MalformedPolicyDocument;

明日は今日作成したロールをEC2のインスタンスプロファイルに付与できるように実装を進めたい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0