ablog

不器用で落着きのない技術者のメモ

APGアクティビティストリームの KMS カスタマー管理キーに対する Kinesis Firehose のアクセス権

Aurora PostgreSQL互換でアクティビティストリームを開始すると、監査ログが Kinesis Data Stream に書かれるが、アクティビティストリーム開始時に必ず KMS のカスタマー管理キーを指定しないといけないようになっている。Kinesis Data Stream のコンシューマーとして Kinesis Firehose を設定すると設定時に作成されるIAMロールにインラインポリシーが作成され、以下の箇所で KMS カスタマー管理キーに対するアクセス権が付与されている。

  • アクティビティストリーム開始時の設定画面

  • 作成された IAM ロール

  • IAMロールのインラインポリシーの以下の箇所で KMS の権限が付与されている。
(略)
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:ap-northeast-1:123456789012:key/%SSE_KEY_ID%"
            ],
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "kinesis.ap-northeast-1.amazonaws.com"
                },
                "StringLike": {
                    "kms:EncryptionContext:aws:kinesis:arn": "arn:aws:kinesis:ap-northeast-1:123456789012:stream/aws-rds-das-cluster-KGKB******************WQUI"
                }
            }
        }
    ]
}