『クラウド破産を回避するAWS実践ガイド』 を技術書典8で頒布します #技術書典
『クラウド破産を回避するAWS実践ガイド』という本を、技術書典8「2日目の3/1」に頒布します。 AWSではアカウントを作成すると、あらゆることができるようになります。 しかし、いきなりクラウドの世界に放り出され、たいしたガイドはありません。 そこで本書ではAWSアカウント作成後に、すべての人が実践すべきプラクティスを体系的に解説し、ハンズオン形式で学びます。
概要
「クラウド破産」はAWSなどのクラウドサービス利用者が、意図せず高額請求されることを指す俗語です。 AWSから数十万〜数百万円の請求がきた、みたいな記事を見かけたことがある人も多いでしょう。 この手の記事は、我々AWS利用者を震え上がらせるには十分です。
そこで本書ではAWS初級者・中級者向けに、クラウド破産を回避する方法を学びます。 ルートユーザーのパスワード管理からはじまり、CloudTrail・Config・GuardDuty・Access Analyzer・Security Hubなどの主要なセキュリティサービスを解説します。 実運用で使えるように、メールやSlackによるアラート通知の仕組みも構築します。 またgit-secretsやAWS Vaultを導入し、クラウド破産の原因になりやすいアクセスキーを保護します。 最後にAWSの学び方を学び、継続的に知識をアップデートする方法を紹介します。
対象読者
『クラウド破産を回避するAWS実践ガイド』は、次のような人にとって特に有益です。
- AWSに興味はあるけどなんとなく怖い
- セキュリティはメンドウで考えるのをやめている
- クラウド破産の記事を見るたびにドキドキする
- AWSアカウントを取得したら速攻でやっておくべき初期設定まとめを読んで以降、知識をアップデートしていない
本書は理論より実践を重視しており、さまざまなAWSのサービスをハンズオン形式で学べます。 すべて詳細な手順が記載されているので、本を読みながら手を動かすともっとも学習効果が高いでしょう。
この本で学べること
いまのところ本書は6部構成で32章あります。
第I部「基礎知識」
クラウド破産とAWSに関する基礎知識を学びます。 第I部は本書を読み通すために必要な前提知識を整理します。
第II部「AWSアカウントの保護」
パスワードマネージャーによるパスワード管理やMFAの導入といった基本からスタートします。 続いてIAMや請求管理、AWS Budgetsについて解説します。 この第II部はすべてのAWS利用者が実践すべきプラクティスが登場します。
第III部「ガードレールの構築」
CloudTrail・Config・GuardDuty・Access Analyzer・Security Hubを導入し、問題の予防と速やかな検知を実現します。 見逃されやすいS3ログバケットの設計や、AWS Artifactによる準拠法の変更もあわせて解説します。 第III部ではゲートキーパーからガードレールへシフトするための主要技術が登場します。
第IV部「アラートの通知」
第III部で紹介したセキュリティサービスを導入するだけでは不十分です。 タイムリーに問題を把握するにはアラート通知が必要不可欠です。 そこでSNSを中核に、メールやSlackによるアラート通知の仕組みを実装します。 第IV部ではCloudTrail Insightsやベータ版のChatbotなどの変わり種も登場します。
第V部「セキュアなローカル環境」
クラウド破産でもっとも被害が大きくなるのは、認証情報が漏えいしたときです。 自分でGitHubのパブリックリポジトリに、アクセスキーをコミットしてしまう事故はあとを絶ちません。 そこで第V部では最初にgit-secretsを導入し、この事故を防止します。 次にAWS Vaultによりアクセスキーを暗号化するとともに、AWSマネジメントコンソールへのサインインをアクセスキーで行える環境を構築します。
第VI部「学び方を学ぶ」
AWSは人気も知名度も高く、Web上にもたくさんの情報があふれています。 しかし情報量の多さは、初学者を惑わせます。 そこで第VI部では書籍やWebサイトのオススメを紹介します。 あわせてベストプラクティスを提示し、学習効率を最大化します。
目次
第I部「基礎知識」 1章 クラウド破産 1.1 クラウド破産の事例 1.2 クラウド破産の原因 1.2.1 認証情報の奪取 1.2.2 異常な兆候の見逃し 1.2.3 利用者のノウハウ不足 1.3 クラウド破産の回避戦略 1.3.1 アカウントの保護 1.3.2 リスク検知 1.3.3 正しい知識の習得 2章 AWS 2.1 責任共有モデル 2.2 課金モデル 2.2.1 料金体系 2.2.2 無料利用枠 2.3 高額請求の免責をあてにしない 第II部「AWSアカウントの保護」 3章 AWSアカウント保護戦略 3.1 AWSアカウント保護のポイント 3.2 ルートユーザーの保護 3.3 IAMの利用 3.4 適切な請求管理 3.5 正確な登録情報の維持 4章 ルートユーザーのパスワード管理 4.1 パスワード 4.1.1 パスワードのベストプラクティス 4.1.2 パスワードマネージャー 4.1.3 パスワードの自動生成 4.2 パスワードマネージャーによるパスワード管理 4.2.1 ルートユーザーによるサインイン 4.2.2 ルートユーザーのパスワード変更 5章 ルートユーザーのMFAによる保護 5.1 MFA 5.1.1 認証要素 5.1.2 AWSにおけるMFA 5.2 仮想MFAデバイス 5.2.1 仮想MFAアプリケーションの導入 5.2.2 仮想MFAアプリケーションのデータバックアップ 5.3 ルートユーザーのMFA設定 5.4 MFAの設定確認 6章 IAMによるアクセス管理 6.1 IAMとは 6.1.1 IAMユーザー 6.1.2 IAMグループ 6.1.3 IAMポリシー 6.2 IAMユーザーの作成 6.3 IAMユーザーのMFAによる保護 6.4 IAMユーザーによるサインイン 7章 パスワードポリシーの厳格化 7.1 パスワードポリシーとは 7.2 パスワードポリシーの設定 7.2.1 パスワードの長さ 7.2.2 パスワードの文字種 7.2.3 パスワード変更許可 7.2.4 パスワードの再利用禁止 7.2.5 パスワードの失効無効化 7.3 セキュリティステータスの確認 7.4 Trusted Advisorの確認 8章 請求管理の最適化 8.1 請求管理のポイント 8.2 IAMユーザーへの請求情報のアクセス許可 8.3 通貨設定 8.4 請求情報のメール通知 8.5 コストエクスプローラー 8.5.1 コストエクスプローラーの有効化 8.5.2 コストエクスプローラーの使い方 9章 AWS Budgetsによるコスト管理 9.1 AWS Budgetsとは 9.2 AWS Budgetsの設定 9.3 予算の確認とアラートメール 10章 登録情報の最新化 10.1 登録情報の用途 10.2 連絡先情報の最新化 10.3 代替の連絡先の最新化 10.4 マーケティングメールの無効化 第III部「ガードレールの構築」 11章 ガードレール構築戦略 11.1 AWSにおけるガードレール 11.2 トレーサビリティの向上 11.3 問題の兆候の発見 11.4 情報の集約と業界標準への準拠 11.5 契約と準拠法の理解 12章 CloudTrailによる証跡管理 12.1 CloudTrailとは 12.2 CloudTrailの設定 12.3 CloudWatch Logs連携 12.3.1 CloudTrailからCloudWatch Logsへの配信 12.3.2 CloudWatch Logsの保持期間を変更 12.4 証跡ログの確認 12.5 CloudTrailの活用方法 13章 AWS Configによる構成管理 13.1 AWS Configとは 13.2 AWS Configの設定 13.3 リソース変更履歴の確認 14章 S3による安全なログ管理 14.1 S3とは 14.2 ログバケット設計 14.3 ブロックパブリックアクセス 14.4 バージョニング 14.5 デフォルト暗号化 14.6 ライフサイクルルール 15章 GuardDutyによる脅威検知 15.1 GuardDutyとは 15.2 GuardDutyの設定 15.3 異常検知の確認と結果サンプルの生成 16章 IAM Access Analyzerによる公開リソースの検出 16.1 IAM Access Analyzerとは 16.2 IAM Access Analyzerの設定 16.3 公開リソースの確認 17章 Security Hubによる集約 17.1 Security Hubとは 17.2 Security Hubの設定 17.3 集約された情報の確認 17.4 コンプライアンス標準の確認 18章 AWS Artifactによる準拠法の変更 18.1 AWS Artifactとは 18.2 AWS Artifactによる契約変更 第IV部「アラートの通知」 19章 アラート通知戦略 19.1 アラートで大切なたったひとつのこと 19.2 アラートの実装順序 19.3 ルートユーザーの操作 19.4 CIS AWS Foundations Benchmarkの違反 19.5 集約したセキュリティイベント 19.6 通常時とは異なるアクティビティ 19.7 オオカミ少年には要注意 20章 SNSによるメール通知 20.1 SNSとは 20.2 SNSトピックの作成 20.3 サブスクリプションの作成 20.4 サブスクリプションメールの確認 21章 ルートユーザーのアラート通知 21.1 アラート通知の設計 21.2 CloudWatch Logsメトリクスフィルター 21.3 CloudWatchアラーム 21.4 アラートメールの確認 22章 CloudFormationによるアラートの一括作成 22.1 CloudFormationとは 22.2 CloudFormationで作成するアラート 22.3 CloudFormationの設定 22.4 作成されたアラートの確認 22.5 CloudFormationテンプレートに含まれないアラート 23章 ChatbotによるSecurity Hubのアラート通知 23.1 Chatbotとは 23.2 Chatbotによる通知設計 23.3 Chatbot用のSNSトピック作成 23.4 Security HubとCloudWatch Eventsとの連携 23.5 Chatbotの設定 23.6 セキュリティイベントの通知 24章 CloudTrail Insightsのアラート通知 24.1 CloudTrail Insightsとは 24.2 CloudTrail Insightsの通知設計 24.3 CloudWatch Eventsとの連携 24.4 異常なアクティビティの通知 24.5 CloudTrail Insightsのテストは難しい 24.6 GuardDutyとの違い 第V部「セキュアなローカル環境」 25章 AWS CLIによるオペレーション 25.1 AWS CLIとは 25.2 アクセスキー 25.2.1 アクセスキーとは 25.2.2 アクセスキーの払い出し 25.3 AWS CLIのセットアップ 25.3.1 AWS CLIのインストール 25.3.2 AWS CLIの設定 25.3.3 AWS CLIの設定ファイル 25.3.4 AWS CLIのプロファイル 26章 git-secretsによる秘匿情報のコミット抑制 26.1 git-secretsとは 26.2 git-secretsのインストール 26.3 既存リポジトリの設定 26.4 git-secretsの使い方 26.5 履歴のスキャン 27章 AWS Vaultによるアクセスキーの安全な管理 27.1 AWS Vaultとは 27.2 AWS Vaultのインストール 27.3 AWS Vaultの設定 27.4 AWS Vaultの使い方 27.4.1 aws-vault exec 27.4.2 aws-vault list 27.4.3 aws-vault remove 27.4.4 aws-vault login 27.4.5 aws-vault rotate 27.4.6 aws-vault --help-long 27.5 Keychainのパスワード確認頻度の低減 27.5.1 Keychain locked 27.5.2 Application access to a specific keychain 28章 パスワードレスサインイン環境の構築 28.1 パスワードレスサインイン環境の設計 28.2 IAMロール 28.2.1 IAMロールの作成 28.2.2 AssumeRole 28.2.3 プロファイルの設定 28.2.4 サインインの確認 28.3 IAMユーザーの権限最小化 28.3.1 PasswordLessAccessポリシーの作成 28.3.2 PasswordLessグループの作成 28.3.3 IAMユーザーのグループ設定変更 28.3.4 パスワードの無効化 28.3.5 アクセスキーのローテーション 第VI部「学び方を学ぶ」 29章 書籍から学ぶ 29.1 初学者向け書籍 29.1.1 Amazon Web Services 基礎からのネットワーク&サーバー構築 29.1.2 Amazon Web Services パターン別構築・運用ガイド 29.2 中級者向け書籍 29.2.1 AWS IAMのマニアックな話 29.2.2 実践Terraform 29.2.3 Amazon Web Services 業務システム設計・移行ガイド 29.3 汎用的な知識を学べる書籍 29.3.1 絵で見てわかるITインフラの仕組み 29.3.2 入門 監視 29.3.3 クラウドネイティブアーキテクチャ 30章 Webから学ぶ 30.1 公式ガイド 30.2 公式FAQ 30.3 APIリファレンス 30.4 公式ブログ 30.5 クラスメソッド社ブログ「Developers.IO」 31章 ベストプラクティスを学ぶ 31.1 AWS Well-Architected Framework 31.1.1 クラウド設計原則 31.1.2 5つの柱 31.2 IAMベストプラクティス 31.2.1 実施済みの項目 31.2.2 一般的なセキュリティ項目 31.2.3 AWS固有のセキュリティ項目 32章 AWSサポートを上手に活用する 32.1 サポートプラン 32.2 技術的な質問の心得 32.3 AWSアカウントの侵害が疑われる場合 付録 巨人の肩の上に乗る
書いてる人
アプリケーションアーキテクチャ設計とドメイン駆動設計が得意なSREです。 著書は3冊あり、累計で3,500部以上の頒布実績があります。(購入してくださった方、ありがとうございます!
本のクオリティの参考に、昔書いたQiitaの記事のリンクも貼っておきます。 最低でもこれ以上のクオリティにはなるので、参考にしていただければ幸いです。
頒布情報
『クラウド破産を回避するAWS実践ガイド』は、3/1に「Day2き20」にて頒布します。
また技術書典8は2/29と3/1の2日間開催です。
- 日程
- 1日目 2020/02/29 (土) 11:00〜17:00
- 2日目 2020/03/01 (日) 11:00〜17:00
- 場所
- 池袋サンシャインシティ 展示ホールD(文化会館ビル2F)
- 料金
- 一般入場は11:00~13:00の間、有料です(詳細は後日発表とのこと)
- それ以降は無料で入場できます
おわりに
頒布部数の参考にしたいので、買いに行こうかなって思った人はぜひチェックリストに追加していただけると嬉しいです。 それでは、当日お会いできることを楽しみにしています!