元情シス部員の頑張るIT

元情シスで現コンサルでもうすぐ転職。少しは使えるようになりました。

AWS Certified Security - Specialty の勉強メモ - 0

はじめに

正直言って今書くか、って感じのメモです。

勉強方法と、とにかくわからなかった用語とその回答を雑多に記載します 

 

勉強方法

  1. 本を読む(NRIネットコムさんのやつ)
  2. Whizlabsをやる
  3. 公式の模擬試験
  4. ドキュメントを読む
  5. Black beltを見る
  6. 実機を触る

業務で触らない以上、これ以外に方法が見当たらない・・・です。

Whizlabsはおすすめ。超ニッチな問題も入っている。

メモ

S3における暗号化

AWS S3で取れる暗号化は以下の通り。

  • サーバ側暗号化
  • クライアント側暗号化
サーバ側暗号化

サーバ側暗号化では、3通りの暗号化が可能

  • Amazon S3管理キーを使用したサーバ側暗号化(SSE-S3)
  • KMSのCMKを使用したサーバ側暗号化(SSE-KMS)
  • ユーザ提供の暗号化キーを使用したサーバ側暗号化(SSE-C)

docs.aws.amazon.com

クライアント側暗号化

クライアント側暗号化、すなわちデータを保存する前に暗号化する方法。

方法としては、以下のオプションが有る

  • AWS KMSのCMKを使う
  • アプリケーションに保存するマスターキーを使う

また、AWS SDKを使うことで暗号化が可能

docs.aws.amazon.com

 

AWS ConfigとIAMパーミッション

AWS Configを利用する際は、Configのコンソールを使ってIAMロールを作成する場合、自動的に必要な権限をIAMへアタッチする。

ただしCLIや既存のIAMロールで利用したい場合は、ポリシーを手動で更新する必要がある。

→ロールへTrust Policyを追加する(公式ドキュメント上、こういうらしい

 

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "config.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}

docs.aws.amazon.com

 

S3 バケットポリシー

自分のWebサービスからS3のバケットへアクセスさせたい場合、S3をパブリック・アクセスにするのは言語道断。

バケットポリシーで、Httpのリファラーポリシーを設定し、特定のWebサービスからのみのアクセスを許可するべし

その際に必要なポリシーとしては、Condition句に。

"String Like":{aws: Referer":["http://.......","http://......"]}

的な感じを入れる

 

VPCエンドポイント

これがややこしく感じる。

VPCエンドポイントは2種類ある。

  • VPC Interface Endpoint
  • VPC Gateway Endpoint (Only for S3, DynamoDB)

インターフェースの方はPrivateLinkと統合されている。

基本はInterfaceだけど、よく使うS3とかはGatewayなので注意。

あと、エンドポイント作成後はVPC Routetableをエンドポイント向けに切る必要がある

docs.aws.amazon.com

 

AWS Certificate Manager(ACM

証明書を作れる。

SSLサーバ証明書とか。作ってALBにロードする。

普通にOpenSSLコマンドで作ってELBのIAM/ACMにロードすることも可能

 

SSHのキーペア

EC2のSSHのキーペアは、KMSでは管理できない。

ローテートなどを管理するには、キーペアは個別で作ってサードパーティのツールを入れるしかない。

ちなみにキーを無くした場合、SSMのエージェントが入っていればそこから作業するが、入っていないなら、root volumeをデタッチして違うインスタンスにアタッチする。そこからauthorized_keysを変更して新しいSSHキーを使えるようにする。

 

AWS Reportのコンソールを見せるためのIAMポリシー

まんま。知らないと回答不能

docs.aws.amazon.com