[AWS IAM] 経験者向けManaged Policy対応ガイド

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ども、大瀧です。
先週、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]で一覧、操作できます。

managedpolicy01

上記スクリーンショット右上のドロップダウンの通り、Managed PolicyはAWS Managed PolicyCustomer Managed Policyの2種類があります。AWS Managed PolicyはAWSが事前定義している変更不可のポリシー、Customer Managed Policyはユーザーが自由に設定できるポリシーです。AWS Managed PolicyはAWSがメンテナンスしてくれるので新サービスへの対応などが期待できますが、勝手にポリシーが変わるのは運用管理の観点で望ましくない、本番環境ではタグを利用してリソース単位で細かく制限したい、といったケースも考えられるので、Customer Managed Policyを利用する場面が多くなりそうです。

変更点2 : グループ/ロール作成の手順

IAMの管理画面で新規にグループもしくはロールを作成する手順が変わりました。従来は、それぞれを作成するウィザードの中でIAMポリシーを一緒に作成していました。今回の変更でIAMポリシーの作成、設定はウィザードからは外れ、あらかじめ作成済みのManaged Policyから選択するようになりました。以下は、グループ作成時にグループ名を入力した次の画面です。

managedpolicy02

ポリシーを記述する項目は無く、ポリシーを選ぶだけという様子がわかると思います。また、1つのグループ/ロールに紐付けるManaged Policyは最大2つまでという上限も、設計上注意が必要ですね。

そして、前述のInline Policy(つまり従来通りのポリシー)を設定する場合はポリシーは未選択のままウィザードを完了させそのあとプロパティから設定するという、ちょっとトリッキーな手順を踏むことになります。グループの作成として以下に例を示します。

まずは、IAM管理画面の[Groups]にある[Create Group]でグループ作成ウィザードを表示します。

managedpolicy03

今回はグループ名として「sampleGroup」を設定します。

managedpolicy04

ここが今回のポイントです。Managed Policyの選択画面になりますが、今回はInline Policyを使いたいので未選択のまま[Next Step]をクリックします。

managedpolicy05

[Policies]が空のまま、[Create Group]ボタンをクリックしてグループを作成します。

managedpolicy06

グループの一覧画面に戻るので、作成したsampleGroupをクリックしプロパティ画面を表示します。

managedpolicy07

managedpolicy08

画面下方の[Permissions]に[Inline Policies]があるので、これをクリックします。

managedpolicy09

設定画面へのリンクが表示されるので、[Click]リンクをクリックします。

managedpolicy10

やっと、見慣れたポリシー設定の画面が出てきました。テンプレートからの引用ができないのが地味に不便ですが、ジェネレータもしくはカスタムポリシーからInline Policyが設定できます。

まとめ

従来のIAMポリシーの操作に慣れている方からすると戸惑う変更だと思いますが、Managed Policyは便利なので徐々に移行していきましょう。Inline PolicyのUIがかなり不便なので、この辺りは改善されると良いですね。