

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 vice prevenzione confusa
<a name="cross-service-confused-deputy-prevention"></a>

Il confused deputy è un problema di sicurezza in cui un'entità che non dispone dell'autorizzazione per eseguire un'azione può costringere un'entità dotata di privilegi maggiori a eseguire l'azione. Nel AWS, l'impersonificazione tra servizi può causare il confuso problema dei sostituti. 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 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 del tuo account. 

Si consiglia di utilizzare [`aws:SourceArn`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) le chiavi di contesto della condizione [`aws: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 che AWS Batch forniscono un altro servizio alla risorsa. Se il valore `aws:SourceArn` non contiene l'ID account, ad esempio un ARN di un bucket Amazon S3, è necessario utilizzare entrambe le chiavi di contesto delle condizioni globali per limitare le autorizzazioni. 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. Utilizzare `aws:SourceAccount` se si desidera consentire l’associazione di qualsiasi risorsa in tale account all’uso tra servizi.

Il valore di `aws:SourceArn` deve essere la risorsa che AWS Batch memorizza.

Il modo più efficace per proteggersi dal problema “confused deputy” è quello di utilizzare la chiave di contesto della condizione globale `aws:SourceArn` con l’ARN completo della risorsa. Se non si conosce l’ARN completo della risorsa o si scelgono più risorse, utilizzare la chiave di contesto della condizione globale `aws:SourceArn` con caratteri jolly (`*`) per le parti sconosciute dell’ARN. Ad esempio, `arn:aws:{{servicename}}:*:{{123456789012}}:*`.

Gli esempi seguenti mostrano come è possibile utilizzare `aws:SourceArn` le chiavi di contesto della condizione `aws:SourceAccount` globale AWS Batch per evitare il confuso problema sostitutivo.

## Esempio: ruolo per l'accesso a un solo ambiente di elaborazione
<a name="cross-service-confused-deputy-prevention-example-1"></a>

Il ruolo seguente può essere utilizzato solo per accedere a un ambiente di calcolo. Il nome del lavoro deve essere specificato `{{*}}` perché la coda dei lavori può essere associata a più ambienti di elaborazione.

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

****  

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

------

## Esempio: ruolo per l'accesso a più ambienti di elaborazione
<a name="cross-service-confused-deputy-prevention-example-2"></a>

Il ruolo seguente può essere utilizzato per accedere a più ambienti di elaborazione. Il nome del lavoro deve essere specificato `{{*}}` perché la coda dei lavori può essere associata a più ambienti di elaborazione.

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

****  

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

------