

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

# Prevenzione del problema "confused deputy" tra servizi
<a name="confused-deputy"></a>

Il problema confused deputy è un problema di sicurezza in cui un’entità che non dispone dell’autorizzazione per eseguire un’azione può costringere un’entità maggiormente privilegiata a eseguire l’azione. Nel AWS, l'impersonificazione tra servizi può portare al confuso problema del sostituto. La rappresentazione tra servizi può verificarsi quando un servizio (il *servizio chiamante*) effettua una chiamata a un altro servizio (il *servizio chiamato*). Il servizio di chiamata può essere manipolato in modo da utilizzare le sue autorizzazioni per agire sulle risorse di un altro cliente in un modo a cui altrimenti non dovrebbe avere l'autorizzazione di 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 dell’account. Per una descrizione dettagliata di questo problema, consulta [il confuso problema secondario nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) per l'*utente di IAM*.

Ti consigliamo di utilizzare [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)le chiavi di contesto della condizione [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)globale nelle politiche delle risorse per limitare le autorizzazioni di cui AWS Transfer Family dispone per la risorsa. Se si utilizzano entrambe le chiavi di contesto delle condizioni globali, il valore `aws:SourceAccount` e l'account nel valore `aws:SourceArn` devono utilizzare lo stesso ID account nella stessa istruzione di policy. 

Il modo più efficace per proteggersi dal problema "confused deputy" è utilizzare il nome della risorsa Amazon (ARN) esatto della risorsa che vuoi autorizzare. Se state specificando più risorse, utilizzate la chiave di condizione di contesto `aws:SourceArn` globale con caratteri jolly (`*`) per le parti sconosciute dell'ARN. Ad esempio, `arn:aws:transfer::region::account-id:server/*`.

AWS Transfer Family utilizza i seguenti tipi di ruoli:
+ **Ruolo utente**: consente agli utenti gestiti dal servizio di accedere alle risorse Transfer Family necessarie. AWS Transfer Family assume questo ruolo nel contesto dell'ARN di un utente Transfer Family.
+ **Ruolo** di accesso: fornisce l'accesso solo ai file Amazon S3 che vengono trasferiti. Per AS2 i trasferimenti in entrata, il ruolo di accesso utilizza l'Amazon Resource Name (ARN) per l'accordo. Per AS2 i trasferimenti in uscita, il ruolo di accesso utilizza l'ARN per il connettore.
+ **Ruolo di chiamata**: da utilizzare con Amazon API Gateway come provider di identità personalizzato del server. Transfer Family assume questo ruolo nel contesto di un ARN del server Transfer Family.
+ **Ruolo di registrazione**: utilizzato per registrare le voci in Amazon CloudWatch. Transfer Family utilizza questo ruolo per registrare i dettagli relativi al successo e all'errore insieme alle informazioni sui trasferimenti di file. Transfer Family assume questo ruolo nel contesto di un ARN del server Transfer Family. Per AS2 i trasferimenti in uscita, il ruolo di registrazione utilizza il connettore ARN.
+ **Ruolo di esecuzione**: consente a un utente Transfer Family di chiamare e avviare flussi di lavoro. Transfer Family assume questo ruolo nel contesto di un flusso di lavoro Transfer Family ARN.

Per ulteriori informazioni, consulta [Policy e autorizzazioni in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) nella *Guida per l’utente di IAM *.

**Nota**  
Negli esempi seguenti, sostituisci ciascuno *user input placeholder* con le tue informazioni. 

**Nota**  
Nei nostri esempi, utilizziamo entrambi `ArnLike` e`ArnEquals`. Sono identici dal punto di vista funzionale e pertanto è possibile utilizzarli entrambi quando si creano le proprie politiche. La documentazione di Transfer Family utilizza `ArnLike` quando la condizione contiene un carattere jolly e `ArnEquals` indica una condizione di corrispondenza esatta.

## AWS Transfer Family, ruolo utente, prevenzione confusa tra diversi servizi
<a name="user-role-cross-service"></a>

La seguente politica di esempio consente a qualsiasi utente di qualsiasi server dell'account di assumere il ruolo.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "transfer.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:transfer:us-east-1:123456789012:user/*"
                }
            }
        }
    ]
}
```

La seguente politica di esempio consente a qualsiasi utente di un server specifico di assumere il ruolo.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "transfer.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnEquals": {
          "aws:SourceArn": "arn:aws:transfer:us-east-1:123456789012:user/server-id/*"
        }
      }
    }
  ]
}
```

La seguente politica di esempio consente a un utente specifico di un server specifico di assumere il ruolo.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "transfer.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:transfer:us-east-1:123456789012:user/server-id/user-name"
                }
            }
        }
    ]
}
```

## AWS Transfer Family, ruolo del flusso di lavoro, prevenzione confusa tra diversi servizi
<a name="workflow-role-cross-service"></a>

La seguente politica di esempio consente a qualsiasi flusso di lavoro dell'account di assumere il ruolo.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "transfer.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:transfer:us-west-2:111122223333:workflow/*"
                }
            }
        }
    ]
}
```

La seguente politica di esempio consente a un flusso di lavoro specifico di assumere il ruolo.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "transfer.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:transfer:us-west-2:111122223333:workflow/workflow-id"
                }
            }
        }
    ]
}
```

## AWS Transfer Family Connector: ruolo interservizio, prevenzione confusa
<a name="connector-role-cross-service"></a>

La seguente politica di esempio consente a qualsiasi connettore dell'account di assumere il ruolo.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "transfer.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:transfer:us-east-1:123456789012:connector/*"
                }
            }
        }
    ]
}
```

La seguente politica di esempio consente a un connettore specifico di assumere il ruolo.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "transfer.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:transfer:us-east-1:123456789012:connector/connector-id"
                }
            }
        }
    ]
}
```

## AWS Transfer Family, ruolo di registrazione e invocazione, prevenzione confusa tra diversi servizi
<a name="logging-role-cross-service"></a>

**Nota**  
I seguenti esempi possono essere utilizzati sia nei ruoli di registrazione che di invocazione.  
In questi esempi, puoi rimuovere i dettagli ARN per un flusso di lavoro se al server non è collegato alcun flusso di lavoro.

La seguente logging/invocation politica di esempio consente a qualsiasi server (e flusso di lavoro) dell'account di assumere il ruolo.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAllServersWithWorkflowAttached",
            "Effect": "Allow",
            "Principal": {
                "Service": "transfer.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnLike": {
                   "aws:SourceArn": [
                     "arn:aws:transfer:us-west-2:111122223333:server/*",
                     "arn:aws:transfer:us-west-2:111122223333:workflow/*"
                   ]
                }
            }
        }
    ]
}
```

La seguente logging/invocation politica di esempio consente a un server (e a un flusso di lavoro) specifici di assumere il ruolo.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSpecificServerWithWorkflowAttached",
            "Effect": "Allow",
            "Principal": {
                "Service": "transfer.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnEquals": {
                   "aws:SourceArn": [
                       "arn:aws:transfer:us-west-2:111122223333:server/server-id",
                       "arn:aws:transfer:us-west-2:111122223333:workflow/workflow-id"
                   ]
                }
            }
        }
    ]
}
```