インフラエンジニアの備忘録

学んだことをアウトプットする

AWSSCS学習記録

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

NATインスタンス送信先チェックを無効にする

EC2

SSHキーでEC2にアクセスする仕組み
EC2の.ssh/authorized_keysファイルに公開鍵を保存して、
秘密鍵はユーザーが所持する。
公開鍵に対応した秘密鍵を持つユーザーがEC2にアクセスできる。
なお、アクセスするユーザーの追加・削除はEC2の.ssh/authorized_keysで
公開鍵を追加・削除することで行う。

SSMセッションマネージャーでCloudWatchLogsにログを出力する設定ができる。
暗号化を強制する設定もある。