Autorizzazioni per argomenti Amazon SNS - Amazon DevOps Guru

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

Autorizzazioni per argomenti Amazon SNS

Utilizza le informazioni in questo argomento solo se desideri configurare Amazon DevOps Guru per inviare notifiche agli SNS argomenti Amazon di proprietà di un altro AWS account.

DevOpsAffinché Guru invii notifiche a un SNS argomento Amazon di proprietà di un altro account, devi allegare all'SNSargomento Amazon una policy che conceda al DevOps Guru le autorizzazioni per inviargli notifiche. Se configuri DevOps Guru per inviare notifiche agli SNS argomenti Amazon di proprietà dello stesso account che usi per DevOps Guru, DevOps Guru aggiunge una politica agli argomenti per te.

Dopo aver allegato una policy per configurare le autorizzazioni per un SNS argomento Amazon in un altro account, puoi aggiungere l'SNSargomento Amazon in DevOps Guru. Puoi anche aggiornare la tua SNS politica di Amazon con un canale di notifica per renderla più sicura.

Nota

DevOpsAttualmente Guru supporta solo l'accesso tra più account nella stessa regione.

Configurazione delle autorizzazioni per un SNS argomento Amazon in un altro account

Aggiungere autorizzazioni come ruolo IAM

Per utilizzare un SNS argomento Amazon da un altro account dopo aver effettuato l'accesso con un IAM ruolo, devi allegare una policy all'SNSargomento Amazon che desideri utilizzare. Per allegare una policy a un SNS argomento Amazon da un altro account mentre utilizzi un IAM ruolo, devi disporre delle seguenti autorizzazioni per quella risorsa dell'account come parte del tuo IAM ruolo:

  • sns: CreateTopic

  • sms: GetTopicAttributes

  • sms: SetTopicAttributes

  • sns:Publish

Allega la seguente politica all'SNSargomento Amazon che desideri utilizzare. Per la Resource chiave, topic-owner-account-id è l'ID dell'account del proprietario dell'argomento, topic-sender-account-id è l'ID dell'account dell'utente che ha configurato DevOps Guru e devops-guru-role è il IAM ruolo del singolo utente coinvolto. È necessario sostituire i valori appropriati con region-id (ad esempio,us-west-2) e my-topic-name.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "EnableDevOpsGuruServicePrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "Service": "region-id.devops-guru.amazonaws.com" }, "Condition": { "StringEquals": { "AWS:SourceAccount": "topic-sender-account-id" } } }, { "Sid": "EnableAccountPrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "AWS": ["arn:aws:iam::topic-sender-account-id:role/devops-guru-role"] } } ] }

Aggiungere autorizzazioni come utente IAM

Per utilizzare un SNS argomento Amazon da un altro account come IAM utente, allega la seguente politica all'SNSargomento Amazon che desideri utilizzare. Per la Resource chiave, topic-owner-account-id è l'ID dell'account del proprietario dell'argomento, topic-sender-account-id è l'ID dell'account dell'utente che ha configurato DevOps Guru e devops-guru-user-name è il singolo IAM utente coinvolto. È necessario sostituire i valori appropriati con region-id (ad esempio,us-west-2) e my-topic-name.

Nota

Ove possibile, consigliamo di fare affidamento su credenziali temporanee anziché creare IAM utenti con credenziali a lungo termine come password e chiavi di accesso. Per ulteriori informazioni sulle best practice inIAM, consulta la sezione Procedure consigliate in materia di sicurezza IAM nella Guida per l'utente. IAM

{ "Version": "2012-10-17", "Statement": [{ "Sid": "EnableDevOpsGuruServicePrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "Service": "region-id.devops-guru.amazonaws.com" }, "Condition": { "StringEquals": { "AWS:SourceAccount": "topic-sender-account-id" } } }, { "Sid": "EnableAccountPrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "AWS": ["arn:aws:iam::topic-sender-account-id:user/devops-guru-user-name"] } } ] }

Aggiungere un SNS argomento Amazon da un altro account

Dopo aver configurato le autorizzazioni per un SNS argomento Amazon in un altro account, puoi aggiungere quell'SNSargomento Amazon alle impostazioni di notifica DevOps Guru. Puoi aggiungere l'SNSargomento Amazon utilizzando la console AWS CLI o la console DevOps Guru.

  • Quando usi la console, devi selezionare l'opzione Usa un SNS argomento ARN per specificare un argomento esistente per poter utilizzare un argomento di un altro account.

  • Quando si utilizza l' AWS CLI operazione add-notification-channel, è necessario specificare l'elemento TopicArn all'interno dell'NotificationChannelConfigoggetto.

Aggiungi un SNS argomento Amazon da un altro account utilizzando la console
  1. Apri la console Amazon DevOps Guru all'indirizzo https://console.aws.amazon.com/devops-guru/.

  2. Apri il pannello di navigazione, quindi scegli Impostazioni.

  3. Vai alla sezione Notifiche e scegli Modifica.

  4. Scegli Aggiungi SNS argomento.

  5. Scegli Usa un SNS argomento ARN per specificare un argomento esistente.

  6. Inserisci ARN l'SNSargomento Amazon che desideri utilizzare. Dovresti aver già configurato le autorizzazioni per questo argomento allegandovi una policy.

  7. (Facoltativo) Scegliete Configurazione delle notifiche per modificare le impostazioni della frequenza delle notifiche.

  8. Seleziona Salva.

Dopo aver aggiunto l'SNSargomento Amazon alle impostazioni di notifica, DevOps Guru lo utilizza per informarti di eventi importanti, ad esempio quando viene creata una nuova analisi.

Aggiornamento della SNS politica di Amazon con un canale di notifica (consigliato)

Dopo aver aggiunto un argomento, ti consigliamo di rendere più sicura la tua politica specificando le autorizzazioni solo per il canale di notifica DevOps Guru che contiene l'argomento.

Aggiorna la tua policy SNS tematica di Amazon con un canale di notifica (consigliato)
  1. Esegui il AWS CLI comando list-notification-channels DevOps Guru nel tuo account da cui desideri inviare le notifiche.

    aws devops-guru list-notification-channels
  2. Nella list-notification-channels risposta, prendi nota dell'ID del canale che contiene il tuo SNS argomento su AmazonARN. L'ID del canale è una guida.

    Ad esempio, nella risposta seguente, l'ID del canale per l'argomento con è ARN arn:aws:sns:region-id:111122223333:topic-name e89be5f7-989d-4c4c-b1fe-e7145037e531

    { "Channels": [ { "Id": "e89be5f7-989d-4c4c-b1fe-e7145037e531", "Config": { "Sns": { "TopicArn": "arn:aws:sns:region-id:111122223333:topic-name" }, "Filters": { "MessageTypes": ["CLOSED_INSIGHT", "NEW_INSIGHT", "SEVERITY_UPGRADED"], "Severities": ["HIGH", "MEDIUM"] } } } ] }
  3. Vai alla politica che hai creato in un altro account utilizzando l'ID del proprietario dell'argomento inConfigurazione delle autorizzazioni per un SNS argomento Amazon in un altro account. Nella Condition dichiarazione della politica, aggiungi la riga che specifica ilSourceArn. ARNContiene il tuo ID regionale (ad esempio,us-east-1), il numero di AWS account del mittente dell'argomento e l'ID del canale di cui hai preso nota.

    La tua Condition dichiarazione aggiornata è simile alla seguente.

    "Condition" : { "StringEquals" : { "AWS:SourceArn": "arn:aws:devops-guru:us-east-1:111122223333:channel/e89be5f7-989d-4c4c-b1fe-e7145037e531", "AWS:SourceAccount": "111122223333" } }

Se AddNotificationChannel non riesci ad aggiungere il tuo SNS argomento, verifica che la tua IAM politica disponga delle seguenti autorizzazioni.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "DevOpsGuruTopicPermissions", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:GetTopicAttributes", "sns:SetTopicAttributes", "sns:Publish" ], "Resource": "arn:aws:sns:region-id:account-id:my-topic-name" }] }