Exemple de stratégie de conteneur : Accès complet en lecture entre comptes à un rôle - AWSÉlémentaire MediaStore

Avis de fin de support : le 13 novembre 2025, le support d'AWS MediaStoreElemental AWS sera interrompu. Après le 13 novembre 2025, vous ne pourrez plus accéder à la MediaStore console ni aux MediaStore ressources. Pour plus d'informations, consultez ce billet de blog.

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 de stratégie de conteneur : Accès complet en lecture entre comptes à un rôle

Cet exemple de stratégie autorise l'accès entre comptes pour mettre à jour n'importe quel objet dans le compte, tant que l'utilisateur est connecté sur HTTP. Il accorde également l'accès entre comptes pour supprimer, télécharger et décrire les objets sur HTTP ou HTTPS à un compte qui a endossé le rôle spécifié :

  • La première instruction est nommée CrossAccountRolePostOverHttps. Elle autorise l'accès à l'opération PutObject sur n'importe quel objet et accorde cet accès à n'importe quel utilisateur du compte spécifié si ce compte a endossé le rôle spécifié dans le <nom de rôle>. Elle spécifie que cet accès exige HTTPS pour l'opération (cette condition doit toujours être incluse lors de l'accord d'un accès à PutObject).

    En d'autres termes, toute personne habilitée disposant d'un accès entre comptes peut accéder à PutObject, mais uniquement sur HTTPS.

  • La deuxième instruction est nommée CrossAccountFullAccessExceptPost. Elle accorde l'accès à toutes les opérations à l'exception de PutObject sur n'importe quel objet. Elle accorde cet accès à n'importe quel utilisateur du compte spécifié si ce compte a endossé le rôle spécifié dans le <nom de rôle>. Cet accès n'exige pas HTTPS pour les opérations.

    En d'autres termes, chaque compte disposant d'un accès entre comptes peut accéder à DeleteObject, GetObject, etc. (à l'exception de PutObject), et sur HTTP ou HTTPS.

    Si vous n'excluez pas PutObject de la deuxième instruction, cette dernière ne sera pas valide (car si vous incluez PutObject vous devez explicitement définir HTTPS en tant que condition).

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CrossAccountRolePostOverHttps", "Effect": "Allow", "Action": "mediastore:PutObject", "Principal":{ "AWS": "arn:aws:iam::<other acct number>:role/<role name>"}, "Resource": "arn:aws:mediastore:<region>:<owner acct number>:container/<container name>/*", "Condition": { "Bool": { "aws:SecureTransport": "true" } } }, { "Sid": "CrossAccountFullAccessExceptPost", "Effect": "Allow", "NotAction": "mediastore:PutObject", "Principal":{ "AWS": "arn:aws:iam::<other acct number>:role/<role name>"}, "Resource": "arn:aws:mediastore:<region>:<owner acct number>:container/<container name>/*" } ] }