KMS
カスタマー管理キーは有効/無効を選択できる。
キーを削除するより安全である。AWS管理キーは選択できない。
暗号化消去:暗号化対象のデータと暗号化に使用した鍵を両方削除すること。
鍵を削除するのでデータの復号が不可能になる。
通常、KMSキーを削除するには7日間の待機期間がかかる。
KMSキーを生成するときにキーマテリアルの指定/未指定が選択できる。
未指定の場合はAWSで自動生成する。
指定の場合はBYOKできるうえ、キーマテリアルを無効化してKMSキーを無効化できるため、KMSキーを即時無効化できるというメリットがある。
Grant(権限)とは、各リソースがKMSキーを一時的に利用できるようにする、
キーポリシーとは別のリソースベースのアクセス制御機能。
createGrantAPIを実行することで設定する。
キーポリシーの条件キーでアクセス可能なサービスを限定できる。
<条件キーの一例>
"StringEquals": {
"kms:CallerAccount": "111122223333",
"kms:ViaService": "ec2.us-west-2.amazonaws.com"
}
S3 Glacier
S3 Glacierにはボールトロック機能がある。
abortVaultLock操作でロック開始し、ポリシーの編集ができる状態となる(inprogress)。
complete-vault-lock操作でロックを完了する(locked)。
Direct Connect
DIrect Connectには暗号化通信する設定は存在しないため、
DX上にVPNを用意する必要がある。VPNにはVGWが必要。
S3
オブジェクトへのアクセスはデフォルトだとプライベートとなっており、
バケット作成したアカウントのみアクセス可能。
バケットポリシーでは明示的な拒否が明示的な許可よりも優先する。
RDS
RDS データベースをデプロイした後は暗号化状態を変更できない
RDSを暗号化する方法は、暗号化されていないスナップショットを取得し、
暗号化されたスナップショットを作成して、暗号化されたDBインスタンスを生成する。
IAM
AWS Organizations は、AWS IAM のパスワードポリシーの作成には使用できません。
Config
信頼ポリシー:IAMユーザーに代わってConfig自身がConfigを実行するための権限
ConfigがConfigのロールを引き受けるようにする。
リソースベースポリシー:Configの設定履歴ファイルはS3バケットに送信されるため、
S3バケットへの書き込み権限を付与する必要がある。
SNSトピックに通知を送信する場合も同様。
EC2
タスク定義のawslogsログドライバーでFargate起動タイプのコンテナのログをCloudWatchLogsに出力できる。
<タスク定義のログドライバー部分の例>
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group" : "/ecs/fargate-task-definition",
"awslogs-region": "us-east-1",
"awslogs-stream-prefix": "ecs"
}
},
Organization
組織内であればどのユーザーでもアクセスできるようなポリシーを作成するには、
プリンシパルの値を「*」、条件キーにaws:PrincipalOrgIDの値を設定する。
VPC
EC2
SSHキーでEC2にアクセスする仕組み
EC2の.ssh/authorized_keysファイルに公開鍵を保存して、
秘密鍵はユーザーが所持する。
公開鍵に対応した秘密鍵を持つユーザーがEC2にアクセスできる。
なお、アクセスするユーザーの追加・削除はEC2の.ssh/authorized_keysで
公開鍵を追加・削除することで行う。
SSMセッションマネージャーでCloudWatchLogsにログを出力する設定ができる。
暗号化を強制する設定もある。