Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Notifica agli utenti delle modifiche agli allarmi
Questa sezione spiega come utilizzare AWS User Notifications o Amazon Simple Notification Service per far sì che gli utenti vengano informati delle modifiche agli allarmi.
Configurazione delle notifiche AWS utente
È possibile utilizzare le notifiche AWS utente per configurare i canali di consegna per ricevere notifiche sulla modifica dello stato CloudWatch dell'allarme e sugli eventi di modifica della configurazione. L'utente riceverà una notifica quando un evento corrisponde a una regola specificata. È possibile ricevere notifiche per gli eventi tramite più canali, tra cui e-mail, notifiche chat di AWS Chatbot o notifiche push di AWS Console Mobile Application. È possibile visualizzare le notifiche anche nel Centro notifiche della console
Le configurazioni di notifica create con AWS User Notifications non vengono conteggiate ai fini del limite del numero di azioni che è possibile configurare per lo stato di allarme desiderato. Poiché AWS User Notifications corrisponde agli eventi trasmessi ad Amazon EventBridge, invia notifiche per tutti gli allarmi nel tuo account e nelle regioni selezionate, a meno che tu non specifichi un filtro avanzato per consentire o negare allarmi o schemi specifici.
L'esempio seguente di filtro avanzato corrisponde a una modifica dello stato dell'allarme da OK a ALARM sull'allarme denominato ServerCpuTooHigh
.
{ "detail": { "alarmName": ["ServerCpuTooHigh"], "previousState": { "value": ["OK"] }, "state": { "value": ["ALARM"] } } }
Puoi utilizzare una qualsiasi delle proprietà pubblicate da un allarme negli EventBridge eventi per creare un filtro. Per ulteriori informazioni, consulta Eventi di allarme e EventBridge.
Impostazione delle notifiche Amazon SNS
Puoi utilizzare Amazon Simple Notification Service per inviare sia messaggi application-to-application (A2A) che messaggi application-to-person (A2P), inclusi messaggi di testo mobili (SMS) ed e-mail. Per ulteriori informazioni, consulta le Destinazioni di eventi Amazon SNS.
Per ogni stato in cui può verificarsi un allarme, puoi configurarlo per inviare un messaggio a un argomento SNS. Ogni argomento di Amazon SNS che configuri per uno stato di un determinato allarme conta ai fini del limite del numero di azioni che puoi configurare per tale allarme e stato. Puoi inviare messaggi allo stesso argomento Amazon SNS da qualsiasi allarme presente nel tuo account e utilizzare lo stesso argomento Amazon SNS per i consumer di applicazioni (A2A) e persone (A2P). Poiché questa configurazione viene eseguita a livello di allarme, solo gli allarmi che hai configurato invieranno messaggi all'argomento Amazon SNS selezionato.
Come prima cosa crea e sottoscrivi un argomento. Puoi anche pubblicare un messaggio di prova per l'argomento. Per vedere un esempio, consulta Configurazione di un argomento Amazon SNS utilizzando AWS Management Console. Per ulteriori informazioni, consulta Nozioni di base su Amazon SNS.
In alternativa, se prevedi di utilizzare il AWS Management Console per creare il tuo CloudWatch allarme, puoi saltare questa procedura perché puoi creare l'argomento quando crei l'allarme.
Quando crei un CloudWatch allarme, puoi aggiungere azioni per qualsiasi stato target in cui entra l'allarme. Aggiungi una notifica Amazon SNS per lo stato di cui desideri ricevere una notifica e seleziona l'argomento Amazon SNS che hai creato nel passaggio precedente per inviare una notifica e-mail quando l'allarme entra nello stato selezionato.
Nota
Quando crei un argomento di Amazon SNS, scegli di renderlo un argomento standard o un argomento FIFO. CloudWatch garantisce la pubblicazione di tutte le notifiche di allarme relative a entrambi i tipi di argomenti. Tuttavia, anche se si utilizza un argomento FIFO, in rari casi CloudWatch invia le notifiche all'argomento in modo errato. Se si utilizza un argomento FIFO, l'allarme imposta l'ID del gruppo di messaggi delle notifiche di avviso come hash dell'ARN dell'allarme.
Argomenti
Prevenire la confusione dei vicesceriffiti
Con "confused deputy" si intende un problema di sicurezza in cui un'entità che non dispone dell'autorizzazione per eseguire una certa operazione può costringere un'entità con più privilegi a eseguire tale operazione. Nel AWS, l'impersonificazione intersettoriale può portare alla confusione del problema del vicesceriffo. La rappresentazione tra servizi può verificarsi quando un servizio (il servizio chiamante) effettua una chiamata a un altro servizio (il servizio chiamato). Il servizio chiamante può essere manipolato per utilizzare le proprie autorizzazioni e agire sulle risorse di un altro cliente, a cui normalmente non avrebbe accesso. Per evitare ciò, AWS fornisce strumenti per poterti a proteggere i tuoi dati per tutti i servizi con entità di servizio a cui è stato concesso l'accesso alle risorse del tuo account.
Consigliamo di utilizzare le chiavi contestuali aws:SourceArn
aws:SourceAccount
aws:SourceOrgID
,, e aws:SourceOrgPaths
global condition nelle politiche delle risorse per limitare le autorizzazioni che Amazon SNS fornisce a un altro servizio alla risorsa. Utilizza aws:SourceArn
per associare una sola risorsa all'accesso tra servizi. Utilizza aws:SourceAccount
se desideri consentire l'associazione di qualsiasi risorsa in tale account all'uso tra servizi. Utilizza aws:SourceOrgID
se desideri consentire l'associazione di qualsiasi risorsa di qualsiasi account interno a un'organizzazione all'uso tra servizi. Utilizza aws:SourceOrgPaths
per associare qualsiasi risorsa dagli account in un percorso AWS Organizations all'uso tra servizi. Per ulteriori informazioni sull'utilizzo e la comprensione dei percorsi, consulta aws: SourceOrgPaths nella IAM User Guide.
Il modo più efficace per proteggersi dal problema "confused deputy" è quello di usare la chiave di contesto della condizione globale aws:SourceArn
con l'ARN completo della risorsa. Se non conosci l'ARN completo della risorsa o scegli più risorse, utilizza la chiave di contesto della condizione globale aws:SourceArn
con caratteri jolly (*
) per le parti sconosciute dell'ARN. Ad esempio arn:aws:
. servicename
:*:123456789012
:*
Se il valore aws:SourceArn
non contiene l'ID account, ad esempio un ARN di un bucket Amazon S3, è necessario utilizzare sia aws:SourceAccount
che aws:SourceArn
per limitare le autorizzazioni.
Per proteggersi dal problema "confused deputy" su larga scala, nelle policy basate sulle risorse utilizza la chiave di contesto della condizione globale aws:SourceOrgID
o aws:SourceOrgPaths
con l'ID dell'organizzazione o il percorso dell'organizzazione della risorsa. Quando aggiungi, rimuovi o sposti degli account all'interno dell'organizzazione, le policy che includono la chiave aws:SourceOrgID
o aws:SourceOrgPaths
includono automaticamente anche gli account corretti e non necessitano dell'aggiornamento manuale.
Il valore di aws:SourceArn
deve essere l'ARN dell'allarme che invia le notifiche.
L'esempio seguente mostra come utilizzare i tasti aws:SourceArn
e aws:SourceAccount
global condition context CloudWatch per evitare il confuso problema del vice.
{ "Statement": [{ "Effect": "Allow", "Principal": { "Service": "cloudwatch.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-east-2:444455556666:MyTopic", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:cloudwatch:us-east-2:111122223333:alarm:*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }] }
Se un ARN di allarme include caratteri non ASCII, utilizza solo la chiave di condizione globale aws:SourceAccount
per limitare le autorizzazioni.
Configurazione di un argomento Amazon SNS utilizzando AWS Management Console
Come prima cosa crea e sottoscrivi un argomento. Puoi anche pubblicare un messaggio di prova per l'argomento.
Creazione di un argomento SNS
-
Sul pannello di controllo Amazon SNS sotto Common actions (Operazioni comuni), scegli Create Topic (Crea argomento).
-
Nella finestra di dialogo Create new topic (Crea nuovo argomento) per Topic name (Nome argomento), digita un nome per l'argomento (ad esempio,
my-topic
). -
Scegli Create topic (Crea argomento).
-
Copia il valore di Topic ARN (ARN argomento) per l'attività successiva (ad esempio, arn:aws:sns:us-east-1:111122223333:my-topic).
Abbonamento a un argomento SNS
-
Nel pannello di navigazione, scegli Subscriptions (Abbonamenti), quindi Create subscription (Crea abbonamento).
-
Nella finestra di dialogo Create subscription (Crea abbonamento), per Topic ARN (ARN argomento), copia l'ARN dell'argomento creato durante la precedente attività.
-
Per Protocol, scegli Email.
-
Per Endpoint, digita un indirizzo e-mail che puoi utilizzare per ricevere la notifica, quindi scegli Create subscription (Crea abbonamento).
-
Dalla tua applicazione di posta elettronica, apri il messaggio da AWS Notifiche e conferma l'abbonamento.
Nel Web browser viene visualizzata una risposta di conferma di Amazon SNS.
Pubblicazione di messaggio test su un argomento SNS
-
Nel pannello di navigazione, scegli Topics (Argomenti).
-
Nella pagina Topics (Argomenti), seleziona un argomento e scegli Publish to topic (Pubblica nell'argomento).
-
Nella pagina Publish a message (Pubblica un messaggio), per Subject (Oggetto), digita l'oggetto del messaggio e per Message (Messaggio) digita un breve messaggio.
-
Seleziona Publish Message (Pubblica messaggio).
-
Controlla la tua e-mail per la conferma di ricezione del messaggio.
Configurazione di un argomento SNS utilizzando il AWS CLI
In primo luogo crea un argomento SNS, quindi pubblica un messaggio direttamente sull'argomento per verificare di averlo configurato correttamente.
Per configurare un argomento SNS
-
Crea l'argomento usando il comando create-topic come segue.
aws sns create-topic --name
my-topic
Amazon SNS restituisce un ARN dell'argomento con il seguente formato:
{ "TopicArn": "arn:aws:sns:us-east-1:111122223333:my-topic" }
-
Sottoscrivi l'indirizzo e-mail per l'argomento utilizzando il comando subscribe. Se la richiesta di abbonamento va a buon fine, riceverai un'e-mail di conferma.
aws sns subscribe --topic-arn arn:aws:sns:
us-east-1
:111122223333
:my-topic
--protocol email --notification-endpointmy-email-address
Amazon SNS restituisce quanto segue:
{ "SubscriptionArn": "pending confirmation" }
-
Dalla tua applicazione di posta elettronica, apri il messaggio da AWS Notifiche e conferma l'iscrizione.
Nel Web browser viene visualizzata una risposta di conferma da Amazon Simple Notification Service.
-
Controlla l'abbonamento usando il list-subscriptions-by-topiccomando.
aws sns list-subscriptions-by-topic --topic-arn arn:aws:sns:
us-east-1
:111122223333
:my-topic
Amazon SNS restituisce quanto segue:
{ "Subscriptions": [ { "Owner": "111122223333", "Endpoint": "me@mycompany.com", "Protocol": "email", "TopicArn": "arn:aws:sns:us-east-1:111122223333:my-topic", "SubscriptionArn": "arn:aws:sns:us-east-1:111122223333:my-topic:64886986-bf10-48fb-a2f1-dab033aa67a3" } ] }
-
(Facoltativo) Pubblica un messaggio test per l'argomento utilizzando il comando publish.
aws sns publish --message "Verification" --topic arn:aws:sns:
us-east-1
:111122223333
:my-topic
Amazon SNS restituisce quanto segue:
{ "MessageId": "42f189a0-3094-5cf6-8fd7-c2dde61a4d7d" }
-
Controlla la tua e-mail per la conferma di ricezione del messaggio.
Schema delle notifiche di Amazon SNS quando gli allarmi cambiano stato
Questa sezione elenca gli schemi delle notifiche inviate agli argomenti di Amazon SNS quando gli allarmi cambiano il loro stato.
Schema quando un allarme metrico cambia stato
{ "AlarmName": "string", "AlarmDescription": "string", "AWSAccountId": "string", "AlarmConfigurationUpdatedTimestamp": "string", "NewStateValue": "string", "NewStateReason": "string", "StateChangeTime": "string", "Region": "string", "AlarmArn": "string", "OldStateValue": "string", "OKActions": ["string"], "AlarmActions": ["string"], "InsufficientDataActions": ["string"], "Trigger": { "MetricName": "string", "Namespace": "string", "StatisticType": "string", "Statistic": "string", "Unit": "string or null", "Dimensions": [ { "value": "string", "name": "string" } ], "Period": "integer", "EvaluationPeriods": "integer", "DatapointsToAlarm": "integer", "ComparisonOperator": "string", "Threshold": "number", "TreatMissingData": "string", "EvaluateLowSampleCountPercentile": "string or null" } }
Schema quando un allarme composito cambia stato
{ "AlarmName": "string", "AlarmDescription": "string", "AWSAccountId": "string", "NewStateValue": "string", "NewStateReason": "string", "StateChangeTime": "string", "Region": "string", "AlarmArn": "string", "OKActions": [String], "AlarmActions": [String], "InsufficientDataActions": [String], "OldStateValue": "string", "AlarmRule": "string", "TriggeringChildren": [String] }