Ottenere le SES SMTP credenziali Amazon - Amazon Simple Email Service

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

Ottenere le SES SMTP credenziali Amazon

Per accedere all'SESSMTPinterfaccia sono necessarie SES SMTP le credenziali Amazon.

Le credenziali che usi per inviare e-mail tramite l'SESSMTPinterfaccia sono uniche per ogni AWS regione. Se si utilizza l'SESSMTPinterfaccia per inviare e-mail in più di una regione, è necessario generare un set di SMTP credenziali per ogni regione che si intende utilizzare.

La tua SMTP password è diversa dalla tua chiave di accesso AWS segreta. Per ulteriori informazioni sulle credenziali, consulta Tipi di credenziali Amazon SES.

Nota

SMTPgli endpoint non sono attualmente disponibili in Africa (Città del Capo), Asia Pacifico (Giacarta), Europa (Milano), Israele (Tel Aviv) e Medio Oriente (Bahrain).

Ottenere SES SMTP le credenziali tramite la console SES

Requisito

Un IAM utente può creare SES SMTP credenziali, ma la politica dell'utente deve autorizzarlo a utilizzare IAM se stessa, poiché SES SMTP le credenziali vengono create utilizzando. IAM La IAM politica deve consentire di eseguire le seguenti IAM azioni:iam:ListUsers, iam:CreateUseriam:CreateAccessKey, e. iam:PutUserPolicy Se provi a creare SES SMTP credenziali utilizzando la console e IAM l'utente non dispone di queste autorizzazioni, viene visualizzato un errore che indica che il tuo account è «non autorizzato a eseguire iam:ListUsers».

Per creare le tue credenziali SMTP
  1. Accedi a AWS Management Console e apri la SES console Amazon all'indirizzo https://console.aws.amazon.com/ses/.

  2. Scegli SMTPle impostazioni nel riquadro di navigazione a sinistra: si aprirà la pagina delle impostazioni del Simple Mail Transfer Protocol (SMTP).

  3. Scegli Crea SMTP credenziali nell'angolo in alto a destra: la IAM console si aprirà.

  4. (Facoltativo) Se devi visualizzare, modificare o eliminare SMTP gli utenti che hai già creato, scegli Gestisci le mie SMTP credenziali esistenti nell'angolo in basso a destra: la console si aprirà. IAM I dettagli per la gestione delle SMTP credenziali vengono forniti seguendo queste procedure.

  5. Per Crea utente per SMTP, digita un nome per il tuo SMTP utente nel campo Nome utente. In alternativa, puoi utilizzare il valore predefinito che viene fornito in questo campo. Al termine, scegli Crea nell'angolo in basso a destra.

  6. Seleziona Mostra sotto SMTPpassword: SMTP le tue credenziali vengono visualizzate sullo schermo.

  7. Scarica queste credenziali scegliendo Scarica credenziali o copiale e archiviale in un luogo sicuro, poiché non puoi visualizzarle o salvarle dopo aver chiuso questa finestra di dialogo.

  8. Scegli Torna alla SES console.

Puoi visualizzare un elenco delle SMTP credenziali che hai creato utilizzando questa procedura nella IAM console in Gestione degli accessi e scegliendo Utenti, quindi utilizzando la barra di ricerca per trovare tutti gli utenti a cui hai assegnato SMTP credenziali.

Puoi anche utilizzare la IAM console per eliminare gli utenti esistentiSMTP. Per ulteriori informazioni sull'eliminazione degli utenti, consulta la sezione Gestione IAM degli utenti nella Guida IAM introduttiva.

Se desideri modificare la SMTP password, elimina SMTP l'utente esistente nella IAM console. Quindi, per generare un nuovo set di SMTP credenziali, completa le procedure precedenti.

Ottenere SES SMTP credenziali convertendo le credenziali esistenti AWS

Se disponi di un utente configurato utilizzando l'IAMinterfaccia, puoi ricavare le SES SMTP credenziali dell'utente dalle sue credenziali. AWS

Importante

Non utilizzare AWS credenziali temporanee per derivare credenziali. SMTP L'SESSMTPinterfaccia non supporta SMTP credenziali generate da credenziali di sicurezza temporanee.

Per consentire all'IAMutente di inviare e-mail utilizzando l'interfaccia SES SMTP
  1. Ricava le SMTP credenziali dell'utente dalle relative AWS credenziali utilizzando l'algoritmo fornito in questa sezione seguendo queste procedure.

    Poiché parti dalle AWS credenziali, il nome SMTP utente è lo stesso dell'ID della chiave di AWS accesso, quindi devi solo generare la password. SMTP

  2. Accedi a AWS Management Console e apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/.

  3. In Gestione degli accessi, scegli Policy seguito da Crea policy.

  4. Nell'editor delle politiche, seleziona JSONe rimuovi qualsiasi codice di esempio nell'editor.

  5. Incolla la seguente politica di autorizzazioni nell'editor:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ses:SendRawEmail", "Resource": "*" } ] }
  6. Seleziona Avanti e inserisci AmazonSesSendingAccess nel campo Nome della politica seguito da Crea politica.

  7. In Gestione degli accessi, scegli Gruppi di utenti seguito da Crea gruppo.

  8. Inserisci AWSSESSendingGroupDoNotRename nel campo Nome del gruppo di utenti.

  9. Aggiungi SMTP utenti al gruppo selezionandoli dalla tabella Aggiungi utenti al gruppo.

  10. Allega la AmazonSesSendingAccess politica creata in precedenza selezionandola dalla tabella Allega criteri di autorizzazione seguita da Crea gruppo di utenti.

Per ulteriori informazioni sull'utilizzo di SES withIAM, consultaIdentity and Access Management in Amazon SES.

Nota

Sebbene sia possibile generare SES SMTP credenziali per qualsiasi IAM utente, si consiglia di creare un IAM utente separato quando si generano le SMTP credenziali. Per informazioni sui motivi per cui è consigliabile creare utenti per scopi specifici, consulta IAMBest Practices.

Lo pseudocodice seguente mostra l'algoritmo che converte una chiave di accesso AWS segreta in una password. SES SMTP

// Modify this variable to include your AWS secret access key key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"; // Modify this variable to refer to the AWS Region that you want to use to send email. region = "us-west-2"; // The values of the following variables should always stay the same. date = "11111111"; service = "ses"; terminal = "aws4_request"; message = "SendRawEmail"; version = 0x04; kDate = HmacSha256(date, "AWS4" + key); kRegion = HmacSha256(region, kDate); kService = HmacSha256(service, kRegion); kTerminal = HmacSha256(terminal, kService); kMessage = HmacSha256(message, kTerminal); signatureAndVersion = Concatenate(version, kMessage); smtpPassword = Base64(signatureAndVersion);

Alcuni linguaggi di programmazione includono librerie che è possibile utilizzare per convertire una chiave di accesso IAM segreta in una password. SMTP Questa sezione include un esempio di codice che puoi usare per convertire una chiave di accesso AWS segreta in una SES SMTP password usando Python.

Nota

Il seguente esempio usa stringhe f introdotte in Python 3.6; con una versione precedente non funzioneranno.

Attualmente, Python SDK (Boto3) supporta ufficialmente 2.7 e 3.6 (o versioni successive). Tuttavia, il supporto per la versione 2.7 è obsoleto e verrà eliminato il 15/7/2021, quindi sarà necessario eseguire l'aggiornamento almeno alla versione 3.6.

Python
#!/usr/bin/env python3 import hmac import hashlib import base64 import argparse SMTP_REGIONS = [ "us-east-2", # US East (Ohio) "us-east-1", # US East (N. Virginia) "us-west-2", # US West (Oregon) "ap-south-1", # Asia Pacific (Mumbai) "ap-northeast-2", # Asia Pacific (Seoul) "ap-southeast-1", # Asia Pacific (Singapore) "ap-southeast-2", # Asia Pacific (Sydney) "ap-northeast-1", # Asia Pacific (Tokyo) "ca-central-1", # Canada (Central) "eu-central-1", # Europe (Frankfurt) "eu-west-1", # Europe (Ireland) "eu-west-2", # Europe (London) "eu-south-1", # Europe (Milan) "eu-north-1", # Europe (Stockholm) "sa-east-1", # South America (Sao Paulo) "us-gov-west-1", # AWS GovCloud (US) "us-gov-east-1", # AWS GovCloud (US) ] # These values are required to calculate the signature. Do not change them. DATE = "11111111" SERVICE = "ses" MESSAGE = "SendRawEmail" TERMINAL = "aws4_request" VERSION = 0x04 def sign(key, msg): return hmac.new(key, msg.encode("utf-8"), hashlib.sha256).digest() def calculate_key(secret_access_key, region): if region not in SMTP_REGIONS: raise ValueError(f"The {region} Region doesn't have an SMTP endpoint.") signature = sign(("AWS4" + secret_access_key).encode("utf-8"), DATE) signature = sign(signature, region) signature = sign(signature, SERVICE) signature = sign(signature, TERMINAL) signature = sign(signature, MESSAGE) signature_and_version = bytes([VERSION]) + signature smtp_password = base64.b64encode(signature_and_version) return smtp_password.decode("utf-8") def main(): parser = argparse.ArgumentParser( description="Convert a Secret Access Key to an SMTP password." ) parser.add_argument("secret", help="The Secret Access Key to convert.") parser.add_argument( "region", help="The AWS Region where the SMTP password will be used.", choices=SMTP_REGIONS, ) args = parser.parse_args() print(calculate_key(args.secret, args.region)) if __name__ == "__main__": main()

Per ottenere la SMTP password utilizzando questo script, salvate il codice precedente con nome. smtp_credentials_generate.py Quindi, nella riga di comando eseguire il comando riportato di seguito:

python path/to/smtp_credentials_generate.py wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY us-east-1

Nel comando precedente, procedi come segue.

  • Replace (Sostituisci) path/to/ con il percorso della posizione in cui hai salvatosmtp_credentials_generate.py.

  • Replace (Sostituisci) wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY con la chiave di accesso segreta che desideri convertire in SMTP password.

  • Replace (Sostituisci) us-east-1 con la AWS Regione in cui desideri utilizzare le SMTP credenziali.

Quando questo script viene eseguito correttamente, l'unico risultato è la SMTP password.

Migrazione di un SMTP utente da una politica in linea esistente a una politica di gruppo (raccomandazione di sicurezza)

Importante

Se hai creato SES SMTP le credenziali prima del 6 settembre 2024, all'utente sono stati allegati una policy in linea e un tag. SMTP SESsi sta allontanando dalle politiche in linea e ti incoraggia a fare lo stesso con una raccomandazione di sicurezza.

Prima di migrare un SMTP utente da una politica in linea esistente a una politica di gruppo, è necessario innanzitutto creare un gruppo di IAM utenti con la politica di SES autorizzazioni che sostituisca la politica in linea. Se hai già creato questo gruppo di IAM utenti o è stato creato automaticamente per SMTP le credenziali create dal 6 settembre 2024 in poi, puoi passare direttamente al passaggio 10 delle seguenti procedure.

Per migrare da una politica in linea esistente a un gruppo gestito
  1. Accedi a AWS Management Console e apri la IAM console all'indirizzo. https://console.aws.amazon.com/iam/

  2. In Gestione degli accessi, scegli Policy seguito da Crea policy.

  3. Nell'editor delle politiche, seleziona JSONe rimuovi qualsiasi codice di esempio nell'editor.

  4. Incolla la seguente politica di autorizzazioni nell'editor:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ses:SendRawEmail", "Resource": "*" } ] }
  5. Seleziona Avanti e inserisci AmazonSesSendingAccess nel campo Nome della politica seguito da Crea politica.

  6. In Gestione degli accessi, scegli Gruppi di utenti seguito da Crea gruppo.

  7. Inserisci AWSSESSendingGroupDoNotRename nel campo Nome del gruppo di utenti.

  8. Aggiungi SMTP utenti al gruppo selezionandoli dalla tabella Aggiungi utenti al gruppo.

  9. Allega la AmazonSesSendingAccess politica creata in precedenza selezionandola dalla tabella Allega criteri di autorizzazione seguita da Crea gruppo di utenti.

    Ora che hai creato il gruppo di IAM utenti con la politica di SES autorizzazione, puoi migrare un SMTP utente dalla politica in linea corrente a questa politica di gruppo, come spiegato nei passaggi rimanenti.

  10. In Gestione degli accessi, scegli Utenti, quindi seleziona l'SMTPutente che desideri migrare.

  11. Seleziona la scheda Gruppi e scegli Aggiungi utente ai gruppi.

  12. Seleziona il AWSSESSendingGroupDoNotRename gruppo seguito da Aggiungi utente ai gruppi.

  13. Seleziona la scheda Autorizzazioni e conferma che ci siano due righe elencate con AmazonSesSendingAccess la nella colonna Nome della politica, una con Inline e una con Gruppo AWSSESSendingGroupDoNotRename elencate nella colonna Allegato tramite.

  14. Seleziona solo la riga che contiene AmazonSesSendingAccess nella colonna Nome della policy e Inline nella colonna Allegato via seguita da Rimuovi e conferma con Rimuovi policy.

    Verifica che la riga con Raggruppa AWSSESSendingGroupDoNotRename nella colonna Allegato tramite rimanga.

  15. Seleziona la scheda Tag seguita da Gestisci tag.

  16. Seleziona Rimuovi accanto alla riga che contiene InvokedBynella colonna Chiave e SESConsolenella colonna Valore, seguita da Salva modifiche.

Importante

La AmazonSesSendingAccess politica (come politica in linea o di gruppo o entrambe) deve rimanere associata all'SMTPutente per assicurarsi che il suo invio non ne risenta. Rimuovi la politica in linea solo dopo che la politica di gruppo è stata allegata all'utente.