

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exemple : Application, WorkSpaces application, politique relative aux compartiments Amazon S3, interservices, prévention de la confusion par les adjoints
<a name="example-s3-bucket"></a>

Lorsque vous stockez des données dans un compartiment Amazon S3, le compartiment peut être exposé à des problèmes de député confus. Cela peut rendre les données telles que les flottes Elastic, les blocs d’applications, les scripts de configuration, les icônes d’applications et les scripts de session vulnérables aux acteurs malveillants.

Pour éviter les problèmes de député confus, vous pouvez spécifier la condition `aws:SourceAccount` ou `aws:SourceArn` dans la politique de compartiment Amazon S3 pour `ELASTIC-FLEET-EXAMPLE-BUCKET`.

Les politiques de ressources ci-dessous montrent comment éviter le problème de député confus avec l’une des solutions suivantes :
+ Le `aws:SourceAccount` avec votre identifiant AWS de compte
+ La clé de contexte de condition globale `aws:SourceArn`

WorkSpaces Les applications ne prennent actuellement pas en charge la prévention de la confusion par les adjoints pour les icônes d'applications. Le service ne prend en charge que les fichiers VHD et les scripts de configuration. Si vous essayez d’ajouter des conditions supplémentaires pour les icônes d’applications, celles-ci ne seront pas affichées aux utilisateurs finaux.

Dans l'exemple suivant, la politique des compartiments autorise uniquement l'accès aux ressources du parc WorkSpaces Applications Elastic du compte du propriétaire`ELASTIC_FLEET_EXAMPLE_BUCKET`.

------
#### [ 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 Compte AWS ID}}"
                }
            }
        },
        {
            "Sid": "AllowRetrievalPermissionsToS3AppIconsForAppStream",
            "Effect": "Allow",
            "Principal": {
                "Service": "appstream.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::{{ELASTIC-FLEET-EXAMPLE-BUCKET}}/app-icons/*"
        }
    ]
}
```

------

Vous pouvez également utiliser la condition `aws:SourceArn` pour limiter l’accès aux ressources pour des ressources spécifiques. 

**Note**  
Si vous ne connaissez pas l’ARN complet d’une ressource ou si vous voulez spécifier plusieurs ressources, utilisez la clé de contexte de condition globale `aws:SourceArn` avec des caractères génériques (\*) pour les parties inconnues de l’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/*"
        }
    ]
}
```

------

Vous pouvez utiliser les conditions `aws:SourceArn` et `aws:SourceAccount` pour limiter l’accès aux ressources pour des ressources et des comptes spécifiques. 

**Note**  
Si vous ne connaissez pas l’ARN complet d’une ressource ou si vous voulez spécifier plusieurs ressources, utilisez la clé de contexte de condition globale `aws:SourceArn` avec des caractères génériques (\*) pour les parties inconnues de l’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/*"
        }
    ]
}
```

------