weblog of key_amb

主にIT関連の技術メモ

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 が管理する標準的な Policy が揃っている。これらは AWS 側で自動更新されるようだ。
    • 任意の Policy を作成できる。上記の AWS 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 のシミュレートができるようになっていました。

まだリリースされたばかりの機能なので、今後よくなっていくのだろうなと思います。

参考