2015年3月 AWS IAMポリシーのチェック厳格化への対策
ども、大瀧です。
本日、AWSより2015年3月にIAMポリシードキュメントの文法チェックが厳格化するというアナウンスがありました。具体的にどんな対策をするべきか、まとめてみました。
確認方法
まずは、対策が必要かどうかを確認します。IAMのDashboard画面(https://console.aws.amazon.com/iam/)にアクセスして、画面上部に「Fix Policy Syntax」の警告が表示されたら対策が必要、表示されなければ対策は不要です。
警告が表示されたら、早速警告文末尾にある[Fix Syntax]リンクをクリックしてPolicy Validatorを表示します。
Policy Validatorによるポリシードキュメントの修正
Policy Validatorのリストには、修正が必要なポリシー一覧が表示されます。ポリシー名をクリックすると、自動修正前と修正後のポリシーが比較・確認できます(この時点では、まだ修正されません)。
画面上部の[Recommended Policy]が自動修正後のポリシー、[Existing Policy]が現在のポリシーです。修正内容に問題がないか確認し、[Apply Changes]ボタンをクリックして修正を適用します。
ポリシー一覧に戻り、ポリシーが正常にアップデートできたという表示と、一覧から修正したポリシーが除かれていることを確認します。同様に他のポリシーも修正すれば対応完了です。
放っておくとどうなるのか
2015年3月までは、上記警告が出る以外に影響はありません。日付は公表されていませんが、3月になると未修正のIAMポリシーは、新規作成や更新ができなくなるとのことです。早めのチェックと修正を検討しましょう。特に、CloudFormationでIAMポリシーの作成を自動化している場合は、テンプレートを修正しなくてはならないため注意が必要です。
そもそも何を修正しているのか
今回の対策は、具体的に何を修正しているのでしょうか。リリースノートやAWSセキュリティブログを見る限りではIAMの機能やポリシーの書式に変更があったわけではなく、JSONとしては正しいがIAMポリシーとしては正しくないという、従来チェックしていなかった記述を修正するようです。
そのため、自動修正の結果としてIAMの挙動が変化し「AWSにアクセスできなくなった」や、「認証が通らなくなった」といったことが起きる可能性は低そうです。ともあれ、本番システムなどの場合は修正前のIAMの構成をGetAccountAuthorizationDetails API(AWS CLIで利用できます)やmiamなどのツールでバックアップを取得しておくと良いでしょう。
具体的な文法のチェック項目はドキュメントを参照することになりますが、全て確認するのは大変なので、AWSセキュリティブログのよくあるエラーの記事で指摘している項目をチェックすると良いでしょう。