

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 confused deputy tra servizi
<a name="security_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 frattempo AWS, l'impersonificazione tra servizi può causare il confuso problema del vice. La rappresentazione tra servizi può verificarsi quando un servizio (il servizio chiamante) effettua una chiamata a un altro servizio (il servizio chiamato). Il servizio chiamante può essere manipolato per utilizzare le proprie autorizzazioni e agire sulle risorse di un altro cliente, a cui normalmente non avrebbe accesso. Per evitare che ciò accada, AWS mette a disposizione strumenti che consentono di proteggere i dati relativi a tutti i servizi con responsabili del servizio a cui è stato concesso l'accesso alle risorse del vostro account. 

Ti consigliamo di utilizzare le chiavi [aws: SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) e [aws: SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) global condition context nelle politiche delle risorse per limitare le autorizzazioni che CodeDeploy forniscono un altro servizio alla risorsa. Se si utilizzano entrambe le chiavi di contesto delle condizioni globali e il valore `aws:SourceArn` contiene l'ID account, il valore `aws:SourceAccount` e l'account nel valore `aws:SourceArn` deve utilizzare lo stesso ID account nella stessa dichiarazione di policy. Utilizzare `aws:SourceArn` se si desidera consentire l'associazione di una sola risorsa all'accesso tra servizi. Utilizza `aws:SourceAccount` se desideri che qualsiasi risorsa in quell'account sia associata all'uso tra servizi.

Per le distribuzioni EC2/on-premise AWS , Lambda e Amazon ECS regolari, il valore di dovrebbe `aws:SourceArn` includere il CodeDeploy gruppo di distribuzione ARN con il quale è consentito assumere il ruolo IAM. CodeDeploy 

Per le [distribuzioni blu/green di Amazon ECS create tramite CloudFormation](deployments-create-ecs-cfn.md), il valore di dovrebbe `aws:SourceArn` includere lo stack CloudFormation ARN con cui CodeDeploy è consentito assumere il ruolo IAM.

Il modo più efficace per proteggersi dal confuso problema del vice è utilizzare la `aws:SourceArn` chiave con l'ARN completo della risorsa. Se non conosci l'ARN completo o se stai specificando più risorse, usa caratteri jolly (\$1) per le parti sconosciute.

Ad esempio, potresti utilizzare la seguente policy di fiducia con una distribuzione EC2/on-premise, AWS Lambda o Amazon ECS normale:

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

****  

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

------

Per una [distribuzione blu/verde di Amazon ECS creata tramite CloudFormation](deployments-create-ecs-cfn.md), puoi utilizzare:

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

****  

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

------