コンテンツにスキップ

KMS@AWSリソース

はじめに

本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。


01. KMS

KMSとは

暗号化キーを管理する。

暗号化キーは、パラメーターストアや暗号化ツール (例:SOPS、kubesec) で使用できる。


AWSマネージド型

暗号化キーを使用するAWSリソースが、ユーザーに代わって暗号化キーを管理する。

暗号化キーを使用できるユーザーをキーポリシーで設定できない。


セルフマネージド型

ユーザーが暗号化キーを管理する。

暗号化キーを使用できるユーザーをキーポリシーで設定できる。


02. セットアップ (セルフマネージド型の場合)

マルチリージョン

複数のリージョンで横断的に使用できる暗号化キーを作成できる。

最初に作成された暗号化キーはプライマリキー、別のリージョンで使用できる暗号化キーをレプリカキーという。

これらは、リージョン情報以外は同じ情報を持っている。

もしマルチリージョン化したい場合、暗号化キーを再作成する必要がある。

kms_multi-region


キーポリシー

KMSのリクエスト制限を設定する。

*例*

{
  "Version": "2012-10-17",
  "Statement":
    [
      {
        "Sid": "Allow an external account to use this KMS key",
        "Effect": "Allow",
        "Principal":
          {
            "AWS":
              [
                "<ここで、他のAWSアカウントのIAMユーザーが利用できるように、IAMユーザーやIAMロールのARNを設定する>",
              ],
          },
        "Action":
          [
            "kms:Encrypt",
            "kms:Decrypt",
            "kms:ReEncrypt*",
            "kms:GenerateDataKey*",
            "kms:DescribeKey",
          ],
        "Resource": "*",
      },
    ],
}


暗号化設定

▼ キータイプ

暗号化キーを対称型 (ペアは不要) または非対称 (パブリックとプライベートのペアが必要) とするかを設定する。

▼ オリジン

記入中...

▼ キーの仕様

記入中...

▼ キーの用途

暗号化キーの用途タイプを設定する。

  • 暗号化と復号化 (ENCRYPT_DECRYPT)
  • 署名と検証 (SIGN_VERIFY)
  • MCの生成と検証 (GENERATE_VERIFY_MAC)


キー自動更新

暗号化キーのキーマテリアルを一定期間で自動的に更新する。

kms_key_rotation


キーポリシー

KMSにポリシーを設定する。

AWSマネージド型では設定できず、セルフマネージド型でのみ設定できる。

KMSを使用できるユーザーやAWSリソースを制限できるようになる。