【書評】「要点整理から攻略するAWS認定セキュリティ – 専門知識」SCS試験対策にとてもおすすめの一冊

SCSの試験対策に「要点整理から攻略するAWS認定セキュリティ - 専門知識」がとても良かったので書評を書きました。
2023.04.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

クラスメソッドコリアのm.hashimotoです!

SCS試験対策として、「要点整理から攻略するAWS認定セキュリティ - 専門知識」がとても良かったのでご紹介します。

 

この記事の目次

  • 本の概要
  • 「要点整理から攻略するAWS認定セキュリティ - 専門知識」書評
  • 最後に
  • 本のリンク

本の概要

SCS試験にチャレンジする方の最初の一歩として、順番に読み進めていくことができます。

各章には、まとめとしてのポイントが解説されています。

最後に、練習問題が40問あります。

著者

NRIネットコム株式会社 佐々木拓郎、上野史瑛、小林恭平

「要点整理から攻略するAWS認定セキュリティ - 専門知識」書評

目次

  • 第1章 AWS試験概要と学習方法
  • 第2章 ID及びアクセス管理
  • 第3章 インフラストラクチャのセキュリティ
  • 第4章 データ保護
  • 第5章 ログと監視
  • 第6章 インシデント対応
  • 第7章 AWS Well-Architected
  • 第8章 練習問題

各章の概要

第1章 AWS試験概要と学習方法

AWS認定試験の体系や試験の概要、SCS試験で問われるシナリオカテゴリなどの解説がされています。

 

第2章 ID及びアクセス管理

- 2-1 IDおよびアクセス管理

  • IAMはAWSリソースに対する認証認可、CognitoはAWS上に作るシステムに対しての認証認可を提供します。

- 2-2 AWS IAM

  • SCS試験の中心はIAMとなります。
  • IAMユーザー、IAMグループ、IAMポリシー、IAMロール(一時的な権限を付与する)についてそれぞれ解説されています。
    • IAMポリシーについて、AWS管理ポリシーとカスタマー管理ポリシー、インライン管理ポリシー(管理が煩雑になるので基本的には使わないことを推奨)の3つに分類されます。
    • IAMロールについて、STS(Security Token Service)を利用して一時的認証情報(Temporary security credentials)を発行する仕組みや信頼関係(Principal)の設定について理解できました。
  • AWSアカウント・IAMの設計運用原則として、ルートユーザーの取り扱いやIAMを利用した権限管理の原則は重要なポイントです。
    • IAMでのセキュリティのベストプラクティス
      • AWSアカウントのルートユーザーアクセスキーをロックする
      • 個々のIAMユーザーの作成
      • IAMユーザーへのアクセス許可を割り当てるためにグループを使用する
      • 最小権限を付与する
      • AWS管理ポリシーを使用したアクセス許可の使用開始
      • (インラインポリシーではなく)カスタマー管理ポリシーを使用する
      • アクセスレベルを使用して、IAM権限を確認する
      • ユーザーの強力なパスワードポリシーを設定
      • MFAの有効化
      • Amazon EC2インスタンスで実行するアプリケーションに対し、ロールを使用する
      • ロールを使用したアクセス許可の委任
      • アクセスキーを共有しない
      • 認証情報を定期的にローテーションする
      • 不要な認証情報を削除する
      • 追加セキュリティポリシーに対するポリシー条件を使用する
      • AWSアカウントのアクティビティの監視
  • その他、IAMの移譲権限を制限するパーミッションバウンダリーやIAMアクセスアナライザー、クロスアカウントロール時のスイッチロールの動作についても解説されています。

- 2-3 AWS Directory Service

  • 3種類のActive Directory(以下、AD)関連サービスについて解説されています。
    • AWS Managed Microsoft AD
    • Simple AD
    • AD Connector
  • オンプレミスとの接続パターンや、AWSにおけるActive Directoryの利用パターンで図を用いた解説がわかりやすかったです。

- 2-4 Amazon Cognito

  • CognitoユーザープールとCognito IDプール(Federated Identities)の2つの違いについて押さえておくべきポイントです。
    • Cognitoユーザープール(認証)
      • ユーザー名とパスワードを使用したサインアップ・サインイン機能
      • ユーザープロファイル機能
      • トークンベースの認証機能
      • SMSもしくはMFAベースの多要素認証
      • 電話番号やメールアドレスの有効性確認
      • パスワード紛失時のパスワード変更機能
    • Cognito IDプール(Federated Identities)* ユーザープール以外に以下のIDプロバイダーと連携できる
      • パブリックプロバイダー
        • Twitter/Digits
        • Facebook
        • Google
        • Login with Amazon
      • Open ID Connect プロバイダー
      • SAML ID プロバイダー

- 2-5 AWS Organizations

  • Organizationsの構成要素(組織、マスターアカウント、メンバーアカウント、OU、root、SCP)について解説されています。
  • 特に、SCPの概念や継承、SCPとIAMのアクセス許可境界に関して、複雑な知識が問われます。

- 2-6 IDおよびアクセス管理に関するインフラストラクチャのアーキテクチャ、実例

  • 最小権限付与の原則を守る
  • サービスからのIAMロールの利用を理解する
  • 予防的統制と発見的統制

- 2-7 IDおよびアクセス管理まとめ

 

第3章 インフラストラクチャのセキュリティ

- 3-1 AWS WAF

  • 通常のFirewallとWAFの違いについて勉強になりました。
  • WAFの攻撃検知のルール(マネージドルール/ユーザー定義ルール)やWAFを使ったアクセス制限は実務でも出てきたことがあり、為になりました。

- 3-2 AWS Shield

  • Shield Standard(無償)とShield Advanced(有償)

- 3-3 AWS Firewall Manager

  • Firewall Managerで管理できるサービス3つ
    • WAF
    • Shield Advanced
    • VPC Security Group

- 3-4 Amazon Route 53

  • ルーティングポリシー(シンプル、フェイルオーバー、位置情報、レイテンシー、複数値回答、加重)について解説されています。

- 3-5 Amazon CloudFront

  • セキュリティ観点として、オリジンのリソースやデータの保護、限定的なアクセスの提供(署名付きURLや署名付きCookie)機能などがポイントになるかと思います。

- 3-6 Elastic Load Balancing

  • 3種類のELB(ALB、NLB、CLB)の違いついて解説されています。

- 3-7 AWS Auto Scaling

  • 利用シーンに応じたスケーリング条件として、図を用いた解説がありイメージがしやすかったです。

- 3-8 Amazon API Gateway

  • ステートレスなAPI
    • REST API
    • HTTP API
  • ステートフルなAPI
    • WebSocket API

- 3-9 Amazon Virtual Private Cloud(以下、VPC)

  • VPCの外部との接続サービスとして、Elastic IP アドレスやインターネットゲートウェイ、NATデバイスについて解説されています。
  • また、VPCピアリングやSite-to-Site VPNを通して、セキュアな通信を行うための概要が図を通して描かれていてイメージしやすかったです。

- 3-10 Security Group

  • Security Group(インスタンス単位)とNetwork ACL(サブネット単位)の通信制御に関して解説されています。

- 3-11 AWS Artifact

  • AWSのコンプライアンスドキュメント

- 3-12 セキュリティに関するインフラストラクチャのアーキテクチャ、実例

  • リソース保護
    • EC2をパブリックサブネットに極力置かない
    • CloudFrontを活用し、リソースへ直接アクセスさせない
  • 通信保護
    • 通信経路の暗号化
    • 通信制御

- 3-13 インフラストラクチャのセキュリティ まとめ

 

第4章 データ保護

- 4-1 AWS Key Management Service(以下、KMS)

  • SCS試験で重要な項目の一つがKMSです。(解説も長い)
  • KMSで主に利用されるAPIが解説されています。
    • GenerateDataKey
    • GenerateDataKeyWithoutPlaintext
    • Decrypt
    • Encrypt
    • CreateKey
    • CreateAlias
    • DisableKey
    • EnableKeyRotation
    • PullKeyPolicy
    • ListKeys
    • DescribeKey
  • Customer Master Key(CMK)のタイプとして以下の3つがあり、CMKを比較した表が参考になりました。
    • カスタマー管理CMK
    • AWS管理CMK
    • AWS所有CMK
  • CMKのローテーション(自動キーローテーションと手動キーローテーションの違い)やキーマテリアルのインポート、キーポリシーによるアクセス制御がポイントになるかと思います。
  • KMSでの制限事項も重要かと思いますので、ポイントを書きます。
    • CMKで直接暗号/復号できるデータは4KBまで
    • APIリクエストのレート制限(ThrottlingException)
    • リージョン間でのキー共有不可
    • CMKを削除したらデータ復号不可
    • リソース制限
  • 最後に、対称キー(共通鍵暗号方式)と非対称キー(公開鍵暗号方式)の違いについて表でまとめられています。

- 4-2 AWS CloudHSM

  • KMSよりもCloudHSMを使う場合の特徴が分かりやすかったです。(KMSとの比較表も参考に)
    • 専用のハードウェアが必要など、企業や契約上の高いコンプライアンス要件がある場合
    • キーの管理を自分で行い、AWSや他社に見せたくない場合
    • キーをVPC内に配置してアクセス制御をしたい場合

- 4-3 Amazon Elastic Block Store(以下、EBS)

  • リージョン間スナップショットのコピーの制約は覚えておくべきポイントです。
    • CMKはリージョン内固有のため、コピー先リージョンで別のCMKを作成して指定する必要があります。
  • 暗号化されていないEBSの暗号化も覚えておくべきポイントの一つです。
    • 直接暗号化できないので、スナップショットを使用して、既存の暗号化されていないEBSの暗号化をする必要があります。

- 4-4 Amazon RDS

  • RDSデータ格納時の暗号化では、暗号化されたRDSの制約がありますので、注意が必要です。
    • DBエンジンがOracle、SQL Serverの場合、Transparent Data Encryption(TDE)機能でデータ暗号化ができることを学びました。
  • RDSデータ伝送中の暗号化では、Secure Socket Layer(SSL)またはTransport Layer Security(TLS)を使用します。
  • RDSへのアクセス認証として、IAMを使用した認証(以下4つのDBエンジン)は業務でも出てきたことがあります。
    • MySQL
    • PostgreSQL
    • Aurora MySQL
    • Aurora PostgreSQL

- 4-5 Amazon DynamoDB

  • DynamoDBでは格納時の暗号化が強制的に行われる点、データ転送中の暗号化も必然的に行われる等が学びに繋がりました。

- 4-6 Amazon S3

  • セキュリティ観点としてのアクセス制御とデータの暗号化が解説されています。(ここも重要)
  • S3のアクセス制御
    • IAMポリシー
    • バケットポリシー
    • アクセスコントロールリスト(バケットACLとオブジェクトACL)
  • VPCエンドポイントの概要(ゲートウェイ型/インターフェイス型)について解説されています。
  • S3データ格納時の暗号化として、以下3種類のキーをサーバーサイド暗号化に使用できます。
    • SSE-S3(AWS管理CMK)
    • SSE-KMS(カスタマー管理CMK)
    • SSE-C(ユーザー指定のキー)
  • 保管時だけでなくデータ伝送時も暗号化したい場合や、特定のアプリケーションのみで復号したい場合などには、S3クライアントサイド暗号化を使用します。
  • S3 Glacierのボールトロック機能や、S3上でのオブジェクトロックもSCS試験において欠かせないポイントです。
    • オブジェクトロック時の設定で「ガバナンスモード」と「コンプライアンスモード」の違いを押さえておくといいです。

- 4-7 AWS Secrets ManagerとAWS Systems Manager Parameter Store(以下、Parameter Store)

  • Secrets ManagerとParameter Storeの主な違いについてやどちらを使えばいいのかについて勉強になりました。(いつも忘れます。。)
    • 基本的にはParameter Storeで十分
    • パスワードの自動ローテーションが必要な場合はSecrets Managerが選択肢となりうる

- 4-8 データ保護に関するアーキテクチャ、実例

  • S3バケットのレベル別暗号化
  • 複数サービスからSecrets Manager使用
  • IAMポリシー、キーポリシー、バケットポリシー
  • S3オブジェクトロックを使用した監査ログ対応

- 4-9 データ保護まとめ

 

第5章 ログと監視

- 5-1 Amazon CloudWatch

  • メトリクス、CloudWatchエージェント、ログについて解説されています。
  • AWSサービスの監視、モニタリングでは必ず出てくるので必須の知識であり、業務でもよく使います。

- 5-2 AWS Config

  • 設定の変更管理や変更履歴のモニタリングを行うサービスでCloudTrailとともに運用上でのトラブルシューティングでよく使います。
  • Security Hubの検出結果に対する調査の際、トリガーされているConfigルールの内容を確認することもあります。

- 5-3 AWS CloudTrail

  • AWSアカウントに対する操作のイベントログを記録するもので、運用保守では必ず出てくるサービスです。
  • 操作記録には以下の3種類のイベントがあります。
    • 管理イベント(デフォルトで有効)
    • データイベント
    • インサイトイベント
  • S3への証跡の保存やダイジェストファイルを使ったログの整合性確認は押さえておくべきポイントかと思います。

- 5-4 AWS X-Ray

  • アプリケーション内で発生するサービス間リクエストの収集及び分析サービス

- 5-5 Amazon Inspector

  • EC2インスタンスを対象としたネットワークとホストの観点からセキュリティ評価を行うサービス
    • オンプレミスサーバーは対象外
    • 評価のルールはユーザーが独自に定義できない

- 5-6 S3に保存されるAWSサービスのログ

  • CloudTrailの証跡や、ELB&CloudFrontのアクセスログ、VPCフローログなどがあります。

- 5-7 Amazon Athena

  • S3上のデータにSQLクエリを実行できるAthenaの仕組みについて解説されています。
    • (*SCS試験ではおそらく出ないかもですが)DAS試験において、Glueのデータカタログやクローラー機能を使ったAthenaとGlueの連携が良く出てくると思います。

- 5-8 VPC Flow Logs(以下、フローログ)

  • フローログの中身と見方のサンプル(セキュリティグループとネットワークACL)は知っておくべきかと思います。

- 5-9 Amazon QuickSight

  • QuickSight によるCloudTrail証跡の可視化が図を用いて描かれていて理解しやすかったです。

- 5-10 Amazon Kinesis

  • 以下3つの概要について解説されています。
    • Kinesis Data Streams
    • Kinesis Data Firehose(S3、Redshift、Elasticsearch Serviceと統合されている)
    • Kinesis Data Analytics(ストリームデータをリアルタイムでSQL処理するサービス)

- 5-11 Amazon Elasticsearch Service

  • セキュリティ観点として、システムのログをKinesis Data FirehoseなどからElasticsearch Serviceに集約し、Kibanaを利用して問題あるログを検索することができます。

- 5-12 ログと監視に関するアーキテクチャ、実例

  • リソース状況・ログ・設定の一元管理(CloudWatch、Config)
  • ログのリアルタイム管理・分析(CloudWatchエージェント、CloudWatch Logs、Kinesis、Elasticsearch Service)
  • 別アカウントへのCloudTrailログ転送
  • 脆弱性管理(Inspector、Systems Manager)
  • S3へ出力したログの定期的な監査

- 5-13 ログと監視まとめ

 

第6章 インシデント対応

- 6-1 AWS Config

  • Configルール(マネージドルール/カスタムルール)について理解できました。
  • Configルールの自動修復機能として以下の2つがあります。
    • Systems Manager Automationドキュメントを修復アクションとしたConfigの自動修復機能(基本はこちらを使用)
    • CloudWatch EventsとLambdaを使ったConfigの自動修復(Lambda実装の手間がかかる)

- 6-2 AWS Systems Manager

  • EC2やオンプレミス上のサーバーを同時に管理したい等の問題が出た場合は、このSystems Managerを思い浮かべると良いです。
  • 主要な機能として以下があります。
    • Session Manager
    • Run Command
    • Automation(6-1で解説)
    • State Manager
    • Inventory
    • Patch Manager
    • Parameter Store(4-7で解説)

- 6-3 Amazon CloudWatch

  • この章では、5-1で説明のなかったCloudWatchのアラームやイベントについて解説されています。

- 6-4 AWS Trusted Advisor

  • AWSが推奨するベストプラクティスに従い、以下5つの観点でチェックしてくれるサービスとなります。(全てのチェック結果を確認するにはビジネスサポート以上のプランが必要)
    • コスト
    • パフォーマンス
    • セキュリティ
    • フォールトトレランス
    • サービス制限

- 6-5 AWS CloudTrail

  • CloudWatchを使用したCloudTrail監視の図が分かりやすく、ためになりました。

- 6-6 AWS CloudFormation

  • インシデント発生時のCloudFormation活用において、ドリフト検出やロールバック設定が挙げられます。

- 6-7 Amazon Macie

  • S3バケット上にある個人情報などの機密データを自動的に発見し、通知や保護処理を実行できるサービス(読み方はメイシー)

- 6-8 Amazon GuardDuty

  • AWS上で発生する不正やセキュリティイベントなどの脅威を検出するサービス

- 6-9 AWS Security Hub

  • 業務でもよく出てくるので馴染みがあります。
  • AWSのセキュリティ状況やコンプラインスの準拠状況を1箇所で確認できるサービス

- 6-10 Amazon Detective

  • GuardDutyとの違いや連携の部分が勉強になりました。

- 6-11 インシデント対応に関するアーキテクチャ、実例

  • EC2のバケットキャプチャ
  • 不正なEC2検知時のインシデント対応
  • EC2キーペアのリセット
  • CloudTrailによるイベント検知

- 6-12 インシデント対応まとめ

 

第7章 AWS Well-Architected

- 7-1 AWS Well-Architected

  • AWSの基本である「5本の柱」について解説されています。
    • 運用の優秀性
    • セキュリティ
    • 可用性
    • パフォーマンス効率
    • コスト最適化

- 7-2 AWS Well-Architectedまとめ

 

第8章 練習問題

- 8-1 練習問題

- 8-2 解答と解説

 

最後に

この本の特徴は以下の通りです。

  1. 豊富な図解
  2. 要点整理から攻略するシリーズのうちの一冊なのでわかりやすい
  3. 巻末に索引がある(サービスのチェックがしやすい)

以上、クラスメソッドコリアのm.hashimotoでした!

本のリンク

要点整理から攻略する『AWS認定 セキュリティ-専門知識』 (Compass Booksシリーズ) Kindle版