ちょっと話題の記事

2015年3月 AWS IAMポリシーのチェック厳格化への対策

2014.12.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ども、大瀧です。
本日、AWSより2015年3月にIAMポリシードキュメントの文法チェックが厳格化するというアナウンスがありました。具体的にどんな対策をするべきか、まとめてみました。

確認方法

まずは、対策が必要かどうかを確認します。IAMのDashboard画面(https://console.aws.amazon.com/iam/)にアクセスして、画面上部に「Fix Policy Syntax」の警告が表示されたら対策が必要表示されなければ対策は不要です。

iam-policy-validate01

警告が表示されたら、早速警告文末尾にある[Fix Syntax]リンクをクリックしてPolicy Validatorを表示します。

Policy Validatorによるポリシードキュメントの修正

Policy Validatorのリストには、修正が必要なポリシー一覧が表示されます。ポリシー名をクリックすると、自動修正前と修正後のポリシーが比較・確認できます(この時点では、まだ修正されません)。

iam-policy-validate02

画面上部の[Recommended Policy]が自動修正後のポリシー、[Existing Policy]が現在のポリシーです。修正内容に問題がないか確認し、[Apply Changes]ボタンをクリックして修正を適用します。

iam-policy-validate03

ポリシー一覧に戻り、ポリシーが正常にアップデートできたという表示と、一覧から修正したポリシーが除かれていることを確認します。同様に他のポリシーも修正すれば対応完了です。

iam-policy-validate04

放っておくとどうなるのか

2015年3月までは、上記警告が出る以外に影響はありません。日付は公表されていませんが、3月になると未修正のIAMポリシーは、新規作成や更新ができなくなるとのことです。早めのチェックと修正を検討しましょう。特に、CloudFormationでIAMポリシーの作成を自動化している場合は、テンプレートを修正しなくてはならないため注意が必要です。

そもそも何を修正しているのか

今回の対策は、具体的に何を修正しているのでしょうか。リリースノートやAWSセキュリティブログを見る限りではIAMの機能やポリシーの書式に変更があったわけではなく、JSONとしては正しいがIAMポリシーとしては正しくないという、従来チェックしていなかった記述を修正するようです。

そのため、自動修正の結果としてIAMの挙動が変化し「AWSにアクセスできなくなった」や、「認証が通らなくなった」といったことが起きる可能性は低そうです。ともあれ、本番システムなどの場合は修正前のIAMの構成をGetAccountAuthorizationDetails API(AWS CLIで利用できます)やmiamなどのツールでバックアップを取得しておくと良いでしょう。

具体的な文法のチェック項目はドキュメントを参照することになりますが、全て確認するのは大変なので、AWSセキュリティブログのよくあるエラーの記事で指摘している項目をチェックすると良いでしょう。

参考資料