[前回] AWS公式資料で挑むSCS認定(23)-こんな時どうする(分野5:データ保護)
はじめに
前回まで分野別「こんな時どうする」をまとめてみました。
今回は「こんな時どうする」の補足となります。
分野1: インシデント対応
- ユーザのアクセスキーが誤って公開された
- アクセスキーを削除またはローテート
- 不正使用されていないか、すべてのリージョンにおけるAWS CloudTrailログを確認
- 未承認リソースが存在したら削除
分野2: ログとモニタリング(監視)
-
すべてのAPI呼び出しをログ収集、3ヶ月間のみオンライン状態で参照、その後コンプライアンス要求により5年間復元可能な状態で保存したい
- すべてのアカウントでAWS CloudTrailを有効化
- 集中型ログ記録アカウントのS3バケットにログを格納
- 三ヶ月後Amazon Glacierに移動、5年後にデータを失効させるライフサイクルポリシーを作成
-
AWS Lambda関数のデータをAmazon CloudWatch Logsにロギングさせたい
- 最小権限ポリシーとしてCreateLogGroup、CreateLogStream、PutLogEvents権限をLambdaに付与
分野3: インフラストラクチャのセキュリティ
- CloudFrontディストリビューションでS3バケットから配信されるコンテンツに、ユーザーが直接アクセスできないようにしたい
- オリジンアクセスアイデンティティ(OAI)と呼ばれる特別なCloudFrontユーザーを作成し、ディストリビューションに関連付ける
- CloudFrontがOAIを使用しバケットにアクセスできるように、S3バケットのアクセス許可を設定
- S3バケットへのダイレクトURLを使用したアクセスを拒否するように設定
分野4: アイデンティティ(ID)及びアクセス管理
-
オンプレミスのADFS(Windows Active Directory Federation Services)を使用して、AWS Management Consoleにアクセスしたい
- SAML2.0互換IDプロバイダー(IdP)とAWS Management Consoleへのタスク実行権限を付与したロールを使用
- ユーザーがサインインすると、ADFSがユーザー識別アサーションとユーザー属性を含むSAMLアサーションレスポンスを生成
- ADFSにコンソールセッションの有効期間を指定するSAMLアサーション属性SessionDurationを設定可
- ADFSにセッションタグとして属性を渡すことも可能
- ADFSはレスポンスをクライアントブラウザに送信
- クライアントブラウザはAWSのSSOエンドポイントにリダイレクトされ、SAMLアサーションを投稿
- SSOエンドポイントがユーザーの代わりに一時的なセキュリティ認証情報をリクエストし、コンソールのサインインURLを作成
- AWSがサインインURLをクライアントにリダイレクト送信
- クライアントブラウザがAWS Management Consoleにリダイレクトされる
- SAML認証レスポンスに複数IAMロールに対応付けられた属性が含まれた場合、コンソールへアクセスするためロール選択が必要
-
新しいリソースを追加する度にリソースへのアクセス許可ポリシーを更新したくない
- 属性(タグ)ベースのアクセスコントロール(ABAC)ポリシーを使用
- プリンシパルのタグがリソースタグと一致するときのみオペレーションを許可する
- 急速に成長している環境で役立ち、ポリシー管理が面倒な状況に役立つ
分野5: データ保護
-
EC2インスタンスのEBSボリューム上のすべてのデータを暗号化したい
- Amazon EBSボリューム作成時にKMSキーを指定
- デフォルトでは、AWSアカウントのAWS管理キーを使用、ユーザーが作成/管理するカスタマー管理キーも指定可
- カスタマー管理キーを使用する場合、ユーザーに代わってKMSキーを使用する許可をAmazon EBSに付与する必要あり
-
S3への送信/保管データを暗号化、かつバケットが誤ってパブリックになっても、外部アカウントユーザからのアクセスを制限し、データを機密扱いできるようにしたい
- S3バケットのデフォルト暗号化方式を有効化、KMSキーを用いたサーバー側暗号化(SSE-KMS)を使用
- KMSキーの使用権限を与えられた外部アカウントユーザーのみS3にアクセスできるため
- バケットポリシーを追加し、PutObjectリクエストにaws:SecureTransportが含まれていない場合は拒否
- HTTPS通信を強制し、送信データを保護
- S3バケットのデフォルト暗号化方式を有効化、KMSキーを用いたサーバー側暗号化(SSE-KMS)を使用
-
S3保管データを暗号化し、不正アクセス対策のためすべてのアクセス監査証跡を記録したい
- KMSキーを用いたサーバー側暗号化(SSE-KMS)を使用することで、KMSキーがいつ誰によって使用されたか監査証跡を記録可
おわりに
各分野に対し「こんな時どうする」を追加しました。
次回も続きます、お楽しみに。