プログラマでありたい

おっさんになっても、プログラマでありつづけたい

#技術書典 に出展する『AWSの薄い本 IAMのマニアックな話』はこんな本

たびたびTweetしておりますが、2019年9月22日の技術書典7に、『AWSの薄い本 IAMのマニアックな話』という本を出展します。名前の通りAWS本ですが、IAMだけを取り扱っています。初の同人誌を引っさげて、技術書典デビューします。

f:id:dkfj:20190915213218p:plain

IAM本の目的

 書いた本はIAMの特化本ですが、何故IAMと聞かれるのでここに書いておきます。AWSが不正利用されて100万円の請求が来たというようなニュースが、たまにネットを駆け巡ることがあります。原因の多くがIAMのアクセスキーをGitHubに誤ってコミットしてしまい、そのキーを不正利用されたケースです。そういった事態を防ぐために正しくIAMを知って貰いたいのです。

 IAMは、AWSの利用権限を管理する極めて重要な機能です。AWSには多種多様な機能があり、IAMはそれに応じて様々な記述方法で権限を設定できるようになっています。その分設定項目が多く、IAMは難しいと印象を持っている人も多いのではないでしょうか。また、ある程度IAMに習熟した人にとっては、他の人かどのような方針でIAMの権限設計をしているか気になるという人も多いでしょう。そんな要望に応えるべく、私の考えるIAMのベストプラクティスをまとめてみました。

対象読者

想定読者としては、次のような人たちと考えています。

  • AWSアカウントのルートユーザーでAWSを使っている人
  • IAMユーザーで使ってるけど、Administrator権限しか付与したことがない人
  • 企業内でAWSを導入済みで、異なるロールの様々な人にIAMの権限を振り分ける必要がある人
  • お一人様AWS利用だけど、AWSを不正利用されないようにちゃんとIAMを使いたい

つまりは、初心者からそれなりに使い込んでいる人まで、満足頂けるような内容目指しています。

IAM本を読むことで得られること

それでは、読んだらどうなるのでしょうか?

  • IAMの機能に関する一通りの知識と、権限設計のノウハウ
  • 設計する上でのセキュリティの考慮点と運用について
  • IAMマニアの称号

IAMに関する一通りの知識はつきます。また、それ以上にIAMを設計する上での考え方というのが身につくことを目的に構成しています。あと、自分の机の上に置いておいたらIAMマニアと呼ばれるような本になったのではと思います。

IAM本の構成

全部で10章構成です。

第1章 AWS と IAM
第2章 IAM の機能
第3章 IAM チュートリアル
第4章 IAM ポリシーのデザインパターン
第5章 IAM グループのデザインパターン
第6章 IAM とセキュリティ
第7章 IAM の運用
第8章 IAMとCloudFormation
第9章 IAMのテンプレート集
第10章 IAM以外のAWS サービスの活用

1〜3章

1〜3章で、IAMの基本的な部分が理解できるようになっています。特にチュートリアルは、次のように実践的なことを手順とその意味を含めて解説しています。ここをやるだけでも、そうとうにIAMの理解が進みます。

1. IPアドレス制限をするカスタマー管理ポリシーを作成する
2. グループを作成する
3. 作成したグループに、全サービスの参照権限とIPアドレス制限をしたカスタマー管理ポリシーを紐付ける
4. IAMユーザーを作成し、作成したグループをアタッチする
5. クロスアカウントロール(IAMロール)を作成し、作成したIAMユーザーからのみスイッチできるようにする

4〜5章

4章と5章が、IAMの設計の考え方です。具体的な設計ではなく、設計の考え方です。ここをちゃんと読んで理解していただければ、自分で設計する際の指針が培われます。

6〜9章

6〜9章が実践編です。セキュリティと運用という2つの大きなテーマを元に、具体的なポリシーとその意味の解説をしています。紹介しているケースもわりと現実的な内容になっています。また、MFAやIP制限、或いはアクセスキーをどうしたら良いのかなど、一度は悩む部分に対して回答しています。9章でCloudFormationによるテンプレートを用意しているので、それをそのまま使えばIAMに関する設計開発の手間が省けるようになっています。

目次詳細

目次は、こんな感じです。雰囲気伝わりますでしょうか?

はじめに
 本書の目的
 対象読者
 本書で得られること
 お問い合わせ先
 免責事項

第1章 AWS と IAM
 1.1 認証と認可
 1.2 AWS のアカウント種類
 1.3 AWSアカウント
 1.4 IAM ユーザ
 1.5 注意とお願い

第2章 IAM の機能
 2.1 IAM ユーザー
 2.2 IAM グループ
 2.3 IAM ポリシー
 2.4 IAMロール
 2.5 パーミッション・バウンダリー
 2.6 IAMの機能のまとめ
 【コラム】 AWSアカウントとIAMの関係

第3章 IAM チュートリアル
 3.1 IAMポリシーの作成
 3.2 IAMグループの作成
 3.3 IAMユーザーの作成
 3.4 クロスアカウントロールの作成
 3.5 チュートリアルのまとめ

第4章 IAM ポリシーのデザインパターン
 4.1 ホワイトリスト・パターン
 4.2 ブラックリスト・パターン
 4.3 ハイブリット・パターン
 4.4 IAMポリシーのまとめ
 【コラム】 最小権限の探求

第5章 IAM グループのデザインパターン
 5.1 複数グループに所属
 5.2 グループ内に複数ポリシー
 5.3 IAMグループのまとめ
 【コラム】 IAMグループの階層構造について

第6章 IAM とセキュリティ
 6.1 IAMベストプラクティスの遵守
 6.2 ルートユーザーを使わない
 6.3 IAMに関する権限付与
 6.4 Lambdaのリソースベースの権限
 6.5 インターネット公開系の権限
 【コラム】 ec2の権限範囲の問題
 6.6 VPC内からのアクセス
 6.7 アクセスキーの原則禁止
 6.8 CapitalOneの情報流出事件に思うこと
 6.9 IAMとセキュリティのまとめ
 【コラム】 IPアドレス制限の是非とゼロトラストセキュリティ

第7章 IAM の運用
 7.1 IAMの運用の目的
 7.2 役割と責任範囲の明確化
 7.3 AWS アカウントの管理
 7.4 IAM ユーザーの管理
 7.5 アクセスキーの管理とCLI
 7.6 MFA 未利用時に権限を制限し、MFA 利用を促す
 7.7 マルチアカウントでの運用
 7.8 運用のまとめ

第8章 IAMとCloudFormation

 8.1 IAMとCloudFormation
 8.2 CloudFormationの分割単位・依存関係
 8.3 CloudFormationとIP制限
 【コラム】 ライフサイクルで考える

第9章 IAMのテンプレート集
 9.1 共通系ポリシー
 9.2 管理者グループ
 9.3 ネットワーク管理者グループ
 9.4 開発者グループ
 9.5 オペレーターグループ
 9.6 経理担当者グループ
 9.7 お一人様AWS
 9.8 IAMのテンプレートのまとめ

第10章 IAM以外のAWS サービスの活用
 10.1 AWS Organizations(組織アカウント)
 10.2 AWS CloudTrailとAWSConfig
 10.3 Amazon GuardDuty
 10.4 AWS ControlTowerとAWS SecurityHub
 10.5 今後のAWS運用について

開催日時と会場・ブースの場所

2019年9月22日(日曜日) 11:00〜17:00
池袋サンシャイン3階 展示ホールCのお26です
この辺です

f:id:dkfj:20190915100134j:plain

サークルチェック

 最後にお願いです。技術書典では、サークルチェックという機能があります。出展者は、このチェック数をみて、当日どれくらい売れそうか判断します。同人誌なので当日売れないと販売の機会はなかなか無いです。そのため、印刷部数はシビアに考える必要があります。もしこのエントリーをみて興味を持ち当日来場される方は、ぜひチェックリストに追加をお願いします。チェック数が目安になるので、出展者側としては大変助かります。
f:id:dkfj:20190915100907p:plain

 ↓のサークル詳細ページから追加できます

techbookfest.org

オンラインでの販売

BOOTHでPDF形式で販売中です。
takuros.booth.pm

また物理本で在庫として残った分は、BOOTHで委託販売します。入庫待ちということで、9月末くらいに販売開始できるとおもいます。
Kindleについては、ePubの調整が必要なので今しばらくお待ち下さい。


See Also:
技術書典7に出展します