

# Prevenzione del confused deputy tra servizi
<a name="dd-cross-service-confused-deputy-prevention"></a>

Con “confused deputy” si intende un problema di sicurezza in cui un’entità che non dispone dell’autorizzazione per eseguire una certa operazione può costringere un’entità con più privilegi a eseguire tale operazione. In AWS, la rappresentazione cross-service può comportare il problema confused deputy. 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 in modo da utilizzarne le autorizzazioni per agire sulle risorse di un altro cliente, a cui normalmente non avrebbe accesso, tramite il servizio stesso. 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. 

Sono tre le risorse cui AWS IoT Device Defender accede da parte tua che possono essere interessate dal problema di sicurezza "deputy confused": esecuzione di verifiche, invio di notifiche SNS per violazioni del profilo di sicurezza ed esecuzione di operazioni di mitigazione. Per ciascuna di queste operazioni, i valori per `aws:SourceArn` devono essere i seguenti:
+ Per le risorse trasmesse all'API [UpdateAccountAuditConfiguration](https://docs.aws.amazon.com//iot/latest/apireference/API_UpdateAccountAuditConfiguration.html) (attributi RoleArn e notificationTarget RoleArn), è necessario esaminare la policy della risorsa utilizzando `aws:SourceArn` come `arn:{{arnPartition}}:iot:{{region}}:{{accountId}}:`.
+ Per le risorse trasmesse all'API [CreateMitigationAction](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateMitigationAction.html) (l'attributo RoleArn), è necessario esaminare la policy della risorsa utilizzando `aws:SourceArn` come `arn:{{arnPartition}}:iot:{{region}}:{{accountId}}:mitigationaction/{{mitigationActionName}}`.
+  Per le risorse trasmesse all'API [CreateSecurityProfile](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateSecurityProfile.html) (l'attributo alertTargets), è necessario esaminare la policy della risorsa utilizzando `aws:SourceArn` come `arn:{{arnPartition}}:iot:{{region}}:{{accountId}}:securityprofile/{{securityprofileName}}`.

Il modo più efficace per proteggersi dal problema "confused deputy" è quello di usare 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, è necessario 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}}:*`.

L'esempio seguente mostra il modo in cui puoi utilizzare le chiavi di contesto delle condizioni globali `aws:SourceArn` e `aws:SourceAccount` in AWS IoT Device Defender per prevenire il problema "confused deputy".

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

****  

```
 {
"Version":"2012-10-17",		 	 	 
"Statement": {
  "Sid": "ConfusedDeputyPreventionExamplePolicy",
  "Effect": "Allow",
  "Principal": {
    "Service": "iot.amazonaws.com"
  },
  "Action": "sts:AssumeRole",
  "Condition": {
    "ArnLike": {
      "aws:SourceArn": "arn:aws:iot:*:123456789012::*"
    },
    "StringEquals": {
      "aws:SourceAccount": "123456789012:"
    }
  }
}
}
```

------