У меня есть проверка работоспособности Route53, которая отправляет свои метрики в Cloudwatch, и, наконец, Cloudwatch указывает пороговые значения и должна отправлять оповещения через SNS.
Однако я бы хотел, чтобы моя тема SNS была зашифрована. Когда я включаю шифрование SNS Topic с помощью ключа alias/aws/sns
, я получаю следующие сообщения в истории сообщений Cloudwatch:
{
"actionState": "Failed",
"stateUpdateTimestamp": 123456778899,
"notificationResource": "arn:aws:sns:xx-region-y:zzzzzzzzzz:topic_name",
"publishedMessage": null,
"error": "null (Service: AWSKMS; Status Code: 400; Error Code: AccessDeniedException; Request ID: ccccccccccccccccccc)"
}
Этот , по-видимому, не является проблемой IAM с Cloudwatch, но сам SNS не авторизован для использования ресурсов KMS.
Мне нравится использовать IAM Policy Simulator для пользователей IAM, чтобы определить, где им не хватает разрешений, но, похоже, нет способа проверить доступ Сервиса к другим сервисам. Это то, чем я могу управлять?
https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html
Я также пробовал это с CMK со следующей политикой:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "sns.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey*",
"kms:Decrypt"
],
"Resource": "*"
},
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "route53.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey*",
"kms:Decrypt"
],
"Resource": "*"
},
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "events.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey*",
"kms:Decrypt"
],
"Resource": "*"
},
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::XXXXXXXX:role/OrganizationAccountAccessRole"
},
"Action": "kms:*",
"Resource": "*"
}
]
}
Я довольно часто бросаю дротики в стену с принципалами, но я думаю, что есть проверка для sns.amazonaws.com
для SNS и events.amazonaws.com
для Cloudwatch.
Я получил точно такую же ошибку, "null (Service: AWSKMS; Status Code: 400; Error Code: AccessDeniedException; Request ID: ccccccccccccccccccc)"
, при использовании CMK таким же образом. Я могу понять, что мой CMK не работает должным образом, но управляемый ключ Amazon, как мне кажется, должен работать из коробки.
Я пытался использовать CMK, который предоставляет sns.amazonaws.com
и events.amazonaws.com
с разрешениями kms:*
. Та же ошибка.