AWS Managed Policies の現状と課題 #aws
2/16 に公式ブログ - Amazon Web Services ブログ: 【新機能】マネージドポリシー for AWS Identity & Access Management で発表された AWS IAM の新しい Policy 管理機能である、Managed Policies を試してみました。
機能の概要を以下にかんたんにまとめてみます。
- 任意の IAM User または IAM Group に最大2個の Managed Policies を適用することができる
- 更に Policy を適用したい場合や、Managed Policies にない Policy を適用したい場合は、Inline Policies という形で任意の Policy を追加できる。
- 今まで User や Group に設定されていた Policy は全て Inline Policies 扱いになっている。
- Managed Policies
この新機能のメリットは次のような点だと思います。
- AWS Managed Policies が豊富
- 一般的な用途はこれでまかなえそう
- Policy を自作する場合も参考にしやすい
- Managed Policies は Version 管理できる(ただし、最大5つまで)
- Policy 作成がかんたんになった
- AWS Managed Policies を適用するだけなら一瞬
- Policy 管理をより柔軟に行えるようになった
ちょうど、AWS を使う新規の案件があったので、次のようなルールで IAM Policy を運用することにしてみました。
- 利用する IAM Policy は全部 Managed Policies で新規作成する。
- IAM Group に作成した Managed Policies を適用する。
- IAM User には原則 Policy は付けず、IAM Group に所属させる。
なんとなくこれで、いい感じに運用できそうな気がします。
ただし、以下は課題だと思います。
- 1つの IAM User / Group に適用できる Managed Policies は最大2個まで
- Managed Policies は最大5個までしかバージョンが保存されない
例えば、複雑で頻繁に Policy 更新される User がいる場合、1つの Policy に詰め込むと、バージョンが5つまでしか保存されないことがネックになりそうです。
また、1つの Group に適用できる Managed Policies は 2個までなので、例えば S3 など機能単位で Policy を分けたとしても限界がありそうです。
もう1点、課題と思った点がありました。
現状、Managed Policies に対しては Policy Simulator が使えないようです。
もし Policy Simulator で Policy の動作確認をしたい場合、同じ Policy を Inline Policies として作成して実施する必要があると思います。
(2/28 追記)
Developers.IO の記事*1を見てやってみたら、Policy Simulator で Managed Policies のシミュレートができるようになっていました。
まだリリースされたばかりの機能なので、今後よくなっていくのだろうなと思います。