Come posso configurare un allarme in CloudWatch con un topic SNS crittografato?
Desidero configurare un allarme in Amazon CloudWatch con un topic Amazon Simple Notification Service (Amazon SNS) crittografato.
Breve descrizione
Devi utilizzare una chiave gestita dal cliente del Servizio AWS di gestione delle chiavi (AWS KMS) per inviare notifiche Amazon SNS con un topic Amazon SNS crittografato per un allarme in CloudWatch. Se per la crittografia utilizzi la chiave gestita da AWS predefinita alias/aws/sns, l'allarme in CloudWatch non riesce ad avviare l'azione di allarme. Ricevi pertanto un messaggio simile al seguente nella sezione Cronologia degli allarmi:
"Failed to execute action arn:aws:sns:us-east-1:ACCOUNT_ID:TOPIC_NAME. Received error: "CloudWatch Alarms does not have authorization to access the SNS topic encryption key.""
Nota: la policy della chiave AWS KMS predefinita per Amazon SNS non consente agli allarmi di CloudWatch di eseguire chiamate API kms:Decrypt e kms:GenerateDataKey. Non puoi modificare manualmente le policy per le chiavi gestite da AWS.
Risoluzione
Per configurare un allarme in CloudWatch con un topic Amazon SNS crittografato, completa i seguenti passaggi:
-
Apri la console Amazon SNS.
-
Scegli Crea argomento.
-
Per Tipo, scegli ** Standard**, quindi crea un nome per il topic e un nome per la visualizzazione.
-
Espandi l'impostazione Crittografia - facoltativo per attivare la crittografia.
-
Seleziona una chiave gestita dal cliente.
-
Modifica manualmente la policy della chiave per concedere agli allarmi di CloudWatch le autorizzazioni Decrypt e GenerateDataKey in modo che possano pubblicare messaggi su topic Amazon SNS crittografati:
{ "Sid": "Allow_CloudWatch_for_CMK", "Effect": "Allow", "Principal": { "Service": [ "cloudwatch.amazonaws.com" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*" } -
(Facoltativo) Per rendere la policy più restrittiva, includi un elemento Condition. Ad esempio, la chiave di contesto Condition nella seguente policy consente l'azione solo dall'organizzazione o-123456789:
"Resource": "*" "Condition": { "StringEquals": { "aws:SourceOrgID": "o-123456789" } -
Assicurati che la policy di accesso del topic Amazon SNS includa l'autorizzazione Publish per consentire agli allarmi di CloudWatch di pubblicare messaggi sul topic Amazon SNS:
{ "Sid": "Allow_Publish_Alarms", "Effect": "Allow", "Principal": { "Service": [ "cloudwatch.amazonaws.com" ] }, "Action": "sns:Publish", "Resource": "arn:aws:sns:example-region:example-account-id:example-topic"}Nota: sostituisci example-region con la tua Regione AWS, example-account-id con l'ID dell'account e example-topic con il nome del topic.
-
Scegli Crea argomento.
-
Crea l'allarme in CloudWatch basato su uno dei seguenti elementi:<br id=hardline_break/> Soglia statica<br id=hardline_break/> Espressione matematica metrica<br id=hardline_break/> Query Metrics Insights<br id=hardline_break/> Origine dati connessa<br id=hardline_break/> Rilevamento degli outlier
Informazioni correlate
Using Amazon CloudWatch alarms (Utilizzo degli allarmi di Amazon CloudWatch)
Encrypting messages published to Amazon SNS with AWS KMS (Crittografia dei messaggi pubblicati in Amazon SNS con AWS KMS)
Perché non ho ricevuto una notifica SNS per l'attivazione del mio allarme CloudWatch?
- Lingua
- Italiano
Video correlati

