AWS Certified Security - Specialty の勉強メモ - 0
はじめに
正直言って今書くか、って感じのメモです。
勉強方法と、とにかくわからなかった用語とその回答を雑多に記載します
勉強方法
- 本を読む(NRIネットコムさんのやつ)
- Whizlabsをやる
- 公式の模擬試験
- ドキュメントを読む
- Black beltを見る
- 実機を触る
業務で触らない以上、これ以外に方法が見当たらない・・・です。
Whizlabsはおすすめ。超ニッチな問題も入っている。
メモ
S3における暗号化
AWS S3で取れる暗号化は以下の通り。
- サーバ側暗号化
- クライアント側暗号化
サーバ側暗号化
サーバ側暗号化では、3通りの暗号化が可能
- Amazon S3管理キーを使用したサーバ側暗号化(SSE-S3)
- KMSのCMKを使用したサーバ側暗号化(SSE-KMS)
- ユーザ提供の暗号化キーを使用したサーバ側暗号化(SSE-C)
クライアント側暗号化
クライアント側暗号化、すなわちデータを保存する前に暗号化する方法。
方法としては、以下のオプションが有る
- AWS KMSのCMKを使う
- アプリケーションに保存するマスターキーを使う
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"
}
]
}
S3 バケットポリシー
自分のWebサービスからS3のバケットへアクセスさせたい場合、S3をパブリック・アクセスにするのは言語道断。
バケットポリシーで、Httpのリファラーポリシーを設定し、特定のWebサービスからのみのアクセスを許可するべし
その際に必要なポリシーとしては、Condition句に。
"String Like":{aws: Referer":["http://.......","http://......"]}
的な感じを入れる
VPCエンドポイント
これがややこしく感じる。
VPCエンドポイントは2種類ある。
インターフェースの方はPrivateLinkと統合されている。
基本はInterfaceだけど、よく使うS3とかはGatewayなので注意。
あと、エンドポイント作成後はVPC Routetableをエンドポイント向けに切る必要がある
AWS Certificate Manager(ACM)
証明書を作れる。
普通にOpenSSLコマンドで作ってELBのIAM/ACMにロードすることも可能
SSHのキーペア
EC2のSSHのキーペアは、KMSでは管理できない。
ローテートなどを管理するには、キーペアは個別で作ってサードパーティのツールを入れるしかない。
ちなみにキーを無くした場合、SSMのエージェントが入っていればそこから作業するが、入っていないなら、root volumeをデタッチして違うインスタンスにアタッチする。そこからauthorized_keysを変更して新しいSSHキーを使えるようにする。
AWS Reportのコンソールを見せるためのIAMポリシー
まんま。知らないと回答不能