

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

# Esempio: WorkSpaces applicazioni, applicazione, policy sui bucket di Amazon S3, prevenzione della confusione tra diversi servizi
<a name="example-s3-bucket"></a>

Quando si archiviano i dati in un bucket S3, è possibile che il bucket sia esposto a problemi "confused deputy". Ciò può lasciare dati come i parchi istanze elastici, i blocchi app, gli script di configurazione, le icone delle applicazioni e gli script di sessione vulnerabili a operazioni da parte di utenti malintenzionati.

Per evitare problemi "confused deputy", puoi specificare la condizione `aws:SourceAccount` o `aws:SourceArn` nella policy del bucket di Amazon S3 per. `ELASTIC-FLEET-EXAMPLE-BUCKET`

Le policy delle risorse riportate di seguito mostrano come evitare problemi "confused deputy" con una delle seguenti soluzioni:
+ Poi `aws:SourceAccount` con l'ID del tuo account AWS 
+ La chiave di contesto delle condizioni globali `aws:SourceArn`

WorkSpaces Al momento, Applications non supporta la prevenzione confusa delle icone delle applicazioni. Il servizio supporta solo file VHD e script di configurazione. Se tenti di aggiungere ulteriori condizioni per le icone delle applicazioni, queste non verranno visualizzate dagli utenti finali.

Nell'esempio seguente, la policy bucket consente l'accesso `ELASTIC_FLEET_EXAMPLE_BUCKET` solo alle risorse della flotta di WorkSpaces Applications Elastic presenti nell'account del proprietario.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConfusedDeputyPreventionExamplePolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "appstream.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::{{ELASTIC-FLEET-EXAMPLE-BUCKET}}/vhd-folder/*",
                "arn:aws:s3:::{{ELASTIC-FLEET-EXAMPLE-BUCKET}}/scripts/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{your Account AWS ID}}"
                }
            }
        },
        {
            "Sid": "AllowRetrievalPermissionsToS3AppIconsForAppStream",
            "Effect": "Allow",
            "Principal": {
                "Service": "appstream.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::{{ELASTIC-FLEET-EXAMPLE-BUCKET}}/app-icons/*"
        }
    ]
}
```

------

È inoltre possibile utilizzare la condizione `aws:SourceArn` per limitare l'accesso alle risorse per risorse specifiche. 

**Nota**  
Se conosci l'ARN completo di una risorsa o vuoi specificare più risorse, usa la chiave di contesto delle condizioni globali `aws:SourceArn` con caratteri jolly (\*) per le parti sconosciute dell'ARN.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConfusedDeputyPreventionExamplePolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "appstream.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::{{ELASTIC-FLEET-EXAMPLE-BUCKET}}/vhd-folder/*",
                "arn:aws:s3:::{{ELASTIC-FLEET-EXAMPLE-BUCKET}}/scripts/*"
            ],
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:appstream:{{us-east-1}}:{{111122223333}}:app-block/*"
                }
            }
        },
        {
            "Sid": "AllowRetrievalPermissionsToS3AppIconsForAppStream",
            "Effect": "Allow",
            "Principal": {
                "Service": "appstream.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::{{ELASTIC-FLEET-EXAMPLE-BUCKET}}/app-icons/*"
        }
    ]
}
```

------

Puoi utilizzare le condizioni `aws:SourceArn` e `aws:SourceAccount` per limitare l'accesso alle risorse per risorse specifiche. 

**Nota**  
Se conosci l'ARN completo di una risorsa o se vuoi specificare più risorse, usa la chiave di contesto delle condizioni globali `aws:SourceArn` con caratteri jolly (\*) per le parti sconosciute dell'ARN.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConfusedDeputyPreventionExamplePolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "appstream.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::{{ELASTIC-FLEET-EXAMPLE-BUCKET}}/vhd-folder/*",
                "arn:aws:s3:::{{ELASTIC-FLEET-EXAMPLE-BUCKET}}/scripts/*"
            ],
            "Condition": {
                "ArnLike": {
                "aws:SourceArn": "arn:aws:appstream:{{us-east-1}}:{{111122223333}}:app-block/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "{{your AWS account ID}}"
                }
            }
        },
        {
            "Sid": "AllowRetrievalPermissionsToS3AppIconsForAppStream",
            "Effect": "Allow",
            "Principal": {
                "Service": "appstream.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::{{ELASTIC-FLEET-EXAMPLE-BUCKET}}/app-icons/*"
        }
    ]
}
```

------