ちょっと話題の記事

【書評】意図しない請求を防ぐためのノウハウが凝縮!「クラウド破産を回避するAWS実践ガイド」レビュー

技術書典応援祭で出展されていた技術同人誌「「クラウド破産を回避するAWS実践ガイド」についての書評です。
2020.03.09

オペレーション部 江口です。

現在、オンラインで技術同人誌のオンライン即売イベントである「技術書典応援祭」が開催されています。(期間:4/5まで)

この技術書典応援祭で、「クラウド破産を回避するAWS実践ガイド」という本が出展されており、気になったため購入しました。著者はtmknomさん、あの名著「実践Terraform」を書いた方です。期待が高まりますね!

読んでみた感想ですが、読み終えた直後に自分のTwitterでつぶやいたのでそれをそのまま引用しておきます。

とにかく網羅性のすごさに驚きました。章立てからして全6部、章はなんと33章もあり、クラウド破産についての対処をあらゆる角度から説明してくれています。

また情報の鮮度も素晴らしくて、まだ出たばかりのIAM AnalyzerやCloudTrail Insightsなどもカバーしています。クラウド破産関係なしに、最新のAWSにおけるセキュリティ設計を知る目的でも非常に有益な本であると思います。

では、書籍についてもう少し詳しくご紹介していきましょう!

書籍の概要

以下、著者の方のWebサイトからの引用です。

『クラウド破産を回避するAWS実践ガイド』 を技術書典8で頒布します #技術書典 - 憂鬱な世界にネコパンチ!

「クラウド破産」はAWSなどのクラウドサービス利用者が、意図せず高額請求されることを指す俗語です。 AWSから数十万〜数百万円の請求がきた、みたいな記事を見かけたことがある人も多いでしょう。 この手の記事は、我々AWS利用者を震え上がらせるには十分です。

そこで本書ではAWS初級者・中級者向けに、クラウド破産を回避する方法を学びます。 ルートユーザーのパスワード管理からはじまり、CloudTrail・Config・GuardDuty・Access Analyzer・Security Hubなどの主要なセキュリティサービスを解説します。 実運用で使えるように、メールやSlackによるアラート通知の仕組みも構築します。 またgit-secretsやAWS Vaultを導入し、クラウド破産の原因になりやすいアクセスキーを保護します。 最後にAWSの学び方を学び、継続的に知識をアップデートする方法を紹介します。

目次

  • 第I部 基礎知識
  • 第II部 AWS アカウントの保護
  • 第III部 ガードレールの構築
  • 第IV部 タイムリーなアラート通知
  • 第V部 セキュアなローカル環境
  • 第VI部 学び方を学ぶ

内容の紹介

各部は基本的に、最初の章で戦略を最初に説明し、その後の各章で各種設定方法を説明する、といった構成になっています。

第I部 基礎知識

第I部は、導入編としてクラウド破産の事例・原因・回避戦略、AWSについての課金体系などの基礎知識などが記述されています。 特に「クラウド破産の回避戦略」で挙げられている戦略は重要で、以後の部はこの戦略に沿って記載されています。戦略は下記の通りです。

  1. アカウントの保護(II部・V部)
  2. リスク検知(III部・IV部)
  3. 正しい知識の習得(VI部)

第II部 AWS アカウントの保護

第II部では、AWSアカウントを乗っ取りから守るための保護について解説しています。もっとも重要であるルートユーザの適切な管理方法、IAMアクセスの管理、また請求/コスト管理の設定・運用などを解説しています。

この章で述べられているように、ルートユーザの管理は非常に重要ですので、ご自身で管理されている方はぜひともここに記述されていることは実践いただきたいところです。MFAを設定する、普段はルートユーザを利用せずIAMユーザを利用する、といった点が大事なのはもちろん、登録情報の最新化(10章)なども重要な点です。この章のコラムにも書いてあることですが、ルートユーザのメールアドレスが個人のアドレスになっていて、管理者が退職してしまったがアドレスはそのままだった・・・などという場合、ルートユーザ宛にメールが届かず問題になる可能性があります。こうした点まで配慮して記述されている点が本当に素晴らしいです。

なおこうした話題では毎回触れているのですが、当社のクラスメソッドメンバーズサービスをご利用いただくとルートユーザの管理を当社で代行させていただくことが可能ですので、ルートユーザの管理が心配な方は当社のサービスのご利用を検討いただけると幸いです。

第III部 ガードレールの構築

AWSはセキュリティの対処として「ガードレール」という考え方を提唱しています。セキュリティを道路のガードレールに見立てて、車両(この場合ユーザによるAWSの利用のメタファーとなります)が道路を逸脱する(=予期せぬ事態を起こる)ことを防いで被害を軽減するわけですが、この第III部はこの考えに沿って、各AWSサービスを活用しガードレールを構築する方法を説明しています。CloudTrail、AWS ConfigやS3によるログ管理といった定番の設定から、GuardDuty、IAM Access Analyzer、Security Hubによるコンプライアンス準拠など、AWSのサービスをフル活用する方法が解説されています。

AWS Artifactでの準拠法・管轄裁判所の変更(日本法準拠/東京地方裁判所管轄)といった点までフォローされているのも、地味ですが大事なところなので嬉しいですね!

第IV部 タイムリーなアラート通知

この章ではAWSの各サービスでのアラート通知の設計と設定方法について記述されています。セキュリティアラートとして重要なルートユーザの操作のアラートのほか、セキュリティレベルを維持するためのCIS Benchmarkのアラート、Security Hubによる各サービスの情報を集約したアラートなどが紹介されています。 Security Hubのアラート通知の章では、最近よくあるChatbotによるSlackへの通知方法も併せて紹介されているので、こうした運用が気になるけれども実装できていない、という場合には参考になるでしょう。

第V部 セキュアなローカル環境

この章では、AWS CLIを想定し、AWSをローカルのPCから操作する環境をセキュアにする方法を記述しています。AWS CLI利用のためのアクセスキーの発行の方法から、そのアクセスキーを誤ってGitHubなどで公開してしまい漏洩してしまうことを防ぐためのgit-secretsやアクセスキーを安全に管理するAWS Valutといったツールの紹介。また、そのAWS Valutを利用して、セキュアにパスワードレスな環境を構築する方法などが紹介されています。このパスワードレスな環境の構築はこの書籍でもかなり複雑なところですが、 - IAMユーザでパスワードにより直接コンソールへサインインすることを禁止する - 最小限のポリシーを持つIAMグループのユーザから、大きな権限を持つロールへAssumeRoleを行う構成とする - AssumeRoleを行う場合にMFAを強制する という環境を構築するため、実際のところかなりセキュアな運用を実現することができると思います。試してみる価値はあるのではないでしょうか。 私もまだAWS Valutは使ったことがなかったので、試してみたいと思います。

第VI部 学び方を学ぶ

面白いな、と思ったのがこの章です。AWSの環境をセキュアに保つには継続的に学ぶことが必要、ということで、どのように学べばよいかということを1つの部を使って説明しています。こちらも紹介が多岐にわたっており、書籍や情報収集に役立つWebサイト、さらに知るべきベストプラクティスやセキュリティガイドラインについても紹介されています。学習の重要性は分かっていても何を学習すれば良いか分からない、という方には良いガイドとなると思います。

ちなみに情報収集に役立つWebサイトではこのDevelopers.ioもしっかり紹介されていました。ありがとうございます!

おわりに

というわけでざっと内容を紹介させていただきました。クラウド破産に関わる話題について、非常に多岐にわたって紹介されていることが伝われば良いなと思います。

技術書典応援祭はこれ以外にも素晴らしい技術同人誌が多数出展されていますので、興味ある方はチェックをしてみましょう。本の買いすぎにはくれぐれもご留意を!

ではでは。