Policy tematica di Amazon SNS per CloudTrail - AWS CloudTrail

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à.

Policy tematica di Amazon SNS per CloudTrail

Per inviare notifiche a un argomento SNS, è CloudTrail necessario disporre delle autorizzazioni richieste. CloudTrailassegna automaticamente le autorizzazioni richieste all'argomento quando crei un argomento Amazon SNS come parte della creazione o dell'aggiornamento di un percorso nella console. CloudTrail

Importante

Come best practice di sicurezza, per limitare l'accesso all'argomento SNS, si consiglia di modificare manualmente la policy IAM allegata all'argomento SNS per aggiungere chiavi della condizione, dopo aver creato o aggiornato un percorso per inviare notifiche SNS. Per ulteriori informazioni, consultare Best practice di sicurezza per la policy dell'argomento SNS in questo argomento.

CloudTrail aggiunge automaticamente la seguente dichiarazione alla policy con i seguenti campi:

  • SID consentiti.

  • Il nome principale del servizio per CloudTrail.

  • L'argomento SNS, compresi Regione, ID account e nome argomento.

La seguente politica consente di CloudTrail inviare notifiche sulla consegna dei file di registro dalle regioni supportate. Per ulteriori informazioni, consulta CloudTrail Regioni supportate. Si tratta della policy di default allegata a una policy di argomento SNS nuova o esistente quando crei o aggiorni un percorso e scegli di abilitare le notifiche SNS.

Policy dell'argomento SNS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailSNSPolicy20131101", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:region:SNSTopicOwnerAccountId:SNSTopicName" } ] }

Per utilizzare un argomento Amazon SNS AWS KMS crittografato per inviare notifiche, devi anche abilitare la compatibilità tra l'origine dell'evento CloudTrail () e l'argomento crittografato aggiungendo la seguente dichiarazione alla politica di. AWS KMS key

Policy della chiave KMS

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" } ] }

Per ulteriori informazioni, consulta Abilitare la compatibilità tra le fonti di eventi di AWS Services e gli argomenti crittografati.

Best practice di sicurezza per la policy dell'argomento SNS

Per impostazione predefinita, l'informativa sulla policy IAM CloudTrail allegata all'argomento Amazon SNS consente al responsabile CloudTrail del servizio di pubblicare su un argomento SNS, identificato da un ARN. Per impedire a un utente malintenzionato di accedere al tuo argomento SNS e di inviare notifiche per conto dei destinatari dell'argomento, modifica manualmente la policy relativa CloudTrail all'argomento CloudTrail SNS aggiungendo una chiave di aws:SourceArn condizione all'informativa sulla policy allegata da. CloudTrail Il valore di questa chiave è l'ARN del percorso o un array di ARN del percorso che utilizzano l'argomento SNS. Poiché include sia l'ID del percorso specifico che l'ID dell'account proprietario del percorso, limita l'accesso all'argomento SNS solo agli account che dispongono dell'autorizzazione per gestire il percorso. Prima di aggiungere le chiavi condizionali alla policy dell'argomento SNS, recupera il nome dell'argomento SNS dalle impostazioni del percorso nella console. CloudTrail

Anche la chiave di condizione aws:SourceAccount è supportata, ma non consigliata.

Per aggiungere la chiave della condizione aws:SourceArn alla policy dell'argomento SNS
  1. Apri la console Amazon SNS all'indirizzo https://console.aws.amazon.com/sns/v3/home.

  2. Nel pannello di navigazione, scegli Topics (Argomenti).

  3. Scegli l'argomento SNS visualizzato nelle impostazioni del percorso, quindi scegli Edit (Modifica).

  4. Espandi Access policy (Policy di accesso).

  5. Nell'editor JSON Access policy (Policy d'accesso), cerca un blocco simile al seguente esempio.

    { "Sid": "AWSCloudTrailSNSPolicy20150319", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496" }
  6. Aggiungi un nuovo blocco per una condizione, aws:SourceArn, come mostrato nell'esempio seguente. Il valore di aws:SourceArn è l'ARN del percorso di cui stai inviando notifiche a SNS.

    { "Sid": "AWSCloudTrailSNSPolicy20150319", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail3" } } }
  7. Al termine della modifica della policy dell'argomento SNS, scegli Save changes (Salva modifiche).

Per aggiungere la chiave della condizione aws:SourceAccount alla policy dell'argomento SNS
  1. Apri la console Amazon SNS all'indirizzo https://console.aws.amazon.com/sns/v3/home.

  2. Nel pannello di navigazione, scegli Topics (Argomenti).

  3. Scegli l'argomento SNS visualizzato nelle impostazioni del percorso, quindi scegli Edit (Modifica).

  4. Espandi Access policy (Policy di accesso).

  5. Nell'editor JSON Access policy (Policy d'accesso), cerca un blocco simile al seguente esempio.

    { "Sid": "AWSCloudTrailSNSPolicy20150319", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496" }
  6. Aggiungi un nuovo blocco per una condizione, aws:SourceAccount, come mostrato nell'esempio seguente. Il valore di aws:SourceAccount è l'ID dell'account proprietario del CloudTrail percorso. Questo esempio limita l'accesso all'argomento SNS solo agli utenti che possono accedere all' AWS account 123456789012.

    { "Sid": "AWSCloudTrailSNSPolicy20150319", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } }
  7. Al termine della modifica della policy dell'argomento SNS, scegli Save changes (Salva modifiche).

Specificare un argomento esistente per l'invio di notifiche

Puoi aggiungere manualmente le autorizzazioni per un argomento di Amazon SNS alla tua policy tematica nella console Amazon SNS e quindi specificare l'argomento nella console. CloudTrail

Per aggiornare manualmente una policy di un argomento SNS
  1. Apri la console Amazon SNS all'indirizzo https://console.aws.amazon.com/sns/v3/home.

  2. Scegliere Topics (Argomenti) e quindi l'argomento.

  3. Scegli Modifica e scorri verso il basso fino a Politica di accesso.

  4. Aggiungi l'estratto conto SNS topic policy con i valori appropriati per la regione, l'ID dell'account e il nome dell'argomento.

  5. Se il tuo argomento è crittografato, devi consentire l' CloudTrail accesso kms:GenerateDataKey* e le kms:Decrypt autorizzazioni. Per ulteriori informazioni, consulta Encrypted SNS topic KMS key policy.

  6. Seleziona Save changes (Salva modifiche).

  7. Tornate alla CloudTrail console e specificate l'argomento del percorso.

Risoluzione dei problemi della policy dell'argomento SNS

Le seguenti sezioni descrivono come risolvere i problemi relativi alla policy degli argomenti SNS.

CloudTrail non sta inviando notifiche per una regione

Quando crei un nuovo argomento come parte della creazione o dell'aggiornamento di un percorso, CloudTrail assegna le autorizzazioni necessarie all'argomento. La politica dell'argomento utilizza il nome principale del servizio"cloudtrail.amazonaws.com", che consente di CloudTrail inviare notifiche per tutte le regioni.

Se non invia notifiche per una regione, CloudTrail è possibile che l'argomento abbia una politica precedente che specifica gli ID degli CloudTrail account per ciascuna regione. Questa politica CloudTrail autorizza l'invio di notifiche solo per le regioni specificate.

La seguente politica relativa CloudTrail agli argomenti consente di inviare notifiche solo per le nove regioni specificate:

Esempio Policy dell'argomento con gli ID account
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AWSCloudTrailSNSPolicy20131101", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::903692715234:root", "arn:aws:iam::035351147821:root", "arn:aws:iam::859597730677:root", "arn:aws:iam::814480443879:root", "arn:aws:iam::216624486486:root", "arn:aws:iam::086441151436:root", "arn:aws:iam::388731089494:root", "arn:aws:iam::284668455005:root", "arn:aws:iam::113285607260:root" ]}, "Action": "SNS:Publish", "Resource": "aws:arn:sns:us-east-1:123456789012:myTopic" }] }

Questa politica utilizza un'autorizzazione basata sugli ID dei singoli CloudTrail account. Per fornire i log per una nuova regione, devi aggiornare manualmente la politica per includere l'ID dell' CloudTrailaccount per quella regione. Ad esempio, poiché è CloudTrail stato aggiunto il supporto per la regione Stati Uniti orientali (Ohio), è necessario aggiornare la politica per aggiungere l'ID dell'account ARN per quella regione:. "arn:aws:iam::475085895292:root"

Come procedura consigliata, aggiorna la politica per utilizzare un'autorizzazione con il responsabile del CloudTrail servizio. A tale scopo, sostituisci gli ARN degli ID account con il nome principale del servizio: "cloudtrail.amazonaws.com".

Ciò consente CloudTrail di inviare notifiche per le regioni attuali e nuove. Di seguito è riportata una versione aggiornata del policy precedente:

Esempio Policy dell'argomento con il nome principale del servizio
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AWSCloudTrailSNSPolicy20131101", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-west-2:123456789012:myTopic" }] }

Verifica che la policy includa i valori corretti:

  • Nel campo Resource, specificare il numero di account del proprietario dell'argomento. Per gli argomenti creati specificare il numero di account.

  • Specifica i valori appropriati per la Regione e il nome dell'argomento SNS.

CloudTrail non sta inviando notifiche per un account membro di un'organizzazione

Quando un account membro con un percorso AWS Organizations organizzativo non invia notifiche Amazon SNS, potrebbe esserci un problema con la configurazione della policy tematica SNS. CloudTrail crea percorsi organizzativi negli account dei membri anche se la convalida di una risorsa fallisce, ad esempio, l'argomento SNS dell'organization trail non include tutti gli ID degli account dei membri. Se la policy dell'argomento SNS non è corretta, si verifica un errore di autorizzazione.

Per verificare se la policy degli argomenti SNS di un percorso presenta un errore di autorizzazione:

  • Dalla CloudTrail console, controlla la pagina dei dettagli del percorso. Se si verifica un errore di autorizzazione, la pagina dei dettagli include un avviso SNS authorization failed e indica di correggere la politica dell'argomento SNS.

  • Da AWS CLI, esegui il get-trail-statuscomando. Se si verifica un errore di autorizzazione, l'output del comando include il LastNotificationError campo con un valore diAuthorizationError.

Risorse aggiuntive

Per informazioni sugli argomenti Amazon SNS e sulla relativa sottoscrizione, consulta la Guida per sviluppatori di Amazon Simple Notification Service.