これだけ覚えたらAWS認定セキュリティ885点取れる

# 先に結果と感想

![aws sec2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/893830/3105d6cf-daf1-c3f9-1808-e5bfd870e446.png)

- 勉強時間2-3週間
- AWSセキュリティ関連実戦経験あまりない
- ネットでのリソースで充分、有料サイトもそんなに高くないので活用しましょう
- ソリューションアーキテクチャPROより範囲が狭いので、準備時間が少なくなる
- 難易度はソリューションアーキテクチャPROと同じぐらい（範囲が違いのであくまで肌感）

# ノート

ここから本題です。

AWSの試験は主にベストプラクティス・ブログとQ&Aが書いているものを覚えたら、半分の問題と選択肢を読んだらすぐ回答できます。

さらに範囲が正直かなり狭いので、ノートを暗記したら絶対合格だと思います。

ということで、自分が整理したポイントを共有します。

- initiate-vault-lockから24時間以内にabort-vault-lockを呼び出し
- Parameter Storeは非対称キーサポートしない
- データキーは4,096バイトまで、それ以上はエンベロープ暗号化
- GenerateCredentialReportは4時間1回
- GenerateDatakey（プレーンテキストデータキーあり）とGenerateDataKeyWithoutPlaintext（プレーンテキストデータキーなし）の違い
- S3のSystem metadataとUser-defined metadata（自分で設定できる）の違い
- PendingWindowInDaysの意味
    - https://d1.awsstatic.com/whitepapers/International/jp/KMS_Cryptographic_Details_JP.pdf
- PrivateLink
    - VPCエンドポイントはサービス利用側
    - VPCエンドポイントサービスはサービス提供側
- RequestedRegionはリージョンの制御
- IMDSv2
    - PUTメソッド、トークン必要
- approved_ami_by_id
    - 指定したAMIのみ実行できる
- Application Load Balancerに認証設定
    - https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/listener-authenticate-users.html
- BoolIfExists
    - キーがない時はTRUE
- AWSマネージドキーのキーポリシーは変更できない
- SSMのSecureString
    - ssm:GetParameter*とkms:Decrypt同時に権限が必要
- AWSはPromiscuous modeがない
    - ディープパケットインスペクションの場合、自分でセットアップが必要（source/destination checkを外す​）
- Systems Manager Parameter StoreはSecrets Managerより安い、ただしStoreはSecrets Managerがキーのrotateがサポート
- リアルタイム検知 = event bridge
- Kinesis Data Streams = リアルタイム
- Kinesis Firehose：S3と接続の時
- AD FSの設置
    - https://aws.amazon.com/tw/blogs/security/aws-federated-authentication-with-active-directory-federation-services-ad-fs/
- STARTTLSとTLS Wrapper
- AthenaはS3へのアクセス権限がない、LambdaがAthenaを使う時、権限設定はLambda側、ユーザーがAthenaを使う時、権限設定はユーザー側
- KMS.Encrypt, Decryptはデータキーへの暗・復号化
- 2022年5月から、AWSマネージドキーのrotateは3年から1年に
- KMSキーの権限はgrantsとキーポリシーも設定できる
- Cognitoは自分のUIが提供
- GuardDutyでIP除外リスト設定できる
- EBSは使う前にすでにデータがwipe済み（AWS側が行う）
- Configは自分で作成したLambdaもルールとして使える
- CloudwatchはS3にリアルタイムstreamではない
- CMKは同じkey materialをインポートしないといけない
    - そうしないと、新しいCMKを作る必要がある
- EC2とSystems Managerの接続はインターネットもしくはVPCエンドポイント
- Firewall Managerはポリシーの一元管理
- ポリシーのprincipalはグループの指定ができない
- SCPはPrincipalがサポートしない
- ConfigでCodePipelineの監視ができる
- DynamoDBはクライアント側の暗号化もサポート
    - https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/client-server-side.html
- AWS STSはバーション2とバーション1がある
- AWS側が生成されたキーはすぐ削除できない（最短7日間）
- イメージのスキャンニングはInspectorではなく、ECRのデフォルト機能
    - https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html
- OAIはSSE-KMSがサポートできない
    - https://aws.amazon.com/tw/blogs/networking-and-content-delivery/serving-sse-kms-encrypted-content-from-s3-using-cloudfront/

他にこれ読んだ方が良いリンク
- S3関連
    - https://aws.amazon.com/premiumsupport/knowledge-center/s3-troubleshoot-403
- CloudFront関連
    - https://aws.amazon.com/premiumsupport/knowledge-center/custom-ssl-certificate-cloudfront
- EC2関連
    - https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesCommonCauses
- VPC Flow logs
    - https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/flow-logs.html
- GuardDutyフォーマット
    - https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-format.html