数週間前、私たちはAWS Identity and Access Management (IAM)ポリシー言語の構文に関するドキュメントをリリースし、構文の中のよくあるエラーをお伝えするためback-to-school policy grammarというブログの投稿を致しました。 お客様のポリシーがお客様の意図にあっていることを確認するお手伝いをするために、私達はポリシーの検証機能を更に一歩進めているところです。2015年の3月より、新しいポリシーやアップデートされたポリシーはIAMのポリシー言語の構文に従う必要があります。よいニュースとしては大部分のお客様のポリシーはこの変更による影響を受けません - それらはそのままで問題ありません!もしお客様が準拠していないポリシーを使用していても、それらを見つけ修正することがより容易に行うことができます。準拠していないポリシーがあった場合、お客様はIAMコンソール上の新しい通知機能に加え、ポリシーの修正を助ける検証ツールを利用することができます。
なぜこのような変更を行うのでしょうか?
私達はお客様のポリシーがお客様の意図を反映しているか確認するお手伝いをしたいと考えています。例えば、もしお客様が矛盾した"Allow"と"Deny"のEffectエレメントを持つポリシーステートメントを持っていたとすると、このポリシーは受け付けはされるものの、ステートメント中の最後のEffectエレメントしか使えるように解釈されません。例えば以下のポリシーは"Allow"が評価されますが、そのかわりに"Deny"を使うことを意図していたのかもしれません。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Effect": "Allow",
"Action": "ec2:* ",
"Resource": "*"
}
]
}
この変更はお客様のポリシーにどのような意味を持つのでしょうか?
全ての既存のポリシーは今のままで適用され続けます。しかしながら2015年の3月よりIAMポリシー言語の構文に従わないポリシーは変更や保存ができなくなります。もしお客様が自身のポリシーテンプレートを作成していたり、新しいポリシーを作成する自動化スクリプト等を利用していた場合は、それらのアップデートが必要になるかもしれません。
自分のポリシーが準拠していないことをどのように知るのでしょうか?
やらなければいけないことはIAMコンソールにサインインすることです。もしあなたが黄色いバナーをみたら(この段落の以下をご覧ください)、あなたのAWSアカウントは変更を必要とするポリシーを持っています。もしこのバナーがなければ、あなたのポリシーは全て準拠した物であり、問題はありません!

どのように準拠していないポリシーを修正するのでしょうか?
ポリシーの修正を助けるために、アカウント内の全ての準拠していないポリシーをリコメンデーションと共にリストするツールが提供されています。IAMコンソールを使用しポリシーをどのように修正するのか見てみましょう。
Step1: IAMコンソールにサインインします

Step2: Fix Syntaxをクリックします
全ての準拠していないポリシーのリストを載せたページが現れます。
Note: もしあなたが1,2しかアップデートすべきポリシーをもっていないのであれば、私達はコンソールを利用することをお勧めします。しかし、もし準拠していないポリシーがスクリプト等で大量に生成されている場合、私達はスクリプトを修正し、そしてもう一度実行することでポリシーをアップデートすることをお勧めします。
Step3: アップデートしたいポリシーをクリックします。この例ではEC2Policyをアップデートします。
Step4: あなたのポリシーに対するリコメンドされた変更をレビューします
Note: もしリコメンドされたポリシーがあなたの意図を汲んでいなければ、上部のポリシーウィンドーで変更してください。既存のポリシーはリコメンドされたポリシーの下に表示されます。
Step5: 変更に問題がなければApply Changesをクリックしてください。この段階で、そのポリシーはアカウント内でアップデートされます。そしてもしまだポリシーが残っていれば、残された無効なポリシーのリストに戻されます。
このステップを全ての準拠していないポリシーに対して繰り返してください。あなたのアカウントが準拠していないポリシーを持たなくなれば、すぐに黄色いバナーは表示されなくなります。
Conclusion
あなたのポリシーがあなたの意図を反映しているか確かめるため、より厳しくなった検証をパスしていないポリシーはできるだけすぐに取り掛かることをお勧めいたします。
どうぞこのプロセスの助けになるpolicy validation documentationやpolicy grammar languageを参照ください。いつものように、もしご質問やご指摘がありましたらAWS IAM forumにお願い致します。
--Brigid (日本語訳は高田が担当しました)