「AWS IAMのマニアックな話」が良本だったので紹介してみる

<img width="301" alt="スクリーンショット 2019-09-30 11.12.15.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321850/b0631e6b-2d70-eb7d-871b-15021f308827.png">

## はじめに
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">今週のQiitaの記事は技術書典で買ったIAM本の書評を書く</p>&mdash; nari@BOOTHで好評発売中「GoとAWS CDKで作る本格SlackBot入門」 (@fukubaka0825) <a href="https://twitter.com/fukubaka0825/status/1177563664821309445?ref_src=twsrc%5Etfw">September 27, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">今技術書典で買ったIAM本、Cognito本、OAuth本を読んでいて今までさらっと流してきた認証認可をがっつり学び直すことができて最高</p>&mdash; nari@BOOTHで好評発売中「GoとAWS CDKで作る本格SlackBot入門」 (@fukubaka0825) <a href="https://twitter.com/fukubaka0825/status/1177575669129084928?ref_src=twsrc%5Etfw">September 27, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

こんにちわ。Wano株式会社エンジニアのnariと申します。
今回の技術書典7で個人的に一番のお目当だったIAM本を読了したので、宣言通り書評を書いていきます。一言だけ先に行っておくと、**「AWSユーザー全員が読んでおく価値のある本」**となっていました。

## 2行でまとめると
- **AWS IAMの権限設計や運用を1から懇切丁寧に解説した本**
- **この内容が頭に入ると「IAMマニアの称号」が手に入るらしい**

## こんな人にオススメ

- **AWS IAMを雰囲気で使っており、ルートアカウントを使っちゃったりしてる人**　　
- **上記まで行かないにせよ、IAM周りの権限設計を雰囲気でやっている人**　

## 著者様
佐々木拓郎様
twitter:[Takuro SASAKI＠9/22 技術書典7【お26C】](https://twitter.com/dkfj)
## お買い求め先
[【ダウンロード版】AWSの薄い本　IAMのマニアックな話](https://booth.pm/ja/items/1563844)
## 該当本の目次と内容紹介
はじめに
第1章 AWS と IAM
第2章 IAM の機能
第3章 IAM チュートリアル
第4章 IAM ポリシーのデザインパターン
第5章 IAM グループのデザインパターン
第6章 IAM とセキュリティ
第7章 IAM の運用
第8章 IAMとCloudFormation
第9章 IAMのテンプレート集
第10章 IAM以外のAWS サービスの活用
付録 A アカウント開設時の設定チェックリスト

「第1章 AWS と IAM」「第2章 IAM の機能」で、基本的なIAMの機能について説明し、「第3章 IAM チュートリアル」では、実際にベストプラクティスに沿ったIAM設計のハンズオンを行い、「第4章 IAM ポリシーのデザインパターン」「第5章 IAM グループのデザインパターン」で具体的なデザインパターンやプラクティスを詳しく説明しています。

「第6章 IAM とセキュリティ」では、実際に起こった**「Capital One情報流出事件」を取り上げ、どうすれば被害を最小にできたか**を解説していたり、自分ごととしてセキュリティ事件を捉えやすくなる工夫が散りばめられていて素晴らしいです。

そして特に圧巻なのは、「第7章 IAM の運用」です。**手間をなるべくかけず、利用者によるセキュリティ差異を産まず、安全な状態を保つ方法を、IAM以外のサービスの利用(CloudtrailやConfig）まで、非常に実践しやすい形のノウハウ**がまとまっています。「第8章 IAMとCloudFormation」や「第9章 IAMのテンプレート集」ではCloudFormationを利用して、再利用可能なテンプレートとして扱う方法を紹介しており、CloudFormationの入門としても良い内容になっています。

「第10章 IAM以外のAWS サービスの活用」に関しては、AWS IAM以外のサービスを用いて安全に運用する方法を簡単に紹介しています。(個人的にはこれくらいのボリュームなら必要なかったかなぁと思います)**この内容は次回まとめて本になるようですので、そちらかなり楽しみ**ですね。

## 書評まとめ

**対象読者の後者はまさしく僕、という感じなので本書はめちゃくちゃささりました**。チームのメインプロダクトもまだまだアーリーな時期なので、模索しながらの少人数の開発となると、理想的な権限管理のぼんやりわかっていながらも、なぁなぁにしている部分でしたので、非常に良い落としどころの参考になりました。(資格勉強の良い復習にもなった)

また、マニアックな話と銘打っていますが、内容は非常にわかりやすくまとまっていますし、それほどディープだとも感じませんでした。冒頭にも行った通り、AWSサービスを利用している全ユーザーが読むべき本だと思います。

きちんと運用リソースを貼ったところでビジネスに直接の良い影響はないが、**もしトラブルが起きれば運営もままらない状況に追い込まれてしまう認証認可の世界**。AWSサービスを利用したプロダクトの安定稼働を考えると、この部分をきっちり考え設計しておくのは必須です。しかし、**運用サービス領域もめまぐるしく変わるアーリーな時期に、どれほどこの領域に注力するかは難しい問題**でした。

本書では、そういった問題に悩まされている全ての人が読むべき本になっていると思います。机上の空論の運用論ではなく、**継続可能性や運用コストの部分も重要視したプラクティスの紹介が多く**、大変ためになりました。

例を挙げると、ハイブリットパターン、参照権限のみのユーザーから、必要に応じて通常権限のroleへのスイッチ、特権ユーザ以外へのMFAの強制、CloudTrailやConfig Rulesでの設定値によるIAMユーザー管理の仕組み化などなどすぐに実戦に移せるものばかりだったので、**まずはここら辺から現場で実践していきたい**と思います。

## 終わりに
### 技術書典駆動学習の勧め
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">技術書典駆動学習楽しい<br>そして技術書典8ではワントピックを深く書くことを決意（設計、運用の話まで）</p>&mdash; nari@BOOTHで好評発売中「GoとAWS CDKで作る本格SlackBot入門」 (@fukubaka0825) <a href="https://twitter.com/fukubaka0825/status/1177576126446587906?ref_src=twsrc%5Etfw">September 27, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

今回、技術書典駆動勉強が一番捗った領域が認証認可の部分で、良書が非常に多く読んでいて最高だったので、**Cognito本もOAuth本も是非書評を書きたいな**と思ってます。

また、こういう一領域にフォーカスした本はやはりいいなぁと読んでいて思ったので、技術書典8ではそういう本を書きたいと思います。(今回は欲張りすぎた、、、、 著者の今回の本 -> [GoとAWS CDKで作る本格SlackBot入門](https://booth.pm/ja/items/1569932))

技術書典7に足を運べなかった皆さまも、「技術書典7」で[BOOTH](https://booth.pm/ja)を検索して見て回ってみてください。多種多様な素晴らしい本たちが、きっとあなたの学習の一助になると思います。（ただし買いすぎにはご注意を笑)