AWSの記録を読み解く

開発者のための AWS セキュリティ活用

Rahul Singh

Technical Product Manager

記録1件に含まれる情報

CloudTrail: API呼び出し1件につき記録1件

  1. 呼び出された操作: eventName
  2. 発生日時(UTC): eventTime
  3. 呼び出した人物: userIdentity
  4. 対象のリソース: requestParameters

5つの番号付きフィールドと例の値を示す記録カード:eventName、eventTime、userIdentity、requestParameters、errorCode。5番目のマーカーはオレンジ色で、値は AccessDenied です。

開発者のための AWS セキュリティ活用

記録1件に含まれる情報

CloudTrail: API呼び出し1件につき記録1件

  1. 呼び出された操作: eventName
  2. 発生日時(UTC): eventTime
  3. 呼び出した人物: userIdentity
  4. 対象のリソース: requestParameters
  5. 拒否された場合とその理由: errorCode

5つの番号付きフィールドと例の値を示す記録カード:eventName、eventTime、userIdentity、requestParameters、errorCode。5番目のマーカーはオレンジ色で、値は AccessDenied です。

開発者のための AWS セキュリティ活用

ログはプリンシパルを示す

2つのフィールド、1つのID

  • セッション: 呼び出し元、arn に記載、arn:aws:sts: で始まる
  • ロール: その権限、sessionIssuer に記載、arn:aws:iam: で始まる

上下2つのゾーン。上のゾーン(見出し:Principal)はセッションARN assumed-role/ReportsRole/deploy-42 を示し、それを発行したロールARN role/ReportsRole へ実線の矢印で結ばれている。下のゾーン(見出し:Actor)はセッション名、sourceIPAddress、userAgent の3つの破線ボックスがあり、いずれも「Inferred」と書かれた破線ボックスを指している。

開発者のための AWS セキュリティ活用

ログはプリンシパルを示す

2つのフィールド、1つのID

  • セッション: 呼び出し元、arn に記載、arn:aws:sts: で始まる
  • ロール: その権限、sessionIssuer に記載、arn:aws:iam: で始まる

アクターはフィールドではない

  • 推測される情報:セッション名、sourceIPAddress

上下2つのゾーン。上のゾーン(見出し:Principal)はセッションARN assumed-role/ReportsRole/deploy-42 を示し、それを発行したロールARN role/ReportsRole へ実線の矢印で結ばれている。下のゾーン(見出し:Actor)はセッション名、sourceIPAddress、userAgent の3つの破線ボックスがあり、いずれも「Inferred」と書かれた破線ボックスを指している。

開発者のための AWS セキュリティ活用

40ではなく4つのフィールドを押さえる

40個のフィールド、重要なのは4つ

  • アクター: 操作を開始した人物
  • プリンシパル: AWSが確認したID
  • アクション: 呼び出された操作
  • リソース: 影響を受けた対象

多数の灰色のフィールドバーが並ぶ密なイベント記録で、そのうち4つが青色で強調されている。矢印の先には、actor、principal、action、resource の4行からなるコンパクトなカードがある。

開発者のための AWS セキュリティ活用

40ではなく4つのフィールドを押さえる

40個のフィールド、重要なのは4つ

  • アクター: 操作を開始した人物
  • プリンシパル: AWSが確認したID
  • アクション: 呼び出された操作
  • リソース: 影響を受けた対象

それぞれの由来

  • アクションは eventName、リソースは requestParameters から
  • プリンシパルは userIdentity から、アクターは推測される

多数の灰色のフィールドバーが並ぶ密なイベント記録で、そのうち4つが青色で強調されている。矢印の先には、actor、principal、action、resource の4行からなるコンパクトなカードがある。

開発者のための AWS セキュリティ活用

デフォルトで有効か無効か

管理イベント

  • コントロールプレーンの呼び出し
  • すべての KMS 呼び出しを含むため、Decrypt もここに記録される
  • イベント履歴: コンソールで無料閲覧できる90日分

 

ボックス内に3つのコントロールプレーン呼び出し名があり、実線の矢印で「Recorded by default」と書かれたボックスへつながっている。

 

開発者のための AWS セキュリティ活用

デフォルトで有効か無効か

管理イベント

  • コントロールプレーンの呼び出し
  • すべての KMS 呼び出しを含むため、Decrypt もここに記録される
  • イベント履歴: コンソールで無料閲覧できる90日分

データイベント

  • オブジェクトの読み取り、関数の呼び出し、アイテムの書き込み
  • トレイル: 継続的に配信され、別途課金される
  • セレクターでリソースタイプと読み取り/書き込み/両方を指定する

ボックス内に3つのコントロールプレーン呼び出し名があり、実線の矢印で「Recorded by default」と書かれたボックスへつながっている。

ボックス内に3つのデータプレーン呼び出し名があり、破線の矢印で「Not recorded until you ask」と書かれた破線ボックスへつながっている。

開発者のための AWS セキュリティ活用

誰も記録していなかった

3つの時点を示すタイムライン:記録内容を選択する、ファイルがダウンロードされる、CloudTrail を開く。破線は最初の時点から最後まで続き、そこで「イベントが見つかった」ボックスと「何もない」ボックスに分かれる。

事前に決定、事後に確認

開発者のための AWS セキュリティ活用

誰も記録していなかった

3つの時点を示すタイムライン:記録内容を選択する、ファイルがダウンロードされる、CloudTrail を開く。破線は最初の時点から最後まで続き、そこで「イベントが見つかった」ボックスと「何もない」ボックスに分かれる。

事前に決定、事後に確認

  • 顧客データに対してはデータイベントを有効化
  • それ以外は無効
開発者のための AWS セキュリティ活用

証跡、未来へ活かす

IAM Access Analyzer

  • ポリシー検証: 作成したポリシーをチェックする

積み重なった3つの段階。ロールが使用したイベント名(GetObject、ListBucket、Decrypt)のボックスが IAM Access Analyzer へ流れ込み、さらに s3:GetObject、s3:ListBucket、kms:Decrypt という名前空間付きの IAM アクションを含む生成済みポリシーへとつながる。

開発者のための AWS セキュリティ活用

証跡、未来へ活かす

IAM Access Analyzer

  • ポリシー検証: 作成したポリシーをチェックする
  • ポリシー生成: トレイルの最大90日分を使用
  • イベント履歴ではなくトレイルが必要

積み重なった3つの段階。ロールが使用したイベント名(GetObject、ListBucket、Decrypt)のボックスが IAM Access Analyzer へ流れ込み、さらに s3:GetObject、s3:ListBucket、kms:Decrypt という名前空間付きの IAM アクションを含む生成済みポリシーへとつながる。

開発者のための AWS セキュリティ活用

付与されたが、未使用

2本のバー。上のバーは付与されたアクション42個を示す。下のバーは、3個のアクションを示す緑色の狭いセグメントと、未使用の39個を示す幅広の破線セグメントに分かれている。

未使用アクセスの検出結果

  • 一度も呼び出されていないロール、キー、アクション
開発者のための AWS セキュリティ活用

付与されたが、未使用

2本のバー。上のバーは付与されたアクション42個を示す。下のバーは、3個のアクションを示す緑色の狭いセグメントと、未使用の39個を示す幅広の破線セグメントに分かれている。

未使用アクセスの検出結果

  • 一度も呼び出されていないロール、キー、アクション

使用済みと必要は同じではない

開発者のための AWS セキュリティ活用

付与されたが、未使用

2本のバー。上のバーは付与されたアクション42個を示す。下のバーは、3個のアクションを示す緑色の狭いセグメントと、未使用の39個を示す幅広の破線セグメントに分かれている。

未使用アクセスの検出結果

  • 一度も呼び出されていないロール、キー、アクション

使用済みと必要は同じではない

最小権限を数値で把握

  • 証跡を入力に、より厳格なポリシーを出力
開発者のための AWS セキュリティ活用

練習しましょう!

開発者のための AWS セキュリティ活用

Preparing Video For Download...