説明
メッセージブローカーは、アプリケーション間のメッセージや接続情報を扱います。Amazon MQ は保存データを常に暗号化し、既定では AWS 所有キーを使用します。encryption_options の省略は平文保存を意味しません。
独自のキーポリシーやライフサイクル管理が必要な場合は、ActiveMQ ブローカーにカスタマーマネージド KMS キーを指定してください。既定のキーが組織の要件を満たすかも確認が必要です。
想定される影響
キー管理要件を満たせなかったり、必要なキーの権限を失ったりすると、規制への対応やブローカーの運用に影響する場合があります。保存時の暗号化は、メッセージへのアクセス権限や通信の保護の代わりにはなりません。
対処方法
- 要件に応じて既定のキーかカスタマーマネージドキーを選択してください。後者には
kms_key_idとuse_aws_owned_key = falseを指定してください。 - 実際のキーと権限を確認し、Terraform の計画でブローカーの置き換えを確認してください。暗号化キーの設定変更には置き換えが必要なため、メッセージの保全とクライアントの切り替えを計画してください。
例
ActiveMQ の設定の抜粋です。参照するリソースと変数を定義し、サポートされるエンジンバージョンとインスタンスの組み合わせを選択してください。パスワードは安全に供給し、その値が保存される Terraform の状態へのアクセスを制限してください。
既定の暗号化キー
hcl
resource "aws_mq_broker" "mq_broker" {
broker_name = "example"
configuration {
id = aws_mq_configuration.test.id
revision = aws_mq_configuration.test.latest_revision
}
engine_type = "ActiveMQ"
engine_version = var.activemq_engine_version
host_instance_type = "mq.t2.micro"
security_groups = [aws_security_group.test.id]
user {
username = "ExampleUser"
password = var.broker_password
}
}
既定の保存時の暗号化が適用されます。独自のキー管理要件があるか確認してください。
カスタマーマネージドキーの指定
hcl
resource "aws_mq_broker" "mq_broker" {
broker_name = "example"
configuration {
id = aws_mq_configuration.test.id
revision = aws_mq_configuration.test.latest_revision
}
engine_type = "ActiveMQ"
engine_version = var.activemq_engine_version
host_instance_type = "mq.t2.micro"
security_groups = [aws_security_group.test.id]
user {
username = "ExampleUser"
password = var.broker_password
}
encryption_options {
kms_key_id = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
use_aws_owned_key = false
}
}
例の ARN を、同じリージョンで使用できる実際のキー ARN に置き換えてください。キーの指定だけでは、メッセージの権限やネットワーク設定は完成しません。