

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

# Richiesta delle credenziali SMTP Amazon SES
<a name="smtp-credentials"></a>

Sono necessarie credenziali SMTP di Amazon SES per accedere all'interfaccia SMTP di SES.

Le credenziali che usi per inviare e-mail tramite l'interfaccia SMTP di SES sono uniche per ogni regione. AWS Se utilizzi l'interfaccia SMTP di SES per l'invio di e-mail in più di una Regione, è necessario generare un set di credenziali SMTP per ogni Regione che prevedi di utilizzare.

La password SMTP è diversa dalla chiave di accesso AWS segreta. Per ulteriori informazioni sulle credenziali, consulta [Tipi di credenziali Amazon SES](send-email-concepts-credentials.md).

**Nota**  
Per un elenco degli endpoint SMTP attualmente disponibili, consulta Endpoint [SMTP](https://docs.aws.amazon.com/general/latest/gr/ses.html#ses_smtp_endpoints) in. *Riferimenti generali di AWS* 

## Ottenimento delle credenziali SMTP SES mediante la console SES
<a name="smtp-credentials-console"></a>

**Requisito**  
Un utente IAM può creare credenziali SMTP SES, ma la policy dell'utente deve concedere all'utente stesso l'autorizzazione a utilizzare IAM, perché le credenziali SMTP SES vengono create tramite IAM. La tua policy IAM deve consentirti di eseguire le seguenti azioni IAM:`iam:CreateUser`,,`iam:CreateGroup`, `iam:PutGroupPolicy` e. `iam:AddUserToGroup` `iam:CreateAccessKey` Se provi a creare credenziali SMTP SES utilizzando la console e il tuo utente IAM non dispone di queste autorizzazioni, potresti visualizzare un errore o le credenziali SMTP potrebbero essere create senza le impostazioni appropriate delle policy.

**Importante**  
Alcune delle azioni IAM citate sopra, in particolare `iam:PutGroupPolicy` and`iam:AddUserToGroup`, hanno il livello di accesso alla [gestione delle autorizzazioni](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_understand-policy-summary-access-level-summaries.html#access_policies_access-level), che è il livello IAM più elevato perché consente di concedere o modificare le autorizzazioni delle risorse nel servizio. Pertanto, per migliorare la sicurezza del tuo AWS account, ti consigliamo vivamente di limitare o monitorare regolarmente queste politiche che includono la classificazione del livello di accesso alla gestione delle autorizzazioni.

**Creazione delle credenziali SMTP**

1. Accedi Console di gestione AWS e apri la console Amazon SES all'indirizzo [https://console.aws.amazon.com/ses/](https://console.aws.amazon.com/ses/).

1. Scegliere **SMTP settings** (Impostazioni SMTP) nel riquadro di navigazione sinistro; verrà visualizzata la pagina **Simple Mail Transfer Protocol (SMTP) settings** (Impostazioni SMTP (Simple Mail Transfer Protocol).

1. Scegliere **Create SMTP Credentials** (Crea credenziali SMTP) nell'angolo superiore destro: si aprirà la console IAM.

1. (Facoltativo) Se è necessario visualizzare, modificare o eliminare gli utenti SMTP che già creati, scegliere **Manage my existing SMTP credentials** (Gestisci le mie credenziali SMTP esistenti) nell'angolo inferiore destro: si aprirà la console IAM. I dettagli per la gestione delle credenziali SMTP vengono forniti seguendo queste procedure.

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

1. Seleziona **Mostra** sotto *Password SMTP*: le tue credenziali SMTP vengono visualizzate sullo schermo.

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

1. Scegli **Torna alla console SES**.

È possibile visualizzare l'elenco delle credenziali SMTP create con questa procedura nella console IAM in **Access management** (Gestione degli accessi) e scegliendo **Users** (Utenti) seguito dall'utilizzo della barra di ricerca per trovare tutti gli utenti a cui sono state assegnate le credenziali SMTP.

Puoi anche utilizzare la console IAM per eliminare gli utenti SMTP esistenti. Per ulteriori informazioni sull'eliminazione degli utenti, consulta [Gestione degli utenti IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html) nella *Guida alle operazioni di base di IAM*.

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

## Ottenere le credenziali SMTP SES convertendo le credenziali esistenti AWS
<a name="smtp-credentials-convert"></a>

Se hai un utente configurato utilizzando l'interfaccia IAM, puoi ricavare le credenziali SMTP SES dell'utente dalle sue credenziali. AWS 

**Importante**  
Non utilizzare AWS credenziali temporanee per derivare credenziali SMTP. L'interfaccia SMTP SES non supporta credenziali SMTP generate da credenziali di sicurezza temporanee. 

**Per consentire all'utente IAM di inviare e-mail utilizzando l'interfaccia SMTP SES**

1. Ricava le credenziali SMTP dell'utente dalle relative AWS credenziali utilizzando l'algoritmo fornito in questa sezione seguendo queste procedure.

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

1. Accedi a Console di gestione AWS e apri la console IAM all'indirizzo. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

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

1. Nell'**editor delle politiche**, seleziona **JSON** e rimuovi qualsiasi codice di esempio nell'editor.

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

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
   "Effect": "Allow",
               "Action": "ses:SendRawEmail",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Seleziona **Avanti** e inserisci `AmazonSesSendingAccess` nel campo **Nome della politica** seguito da **Crea politica**.

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

1. Entra `AWSSESSendingGroupDoNotRename` nel campo **Nome del gruppo di utenti**.

1. Aggiungi utenti SMTP al gruppo selezionandoli dalla tabella **Aggiungi utenti al gruppo**.

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

Per ulteriori informazioni sull'uso di SES con IAM, consulta [Identity and Access Management in Amazon SES](control-user-access.md).

**Nota**  
Anche se puoi generare le credenziali SMTP SES per qualsiasi utente IAM, ti consigliamo di creare un utente IAM distinto quando generi le credenziali SMTP. Per ulteriori informazioni sui motivi per cui è consigliabile creare utenti per scopi specifici, consulta [Best practice IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPractices.html).

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

```
 1. // Modify this variable to include your AWS secret access key
 2. key = "{{wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY}}";
 3.             
 4. // Modify this variable to refer to the AWS Region that you want to use to send email.
 5. region = "{{us-west-2}}";
 6.             
 7. // The values of the following variables should always stay the same.
 8. date = "11111111";
 9. service = "ses";
10. terminal = "aws4_request";
11. message = "SendRawEmail";
12. version = 0x04;
13. 
14. kDate = HmacSha256(date, "AWS4" + key);
15. kRegion = HmacSha256(region, kDate);
16. kService = HmacSha256(service, kRegion);
17. kTerminal = HmacSha256(terminal, kService);
18. kMessage = HmacSha256(message, kTerminal);
19. signatureAndVersion = Concatenate(version, kMessage);
20. smtpPassword = Base64(signatureAndVersion);
```

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

**Nota**  
Il seguente esempio usa **stringhe f** introdotte in Python 3.6; con una versione precedente non funzioneranno.
Nell'esempio seguente, l'elenco di SMTP\_REGIONS è semplicemente un esempio: l'elenco effettivo delle regioni potrebbe essere più breve o più lungo a seconda delle regioni in cui intendi inviare e-mail, poiché avrai bisogno di credenziali SMTP per ognuna. Regione AWS

------
#### [ 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 password SMTP utilizzando questo script, salva il codice precedente come `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.
+ Sostituiscilo {{path/to/}} con il percorso della posizione in cui hai salvato. `smtp_credentials_generate.py`
+ Sostituisci {{wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY}} con la chiave di accesso segreta che desideri convertire in una password SMTP.
+ Sostituisci {{us-east-1}} con la AWS regione in cui desideri utilizzare le credenziali SMTP.

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

------

## Migrazione di un utente SMTP da una politica in linea esistente a una politica di gruppo (raccomandazione di sicurezza)
<a name="migrate-inline-policy-to-group"></a>

**Importante**  
Se hai creato le credenziali SMTP SES prima del 6 settembre 2024, al tuo utente SMTP sono stati allegati una policy in linea e un tag. SES si sta allontanando dalle politiche in linea e vi incoraggia a fare lo stesso con i consigli di sicurezza.

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

**Per migrare da una policy in linea esistente a un gruppo gestito**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

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

1. Nell'**editor delle politiche**, seleziona **JSON** e rimuovi qualsiasi codice di esempio nell'editor.

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

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
   "Effect": "Allow",
               "Action": "ses:SendRawEmail",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Seleziona **Avanti** e inserisci `AmazonSesSendingAccess` nel campo **Nome della politica** seguito da **Crea politica**.

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

1. Entra `AWSSESSendingGroupDoNotRename` nel campo **Nome del gruppo di utenti**.

1. Aggiungi utenti SMTP al gruppo selezionandoli dalla tabella **Aggiungi utenti al gruppo**.

1. 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 utenti IAM con la politica di autorizzazioni SES, puoi migrare un utente SMTP dalla sua politica in linea corrente a questa politica di gruppo, come spiegato nei passaggi rimanenti.

1. In **Gestione degli accessi**, scegli **Utenti**, quindi seleziona l'utente SMTP che desideri migrare.

1. Seleziona la scheda **Gruppi** e scegli **Aggiungi utente ai** gruppi.

1. Seleziona il `AWSSESSendingGroupDoNotRename` gruppo seguito da **Aggiungi utente ai gruppi**.

1. 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**.

1. **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.

1. Seleziona la scheda **Tag** seguita da **Gestisci tag**.

1. Seleziona **Rimuovi** accanto alla riga che contiene *InvokedBy*nella colonna **Chiave** e *SESConsole*nella colonna **Valore**, seguita da **Salva modifiche**.

**Importante**  
Il `AmazonSesSendingAccess` criterio (come criterio in linea o di gruppo o entrambi) deve rimanere associato all'utente SMTP 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. 