

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

# Cross-service prevenzione sostitutiva confusa
<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 AWS, l'impersonificazione tra servizi può portare al confuso problema del vice. Cross-service l'imitazione può avvenire quando un servizio (il servizio chiamante) chiama 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 fornisce strumenti che consentono di proteggere i dati per tutti i servizi ai quali è stato concesso l'accesso alle risorse del proprio account. 

Ti consigliamo di utilizzare le chiavi di contesto della condizione SourceAccount [ globale [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) aws: SourceArn ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) e aws: nelle policy 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. Usa `aws:SourceAccount` se desideri che una risorsa in quell'account sia associata all'uso tra servizi.

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

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

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

Ad esempio, potresti utilizzare la seguente policy di fiducia con una distribuzione Amazon ECS normale EC2/On-Premises, AWS Lambda o 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 blue/green distribuzione [ Amazon ECS creata tramite CloudFormation](deployments-create-ecs-cfn.md), potresti 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}}/*"
                }
            }
        }
    ]
}
```

------