Managed Policies for IAM を使っての設定とロールバックを試す


リリースされましたね！

詳しい事は[公式ブログ](https://aws.amazon.com/blogs/aws/new-managed-policies-for-aws-identity-access-management/)に書いてあります。

既に使えるようなので、試してみます。

## 1.カスタムポリシーをつくってアタッチしてみる

アタッチを試してみます。
IAMのコンソールへ行き、画面左の「Policies」をクリックします。
![スクリーンショット 2015-02-13 5.22.17.png](https://qiita-image-store.s3.amazonaws.com/0/30588/4e089172-86dc-37fe-05f5-2c186ce21799.png "スクリーンショット 2015-02-13 5.22.17.png")

ポリシー一覧画面が現れます。「Create Policy」の部分からカスタムポリシーを作ってみます。
![スクリーンショット 2015-02-13 5.27.21.png](https://qiita-image-store.s3.amazonaws.com/0/30588/4f0473f2-7450-2aaa-2c94-0563201fc342.png "スクリーンショット 2015-02-13 5.27.21.png")

AWSが用意しているPolicyをもとに作る事もできますね。とりあえず、今回はそれでやってみます。
![スクリーンショット 2015-02-13 5.28.53.png](https://qiita-image-store.s3.amazonaws.com/0/30588/ff899264-b529-77d4-3ad5-6895bfecb276.png "スクリーンショット 2015-02-13 5.28.53.png")


コピー元の権限一覧が出てきます。とりあえず今回はAdministratorAccessを選択します。
![スクリーンショット 2015-02-13 5.35.39.png](https://qiita-image-store.s3.amazonaws.com/0/30588/9ccf8bb9-8955-92db-0734-51da3e7f3cd8.png "スクリーンショット 2015-02-13 5.35.39.png")

見慣れた権限が出てきますね。ここでもとりあえず「Create Policy」をクリックしてPolicyを作成します。
ただ、今のところ、Policy名をあとから更新できなさそうなので、命名には気をつけましょう。
![スクリーンショット 2015-02-13 5.35.46.png](https://qiita-image-store.s3.amazonaws.com/0/30588/337ee418-ebd3-ee2f-350a-c9bf33e8cbc6.png "スクリーンショット 2015-02-13 5.35.46.png")

一覧が表示され、現在作ったPolicyが表示されます。AWSが用意していたものではないのでアイコンが何もついてませんね。
![スクリーンショット 2015-02-13 5.36.20.png](https://qiita-image-store.s3.amazonaws.com/0/30588/a1b1861c-d824-e4b0-f17c-821b3c13a5df.png "スクリーンショット 2015-02-13 5.36.20.png")


一覧から上記で作ったPolicyをクリックして、詳細を確認すると、先ほど作った通りで設定されています。
![スクリーンショット 2015-02-13 6.18.50.png](https://qiita-image-store.s3.amazonaws.com/0/30588/d050100b-604d-7979-79c7-408d759a0f96.png "スクリーンショット 2015-02-13 6.18.50.png")

上記画面下のVersion欄を確認すると、`Version1` になっているのが分かります。
![スクリーンショット 2015-02-13 5.37.17.png](https://qiita-image-store.s3.amazonaws.com/0/30588/cf6695df-fdf0-b5e6-941d-f5095ce9a583.png "スクリーンショット 2015-02-13 5.37.17.png")


試しに権限を `Allow` -> `Deny` に変更し、保存します。「Save as Default version」にはチェックを入れたままにします。
![スクリーンショット 2015-02-13 5.37.34.png](https://qiita-image-store.s3.amazonaws.com/0/30588/6aff34dd-4723-488a-78af-cc3fde7a3396.png "スクリーンショット 2015-02-13 5.37.34.png")

先ほどのVersionを確認すると、`Version2` が追加され、`Default` になっている事が分かります。
![スクリーンショット 2015-02-13 5.37.42.png](https://qiita-image-store.s3.amazonaws.com/0/30588/a1d7854e-bfbe-7cca-f641-8218397ec65f.png "スクリーンショット 2015-02-13 5.37.42.png")


ではこのPolicyをAttachしてみましょう。Attachのボタンをクリックします。
![スクリーンショット 2015-02-13 6.20.59.png](https://qiita-image-store.s3.amazonaws.com/0/30588/ead92f45-b5a0-2e22-015d-97f735494b26.png "スクリーンショット 2015-02-13 6.20.59.png")



アタッチ対象を選択する画面が開きます。対象はIAM User, Group, Role から選択可能なようです。今回は test-user にアタッチします。
![スクリーンショット 2015-02-13 5.37.54.png](https://qiita-image-store.s3.amazonaws.com/0/30588/0e40c388-102a-42fe-e314-721633500f46.png "スクリーンショット 2015-02-13 5.37.54.png")

Policyの詳細ページが表示され、Attachされた事が確認できます。
![スクリーンショット 2015-02-13 5.38.25.png](https://qiita-image-store.s3.amazonaws.com/0/30588/e9d3d344-bb66-18b9-87d1-edf951178933.png "スクリーンショット 2015-02-13 5.38.25.png")


IAM User、 test-user みてみると、ちゃんとAttachされている事が確認できます。「Show Policy」を押して、内容も確認してみます。
![スクリーンショット 2015-02-13 5.38.41.png](https://qiita-image-store.s3.amazonaws.com/0/30588/959bc96a-92c5-f0f6-9341-af0eb405bfde.png "スクリーンショット 2015-02-13 5.38.41.png")

ちゃんと設定されているようです。
![スクリーンショット 2015-02-13 5.38.51.png](https://qiita-image-store.s3.amazonaws.com/0/30588/fab02a1c-f0dc-51fb-1b52-0bb36015d01b.png "スクリーンショット 2015-02-13 5.38.51.png")


## 2.ロールバックをためしてみる

どうやらVersionも５世代まで管理されてて、すぐにロールバックできる模様 [公式ドキュメント](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)

上記の 1 で作ったカスタムポリシーを利用してやってみます。


先ほどの Policy Version の部分です。現在は `Version2` が default になっています。 `Version1` にチェックをいれて「Set as Default」を押します。
![スクリーンショット 2015-02-13 5.39.20.png](https://qiita-image-store.s3.amazonaws.com/0/30588/1a98cb5e-590d-10ec-85f3-50a017d3392f.png "スクリーンショット 2015-02-13 5.39.20.png")

`Version1` が default になりました。
![スクリーンショット 2015-02-13 5.39.28.png](https://qiita-image-store.s3.amazonaws.com/0/30588/fc360cb6-8bee-8f42-4523-8d6692276263.png "スクリーンショット 2015-02-13 5.39.28.png")

ここでもう一度このPolicyをアタッチしている、IAM User の test-user のページに行き、該当のPolicyを「Show Policy」で確認してみます。
![スクリーンショット 2015-02-13 5.38.41.png](https://qiita-image-store.s3.amazonaws.com/0/30588/92e0920f-46e0-255d-c34c-dd6e2163e067.png "スクリーンショット 2015-02-13 5.38.41.png")

Policyが `Version1` の状態のものに変わっています！
![スクリーンショット 2015-02-13 5.39.47.png](https://qiita-image-store.s3.amazonaws.com/0/30588/a5721bbb-db9f-f7cc-7fb1-dc2abfb9163d.png "スクリーンショット 2015-02-13 5.39.47.png")

これは、簡単に戻したりできますね。

## まとめ

個人的にはおなじカスタムポリシーを使い回せるかつバージョン管理できるになったので、結構便利になった気がしています。
上記も書きましたが、作成したPolicyの名前を変えれなさそうなので、ちゃん命名に気をつけなきゃなと思います。(なので上記の説明では変な名前になってます。。)

先日 Webコンソールでの Swich Role もリリースされましたし、もIAMまわりがどんどん管理しやすくなっていきますね。