# はじめに
SCS-02の勉強をした際のメモを書いておきます。
メモ
・Cognitoのサインアップ前のLambdaトリガー
サインアップ前に、Lambdaカスタム検証を挟むことが可能
・CloudFormationからSecrtesManagerの参照
{{resolve:secretsmanager:secret-id:SecretString:json-key:version-stage:version-id}}
・S3オブジェクトロックのモード
ガバナンスモード:ルートユーザ等による一部のユーザからの編集削除が可能
コンプライアンスモード:例外なしに編集削除NG
・AuditManager
AWSの使用状況を監査、リスク管理、規制、業界標準とのコンプライアンスの評価方法を簡素化できる。収集の自動化など
オンプレや他クラウドからの収集も可能
・ConfigのS3バケットへの書き込み
IAM、S3バケットポリシー双方に権限付与が必要
・SCPでのルートユーザの指定方法
”StringLike”:{
“aws:PricipalArn”[
“arn:aws:iam::*:root””
]
}
・ServiceCatalogの起動成約
ポートフォリオ内において、SerciveCatalogがIAMロールを引き受けるように指定できる
.EC2ImageBuilderを利用する際の権限
EC2に以下権限を割り当てる
- EC2InstanceProfileForImageBuilder
- EC2InstanceProfileForImageBuilderECRContainerBuilds
- AmazonSSMManagedInstanceCore
・バケット所有者が自分の所有していないオブジェクトに対するアクセス許可を付与する
バケットポリシーで別アカウントへのアップロードを許可する
自分のアカウントへのアクセスを許可する
オブジェクトACLでオブジェクトの許可をバケット所有者に付与する
・KMSCreateGrantにおけるグラントトークンの利用
グラントは結果整合性のため、5分程度の遅延が発生することがある
グラントのグラントトークンを利用し、CrateGrantオペレーションで返却されるトークンを保存する
・IMDSv2から認証情報を取得することを強制するポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "RequireAllEc2RolesToUseV2",
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"NumericLessThan": {
"ec2:RoleDelivery": "2.0"
}
}
}
]
}
・IMDSv2の使用を必須とする方法
ec2:runinstances API アクションを使用する場合は、「--metadata-options HttpTokens」オプションを「required」に設定
AWS CLI から「HttpTokens required」オプションを指定して「ec2modify-instance-metadata-options」コマンドを使用して既存のインスタンスを更新する
・SCPでのプリンシパルは指定できないのでConditionで指定
・KMSキーポリシー
kms:CallerAccountでキーポリシーでアカウント指定が可能
かつ、kms:ViaServiceで呼び出し元サービスの指定が可能
・Configマネージドルールに準拠していない旨が認証情報レポートに表示される場合
[MaximumExecutionFrequency] パラメータを 4 時間超に変更する。
・AWSConfigのKMSキーローテーション確認ルール
デフォルト90日指定になっている