[AWS IAM] 経験者向けManaged Policy対応ガイド
ども、大瀧です。
先週、AWS Identity and Access ManagementにManaged Policyという機能が追加されました。
AWS公式ブログでManaged Policyを使うと便利だよ!というエントリーが公開されているので、Managed Policyの使い方はそちらを参照ください。
この新機能、よりセキュアに、より便利にIAMを利用できる素晴らしいアップデートなのですが、従来の手順を知っているユーザーにとっては設定方法が変わってしまう、多少厄介なアップデートという一面もあります。そこで本記事では、従来からどこが変わったのか、何を押さえておけばいいのかを解説します。
変更点1 : 従来のIAMポリシーはInline Policyに
今回のManaged Policyの追加により、従来利用していたIAMポリシーはInline Policyと呼ぶようになりました。Managed PolicyもInline Policyも、IAMポリシーとしてのはたらきに差異はありません。Inline Policyは設定した対象のみに適用される個別ポリシーなのに対して、Managed Policyは複数の対象に適用できる共通ポリシーとして利用できるのが特徴です。
Managed Policyは、IAMの管理画面にある[Policies]で一覧、操作できます。
上記スクリーンショット右上のドロップダウンの通り、Managed PolicyはAWS Managed PolicyとCustomer Managed Policyの2種類があります。AWS Managed PolicyはAWSが事前定義している変更不可のポリシー、Customer Managed Policyはユーザーが自由に設定できるポリシーです。AWS Managed PolicyはAWSがメンテナンスしてくれるので新サービスへの対応などが期待できますが、勝手にポリシーが変わるのは運用管理の観点で望ましくない、本番環境ではタグを利用してリソース単位で細かく制限したい、といったケースも考えられるので、Customer Managed Policyを利用する場面が多くなりそうです。
変更点2 : グループ/ロール作成の手順
IAMの管理画面で新規にグループもしくはロールを作成する手順が変わりました。従来は、それぞれを作成するウィザードの中でIAMポリシーを一緒に作成していました。今回の変更でIAMポリシーの作成、設定はウィザードからは外れ、あらかじめ作成済みのManaged Policyから選択するようになりました。以下は、グループ作成時にグループ名を入力した次の画面です。
ポリシーを記述する項目は無く、ポリシーを選ぶだけという様子がわかると思います。また、1つのグループ/ロールに紐付けるManaged Policyは最大2つまでという上限も、設計上注意が必要ですね。
そして、前述のInline Policy(つまり従来通りのポリシー)を設定する場合はポリシーは未選択のままウィザードを完了させそのあとプロパティから設定するという、ちょっとトリッキーな手順を踏むことになります。グループの作成として以下に例を示します。
まずは、IAM管理画面の[Groups]にある[Create Group]でグループ作成ウィザードを表示します。
今回はグループ名として「sampleGroup」を設定します。
ここが今回のポイントです。Managed Policyの選択画面になりますが、今回はInline Policyを使いたいので未選択のまま[Next Step]をクリックします。
[Policies]が空のまま、[Create Group]ボタンをクリックしてグループを作成します。
グループの一覧画面に戻るので、作成したsampleGroupをクリックしプロパティ画面を表示します。
画面下方の[Permissions]に[Inline Policies]があるので、これをクリックします。
設定画面へのリンクが表示されるので、[Click]リンクをクリックします。
やっと、見慣れたポリシー設定の画面が出てきました。テンプレートからの引用ができないのが地味に不便ですが、ジェネレータもしくはカスタムポリシーからInline Policyが設定できます。
まとめ
従来のIAMポリシーの操作に慣れている方からすると戸惑う変更だと思いますが、Managed Policyは便利なので徐々に移行していきましょう。Inline PolicyのUIがかなり不便なので、この辺りは改善されると良いですね。