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.
Comment fonctionne Amazon S3 avec IAM
Avant de commencer IAM à gérer l'accès à Amazon S3, découvrez quelles IAM fonctionnalités peuvent être utilisées avec Amazon S3.
IAMfonctionnalités que vous pouvez utiliser avec Amazon S3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IAMfonctionnalité | Prise en charge d'Amazon S3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oui |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oui |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oui |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oui |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oui |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oui |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partielle |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oui |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oui |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oui |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partielle |
Pour obtenir une vue d'ensemble de la façon dont Amazon S3 et les autres AWS services fonctionnent avec la plupart des IAM fonctionnalités, consultez les AWS services compatibles IAM dans le guide de IAM l'utilisateur.
Politiques basées sur l'identité pour Amazon S3
Prend en charge les politiques basées sur l’identité : oui
Les politiques basées sur l'identité sont JSON des documents de politique d'autorisation que vous pouvez joindre à une identité, telle qu'un IAM utilisateur, un groupe d'utilisateurs ou un rôle. Ces politiques contrôlent quel type d’actions des utilisateurs et des rôles peuvent exécuter, sur quelles ressources et dans quelles conditions. Pour savoir comment créer une politique basée sur l'identité, consultez la section Création de IAM politiques dans le Guide de l'IAMutilisateur.
Avec les politiques IAM basées sur l'identité, vous pouvez spécifier les actions et les ressources autorisées ou refusées ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. Vous ne pouvez pas spécifier le principal dans une politique basée sur une identité car celle-ci s’applique à l’utilisateur ou au rôle auquel elle est attachée. Pour en savoir plus sur tous les éléments que vous pouvez utiliser dans une JSON politique, consultez la référence aux éléments de IAM JSON politique dans le Guide de IAM l'utilisateur.
Exemples de politiques basées sur l'identité pour Amazon S3
Pour consulter des exemples de politiques basées sur l'identité Amazon S3, consultez. Politiques basées sur l'identité pour Amazon S3
Politiques basées sur les ressources au sein d'Amazon S3
Prend en charge les politiques basées sur les ressources : Oui
Les politiques basées sur les ressources sont des documents JSON de stratégie que vous attachez à une ressource. Les politiques de confiance dans les IAM rôles et les politiques relatives aux compartiments Amazon S3 sont des exemples de politiques basées sur les ressources. Dans les services qui sont compatibles avec les politiques basées sur les ressources, les administrateurs de service peuvent les utiliser pour contrôler l’accès à une ressource spécifique. Pour la ressource dans laquelle se trouve la politique, cette dernière définit quel type d’actions un principal spécifié peut effectuer sur cette ressource et dans quelles conditions. Vous devez spécifier un principal dans une politique basée sur les ressources. Les principaux peuvent inclure des comptes, des utilisateurs, des rôles, des utilisateurs fédérés ou. AWS services
Pour activer l'accès entre comptes, vous pouvez spécifier un compte entier ou IAM des entités d'un autre compte comme principal dans une politique basée sur les ressources. L’ajout d’un principal entre comptes à une politique basée sur les ressources ne représente qu’une partie de l’instauration de la relation d’approbation. Lorsque le principal et la ressource sont différents Comptes AWS, un IAM administrateur du compte de confiance doit également accorder à l'entité principale (utilisateur ou rôle) l'autorisation d'accéder à la ressource. Pour ce faire, il attache une politique basée sur une identité à l’entité. Toutefois, si une politique basée sur des ressources accorde l’accès à un principal dans le même compte, aucune autre politique basée sur l’identité n’est requise. Pour plus d'informations, consultez la section Accès aux ressources entre comptes IAM dans le Guide de IAM l'utilisateur.
Le service Amazon S3 prend en charge les politiques relatives aux compartiments, les politiques relatives aux points d'accès et les autorisations d'accès :
-
Les politiques de compartiment sont des politiques basées sur les ressources associées à un compartiment Amazon S3. Une politique de compartiment définit les principaux autorisés à effectuer des actions sur le compartiment.
-
Les politiques de point d'accès sont des politiques basées sur les ressources qui sont évaluées conjointement avec la politique de compartiment sous-jacente.
-
Les autorisations d'accès constituent un modèle simplifié permettant de définir les autorisations d'accès aux données dans Amazon S3 par préfixe, compartiment ou objet. Pour plus d'informations sur les subventions d'accès S3, consultezGestion de l’accès avec les octrois d’accès S3.
Principes relatifs aux politiques relatives aux compartiments
L'Principal
élément indique l'utilisateur, le compte, le service ou toute autre entité à laquelle l'accès à une ressource est autorisé ou refusé. Voici quelques exemples de spécification de Principal
. Pour plus d'informations, voir Principal dans le guide de IAM l'utilisateur.
Accorder des autorisations à un Compte AWS
Pour accorder des autorisations à un Compte AWS, identifiez le compte en utilisant le format suivant.
"AWS":"
account-ARN
"
Voici quelques exemples.
"Principal":{"AWS":"arn:aws:iam::
AccountIDWithoutHyphens
:root"}
"Principal":{"AWS":["arn:aws:iam::
AccountID1WithoutHyphens
:root","arn:aws:iam::AccountID2WithoutHyphens
:root"]}
Accorder des autorisations à un IAM utilisateur
Pour accorder une autorisation à un IAM utilisateur de votre compte, vous devez fournir une paire "AWS":"
nom-valeur.user-ARN
"
"Principal":{"AWS":"arn:aws:iam::
account-number-without-hyphens
:user/username
"}
Pour des exemples détaillés fournissant des step-by-step instructions, reportez-vous aux sections Exemple 1 : propriétaire d'un compartiment accordant à ses utilisateurs des autorisations sur un compartiment etExemple 3 : propriétaire d'un compartiment accordant des autorisations sur des objets qu'il ne possède pas.
Note
Si une IAM identité est supprimée après avoir mis à jour votre politique de compartiment, la politique de compartiment affichera un identifiant unique dans l'élément principal au lieu d'unARN. Ces informations uniques ne IDs sont jamais réutilisées. Vous pouvez donc supprimer en toute sécurité les principaux associés à des identifiants uniques de toutes vos déclarations de politique. Pour plus d'informations sur les identifiants uniques, consultez la section IAMIdentifiants dans le guide de l'IAMutilisateur.
Octroyer des autorisations anonymes
Avertissement
Soyez vigilant lorsque vous accordez un accès anonyme à votre compartiment Amazon S3. Lorsque vous accordez un accès anonyme, tout le monde peut accéder à votre compartiment. Nous vous recommandons vivement de ne jamais accorder un type d'accès en écriture anonyme quel qu'il soit à votre compartiment S3.
Pour accorder l'autorisation à tout le monde (on parle aussi d'accès anonyme), définissez le caractère générique "*"
en tant que valeur Principal
. Par exemple, si vous configurez votre compartiment en tant que site Web, vous voulez que tous les objets dans le compartiment soit accessibles publiquement.
"Principal":"*"
"Principal":{"AWS":"*"}
L'utilisation "Principal": "*"
avec Allow
effet dans le cadre d'une politique basée sur les ressources permet à quiconque, même s'il n'est pas connecté AWS, d'accéder à votre ressource.
L'utilisation "Principal" : { "AWS" : "*" }
avec Allow
effet dans le cadre d'une politique basée sur les ressources permet à tout utilisateur root, IAM utilisateur, session assumant un rôle ou utilisateur fédéré de n'importe quel compte de la même partition d'accéder à votre ressource.
Pour les utilisateurs anonymes, ces deux méthodes sont équivalentes. Pour plus d'informations, consultez la section Tous les principes du guide de l'IAMutilisateur.
Vous ne pouvez pas utiliser un caractère générique pour faire correspondre une partie d'un nom principal ouARN.
Important
Comme tout le monde peut créer un Compte AWS, le niveau de sécurité de ces deux méthodes est équivalent, même si elles fonctionnent différemment.
Restriction des autorisations sur les ressources
Vous pouvez également utiliser la politique des ressources pour restreindre l'accès aux ressources qui seraient autrement accessibles IAM aux principaux. Utilisez une instruction Deny
pour empêcher l'accès.
L'exemple suivant bloque l'accès si aucun protocole de transport sécurisé n'est utilisé :
{"Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": <bucket ARN>, "Condition": { "Boolean": { "aws:SecureTransport" : "false"} } }
Au lieu de tenter de refuser l'accès à des comptes ou des principaux spécifiques selon cette méthode, l'utilisation de "Principal": "*"
de sorte que cette restriction s'applique à tout le monde est une bonne pratique pour cette politique.
Nécessite un accès via CloudFront URLs
Vous pouvez demander à vos utilisateurs d'accéder à votre contenu Amazon S3 uniquement en utilisant CloudFront URLs plutôt qu'Amazon S3URLs. Pour ce faire, créez un contrôle CloudFront d'accès à l'origine (OAC). Modifiez ensuite les autorisations sur vos données S3. Dans votre politique de compartiment, vous pouvez définir le CloudFront rôle principal comme suit :
"Principal":{"Service":"cloudfront.amazonaws.com"}
Utilisez un Condition
élément de la politique CloudFront pour autoriser l'accès au compartiment uniquement lorsque la demande provient de la CloudFront distribution contenant l'origine S3.
"Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::
111122223333
:distribution/CloudFront-distribution-ID
" } }
Pour plus d'informations sur l'obligation d'accéder à S3 via CloudFront URLs, consultez Restreindre l'accès à une origine Amazon Simple Storage Service dans le manuel Amazon CloudFront Developer Guide. Pour plus d'informations sur les avantages en matière de sécurité et de confidentialité liés à l'utilisation d'Amazon CloudFront, consultez Configuration de l'accès sécurisé et restriction de l'accès au contenu.
Exemples de politiques basées sur les ressources pour Amazon S3
Pour consulter des exemples de politiques relatives aux compartiments Amazon S3, consultezPolitiques relatives aux compartiments pour Amazon S3.
Pour consulter des exemples de politiques relatives aux points d'accès, voirConfiguration des IAM politiques d'utilisation des points d'accès.
Actions politiques pour Amazon S3
Prend en charge les actions de politique : oui
Les administrateurs peuvent utiliser AWS JSON des politiques pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.
L'Action
élément d'une JSON politique décrit les actions que vous pouvez utiliser pour autoriser ou refuser l'accès dans une politique. Les actions de stratégie portent généralement le même nom que l' AWS APIopération associée. Il existe certaines exceptions, telles que les actions avec autorisation uniquement qui n'ont pas d'opération correspondante. API Certaines opérations nécessitent également plusieurs actions dans une politique. Ces actions supplémentaires sont nommées actions dépendantes.
Intégration d’actions dans une stratégie afin d’accorder l’autorisation d’exécuter les opérations associées.
Ce qui suit montre les différents types de relations de mappage entre les API opérations S3 et les actions politiques requises.
O ne-to-one mappage du même nom. Par exemple, pour utiliser l'
PutBucketPolicy
APIopération, l'actions3:PutBucketPolicy
politique est requise.O ne-to-one mappage avec des noms différents. Par exemple, pour utiliser l'
ListObjectsV2
APIopération, l'actions3:ListBucket
politique est requise.Sur la ne-to-many cartographie. Par exemple, pour utiliser l'
HeadObject
APIopération, les3:GetObject
est requis. De même, lorsque vous utilisez S3 Object Lock et que vous souhaitez obtenir le statut de conservation légale ou les paramètres de rétention d'un objet, les actions correspondantess3:GetObjectLegalHold
ous3:GetObjectRetention
politiques sont également requises avant de pouvoir utiliser l'HeadObject
APIopération.any-to-one Cartographie M. Par exemple, pour utiliser les
HeadBucket
API opérationsListObjectsV2
or, l'actions3:ListBucket
politique est requise.
Pour consulter la liste des actions Amazon S3 à utiliser dans les politiques, consultez la section Actions définies par Amazon S3 dans le Service Authorization Reference. Pour obtenir la liste complète des API opérations Amazon S3, consultez la section APIActions Amazon S3 dans le manuel Amazon Simple Storage Service API Reference.
Les actions politiques dans Amazon S3 utilisent le préfixe suivant avant l'action :
s3
Pour indiquer plusieurs actions dans une seule déclaration, séparez-les par des virgules.
"Action": [ "s3:
action1
", "s3:action2
" ]
Opérations de compartiment
Les opérations de compartiment sont API des opérations S3 qui opèrent sur le type de ressource de compartiment. Par exemple, CreateBucket
, ListObjectsV2
et PutBucketPolicy
. Les actions de politique S3 pour les opérations de compartiment nécessitent que l'Resource
élément des politiques de compartiment ou des politiques IAM basées sur l'identité soit l'identifiant Amazon Resource Name (ARN) du type de compartiment S3 dans l'exemple de format suivant.
"Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
"
La politique de compartiment suivante accorde à l'utilisateur Akua
avec compte 12345678901
l's3:ListBucket
autorisation d'effectuer l'APIopération ListObjectsV2 et de répertorier les objets dans un compartiment S3.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to list objects in the bucket", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
12345678901
:user/Akua" }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket
" } ] }
Opérations relatives aux compartiments dans les politiques de point d'accès
Les autorisations accordées dans le cadre d'une politique de point d'accès ne sont effectives que si le compartiment sous-jacent autorise les mêmes autorisations. Lorsque vous utilisez des points d'accès S3, vous devez déléguer le contrôle d'accès du compartiment au point d'accès ou ajouter les mêmes autorisations dans les politiques du point d'accès à la politique du compartiment sous-jacent. Pour de plus amples informations, veuillez consulter Configuration des IAM politiques d'utilisation des points d'accès. Dans les politiques de point d'accès, les actions de politique S3 pour les opérations de compartiment nécessitent que vous utilisiez l'Resource
élément accesspoint
ARN for au format suivant.
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/
DOC-EXAMPLE-ACCESS-POINT
"
La politique de point d'accès suivante accorde à l'utilisateur Akua
avec compte 12345678901
l's3:ListBucket
autorisation d'effectuer l'APIopération ListObjectsV2 via le point d'accès S3 DOC-EXAMPLE-ACCESS-POINT
pour répertorier les objets dans le compartiment associé au point d'accès.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to list objects in the bucket through access point", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
12345678901
:user/Akua" }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:us-west-2:123456789012
:accesspoint/DOC-EXAMPLE-ACCESS-POINT
" } ] }
Note
Toutes les opérations de compartiment ne sont pas prises en charge par S3 Access Point. Pour de plus amples informations, veuillez consulter Compatibilité des points d'accès avec les opérations S3.
Opérations sur les objets
Les opérations d'objet sont API des opérations S3 qui agissent sur le type de ressource de l'objet. Par exemple, GetObject
, PutObject
et DeleteObject
. Les actions de politique S3 pour les opérations sur les objets nécessitent que l'Resource
élément des politiques soit l'objet S3 ARN dans les exemples de formats suivants.
"Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/*"
"Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/prefix
/*"
Note
L'objet ARN doit contenir une barre oblique après le nom du compartiment, comme indiqué dans les exemples précédents.
La politique de compartiment suivante accorde à l'utilisateur Akua
avec compte 12345678901
l's3:PutObject
autorisation d'effectuer l'PutObjectAPIopération de téléchargement d'objets dans un compartiment S3.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to upload objects", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
12345678901
:user/Akua" }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket
/*" } ] }
Opérations sur les objets dans les politiques de point d'accès
Lorsque vous utilisez des points d'accès S3 pour contrôler l'accès aux opérations sur les objets, vous pouvez utiliser des politiques de point d'accès. Lorsque vous utilisez des politiques de point d'accès, les actions de politique S3 pour les opérations sur les objets nécessitent que vous utilisiez le accesspoint
ARN pour l'Resource
élément au format suivant :arn:aws:s3:region:account-id:accesspoint/access-point-name/object/resource
. Pour les opérations sur les objets qui utilisent un point d'accès, vous devez inclure la /object/
valeur après le point d'accès complet ARN dans l'Resource
élément. Voici quelques exemples.
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/
DOC-EXAMPLE-ACCESS-POINT
/object/*"
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/
DOC-EXAMPLE-ACCESS-POINT
/object/prefix
/*"
La politique de point d'accès suivante accorde à l'utilisateur Akua
avec compte 12345678901
l's3:GetObject
autorisation d'effectuer l'GetObjectAPIopération via le point d'accès DOC-EXAMPLE-ACCESS-POINT
sur tous les objets du compartiment associé au point d'accès.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to get objects through access point", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
12345678901
:user/Akua" }, "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/DOC-EXAMPLE-ACCESS-POINT
/object/*" } ] }
Note
Toutes les opérations sur les objets ne sont pas prises en charge par S3 Access Point. Pour de plus amples informations, veuillez consulter Compatibilité des points d'accès avec les opérations S3.
Opérations des points d'accès
Les opérations de point d'accès sont API des opérations S3 qui opèrent sur le type de accesspoint
ressource. Par exemple, CreateAccessPoint
, DeleteAccessPoint
et GetAccessPointPolicy
. Les actions de politique S3 pour les opérations de point d'accès ne peuvent être utilisées que dans les politiques IAM basées sur l'identité, et non dans les politiques de compartiment ou les politiques de point d'accès. Les opérations sur les points d'accès nécessitent que l'Resource
élément soit accesspoint
ARN au format de l'exemple suivant.
"Resource": "arn:aws:s3:us-west-2:
123456789012
:accesspoint/DOC-EXAMPLE-ACCESS-POINT
"
La politique IAM basée sur l'identité suivante accorde l's3:GetAccessPointPolicy
autorisation d'effectuer l'GetAccessPointPolicyAPIopération sur le point d'accès S3 DOC-EXAMPLE-ACCESS-POINT
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Grant permission to retrieve the access point policy of access point
DOC-EXAMPLE-ACCESS-POINT
", "Effect": "Allow", "Action": [ "s3:GetAccessPointPolicy" ], "Resource": "arn:aws:s3:*:123456789012
:access point/DOC-EXAMPLE-ACCESS-POINT
" } ] }
Lorsque vous utilisez des points d'accès, pour contrôler l'accès aux opérations du bucket, voir Opérations relatives aux compartiments dans les politiques de point d'accès ; pour contrôler l'accès aux opérations sur les objets, voirOpérations sur les objets dans les politiques de point d'accès. Pour plus d'informations sur la configuration des politiques de point d'accès, consultezConfiguration des IAM politiques d'utilisation des points d'accès.
Opérations du point d'accès Object Lambda
Amazon S3 Object Lambda vous donne la possibilité d'ajouter votre propre code aux requêtes Amazon S3 GET
, LIST
et HEAD
afin de modifier et de traiter les données lorsqu'elles sont renvoyées vers une application. Vous pouvez effectuer des demandes via un point d'accès Object Lambda, qui fonctionne de la même manière que les demandes via d'autres points d'accès. Pour de plus amples informations, veuillez consulter Transformation d'objets avec S3 Object Lambda.
Pour plus d'informations sur la configuration des politiques pour les opérations du point d'accès Object Lambda, consultez. Configuration des IAM politiques pour les points d'accès Object Lambda
Opérations des points d'accès multirégionaux
Un point d'accès multirégional fournit un point de terminaison global que les applications peuvent utiliser pour répondre aux demandes provenant de compartiments S3 situés dans plusieurs compartiments. Région AWS Vous pouvez utiliser un point d'accès multirégional pour créer des applications multirégionales avec la même architecture que celle utilisée dans une seule région, puis exécuter ces applications n'importe où dans le monde. Pour de plus amples informations, veuillez consulter Points d'accès multi-régions dans Amazon S3.
Pour plus d'informations sur la configuration des politiques pour les opérations de points d'accès multirégionaux, consultezExemples de politique de point d'accès multi-régions.
Opérations de tâches par lots
Les opérations de travail (Batch Operations) sont API des opérations S3 qui opèrent sur le type de ressource de travail. Par exemple : DescribeJob
et CreateJob
. Les actions de politique S3 pour les opérations de travail ne peuvent être utilisées que dans les politiques IAM basées sur l'identité, et non dans les politiques de compartiment. En outre, les opérations de travail nécessitent que l'Resource
élément des politiques IAM basées sur l'identité soit job
ARN au format de l'exemple suivant.
"Resource": "arn:aws:s3:*:
123456789012
:job/*"
La politique IAM basée sur l'identité suivante accorde l's3:DescribeJob
autorisation d'effectuer l'DescribeJobAPIopération sur S3 Batch Operations Job DOC-EXAMPLE-JOB
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow describing the Batch operation job DOC-EXAMPLE-JOB", "Effect": "Allow", "Action": [ "s3:DescribeJob" ], "Resource": "arn:aws:s3:*:
123456789012
:job/DOC-EXAMPLE-JOB
" } ] }
Opérations de configuration de S3 Storage Lens
Pour plus d'informations sur la façon de configurer les opérations de configuration de S3 Storage Lens, consultezAutorisations Amazon S3 Storage Lens.
Opérations du compte
Les opérations de compte sont API des opérations S3 qui s'opèrent au niveau du compte. Par exemple, GetPublicAccessBlock
(pour le compte). Le compte n'est pas un type de ressource défini par Amazon S3. Les actions de politique S3 pour les opérations de compte ne peuvent être utilisées que dans les politiques IAM basées sur l'identité, et non dans les politiques de compartiment. De plus, les opérations de compte nécessitent que l'Resource
élément des politiques IAM basées sur l'identité soit. "*"
La politique IAM basée sur l'identité suivante accorde l's3:GetAccountPublicAccessBlock
autorisation d'effectuer l'GetPublicAccessBlockAPIopération au niveau du compte et de récupérer les paramètres de blocage de l'accès public au niveau du compte.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"Allow retrieving the account-level Public Access Block settings", "Effect":"Allow", "Action":[ "s3:GetAccountPublicAccessBlock" ], "Resource":[ "*" ] } ] }
Exemples de politiques pour Amazon S3
-
Pour consulter des exemples de politiques basées sur l'identité Amazon S3, consultez. Politiques basées sur l'identité pour Amazon S3
-
Pour consulter des exemples de politiques basées sur les ressources Amazon S3, consultez Politiques relatives aux compartiments pour Amazon S3 et. Configuration des IAM politiques d'utilisation des points d'accès
Ressources relatives aux politiques pour Amazon S3
Prend en charge les ressources de politique : oui
Les administrateurs peuvent utiliser AWS JSON des politiques pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.
L'élément Resource
JSON de stratégie indique le ou les objets auxquels s'applique l'action. Les instructions doivent inclure un élément Resource
ou NotResource
. Il est recommandé de spécifier une ressource en utilisant son Amazon Resource Name (ARN). Vous pouvez le faire pour des actions qui prennent en charge un type de ressource spécifique, connu sous la dénomination autorisations de niveau ressource.
Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, telles que les opérations de liste, utilisez un caractère générique (*) afin d’indiquer que l’instruction s’applique à toutes les ressources.
"Resource": "*"
Certaines API actions Amazon S3 prennent en charge plusieurs ressources. Par exemple, s3:GetObject
les accès à EXAMPLE - RESOURCE -1 et EXAMPLE - RESOURCE -2, le principal doit être autorisé à accéder aux deux ressources. Pour spécifier plusieurs ressources dans une seule instruction, séparez-les ARNs par des virgules.
"Resource": [ "EXAMPLE-RESOURCE-1", "EXAMPLE-RESOURCE-2"
Les ressources d'Amazon S3 sont des compartiments, des objets, des points d'accès ou des tâches. Dans une politique, utilisez le nom de ressource Amazon (ARN) du compartiment, de l'objet, du point d'accès ou de la tâche pour identifier la ressource.
Pour consulter la liste complète des types de ressources Amazon S3 et de leurs caractéristiquesARNs, consultez la section Ressources définies par Amazon S3 dans le Service Authorization Reference. Pour savoir avec quelles actions vous pouvez spécifier pour chaque ressource, consultez Actions définies par Amazon S3. ARN
Des jokers pour les ressources ARNs
Vous pouvez utiliser des caractères génériques dans le cadre de la ressourceARN. Vous pouvez utiliser des caractères génériques (*
et?
) dans n'importe quel ARN segment (les parties sont séparées par des deux-points). Un astérisque (*
) représente n'importe quelle combinaison de zéro ou de plusieurs caractères, et un point d'interrogation (?
) représente un seul caractère quelconque. Vous pouvez utiliser plusieurs caractères *
ou ?
dans segment, mais un caractère générique ne peut pas s'étendre à plusieurs segments.
-
Ce qui suit ARN utilise le caractère générique
*
dans la partie Relative-ID du bucket ARN pour identifier tous les objets du compartiment.examplebucket
arn:aws:s3:::examplebucket/*
-
Les ARN utilisations
*
suivantes indiquent tous les compartiments et objets S3.arn:aws:s3:::*
-
Ce qui suit ARN utilise à la fois des caractères génériques
*
et?
, dans larelative-ID
pièce. Il identifie tous les objets des compartiments, par exempleexample1bucket
,example2bucket
,example3bucket
, etc.arn:aws:s3:::example?bucket/*
Variables de politique pour les ressources ARNs
Vous pouvez utiliser des variables de politique dans Amazon S3ARNs. Lors de l'évaluation de la stratégie, ces variables prédéfinies sont remplacées par leurs valeurs correspondantes. Supposons que vous organisez votre compartiment comme un ensemble de dossiers, avec un dossier pour chacun de vos utilisateurs. Le nom de dossier est le même que le nom utilisateur. Pour autoriser les utilisateurs à accéder à leurs dossiers, vous pouvez spécifier une variable de politique dans la ressource ARN :
arn:aws:s3:::bucket_name/developers/${aws:username}/
Lors de l'exécution, lorsque la politique est évaluée, la variable ${aws:username}
de la ressource ARN est remplacée par le nom d'utilisateur de la personne qui fait la demande.
Exemples de politiques pour Amazon S3
-
Pour consulter des exemples de politiques basées sur l'identité Amazon S3, consultez. Politiques basées sur l'identité pour Amazon S3
-
Pour consulter des exemples de politiques basées sur les ressources Amazon S3, consultez Politiques relatives aux compartiments pour Amazon S3 et. Configuration des IAM politiques d'utilisation des points d'accès
Clés de conditions de politique pour Amazon S3
Prend en charge les clés de condition de politique spécifiques au service : oui
Les administrateurs peuvent utiliser AWS JSON des politiques pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.
L’élément Condition
(ou le bloc Condition
) vous permet de spécifier des conditions lorsqu’une instruction est appliquée. L’élément Condition
est facultatif. Vous pouvez créer des expressions conditionnelles qui utilisent des opérateurs de condition, tels que les signes égal ou inférieur à, pour faire correspondre la condition de la politique aux valeurs de la demande.
Si vous spécifiez plusieurs éléments Condition
dans une instruction, ou plusieurs clés dans un seul élément Condition
, AWS les évalue à l’aide d’une opération AND
logique. Si vous spécifiez plusieurs valeurs pour une seule clé de condition, AWS évalue la condition à l'aide d'une OR
opération logique. Toutes les conditions doivent être remplies avant que les autorisations associées à l’instruction ne soient accordées.
Vous pouvez aussi utiliser des variables d’espace réservé quand vous spécifiez des conditions. Par exemple, vous pouvez autoriser un IAM utilisateur à accéder à une ressource uniquement si celle-ci est étiquetée avec son nom IAM d'utilisateur. Pour plus d'informations, consultez IAMla section Éléments de politique : variables et balises dans le Guide de IAM l'utilisateur.
AWS prend en charge les clés de condition globales et les clés de condition spécifiques au service. Pour voir toutes les clés de condition AWS globales, voir les clés contextuelles de condition AWS globales dans le guide de IAM l'utilisateur.
Chaque clé de condition Amazon S3 correspond au même nom que l'en-tête de demande autorisé par le API code sur lequel la condition peut être définie. Les clés de condition spécifiques à Amazon S3 dictent le comportement des en-têtes de demande du même nom. Par exemple, la clé de condition s3:VersionId
utilisée pour accorder une autorisation conditionnelle définit le s3:GetObjectVersion
comportement du paramètre de versionId
requête que vous définissez dans une demande d'GETobjet.
Pour consulter la liste des clés de condition Amazon S3, consultez la section Clés de condition pour Amazon S3 dans la référence d'autorisation de service. Pour savoir avec quelles actions et ressources vous pouvez utiliser une clé de condition, consultez Actions définies par Amazon S3.
Exemple : restriction des téléchargements d'objets vers des objets dotés d'une classe de stockage spécifique
Supposons que le compte A, représenté par l'ID de compte 123456789012, possède un compartiment. L'administrateur du compte A souhaite restreindre Dave, un utilisateur du compte A, afin que Dave ne puisse télécharger des objets que dans le compartiment stocké avec la classe STANDARD_IA
de stockage. Pour restreindre les chargements d'objets vers une classe de stockage spécifique, l'administrateur de compte A peut utiliser la clé de condition s3:x-amz-storage-class
, comme illustré dans l'exemple de stratégie de compartiment suivant.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:user/Dave" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1
/*", "Condition": { "StringEquals": { "s3:x-amz-storage-class": [ "STANDARD_IA" ] } } } ] }
Dans l'exemple, le bloc Condition
spécifie la condition StringEquals
qui est appliquée à la paire clé-valeur spécifiée, "s3:x-amz-acl":["public-read"]
. Un jeu de clés prédéfinis peut être utilisé pour exprimer une condition. L'exemple utilise la clé de condition s3:x-amz-acl
. Cette condition oblige l'utilisateur à inclure l'x-amz-acl
en-tête avec une valeur public-read
dans chaque demande PUT d'objet.
Exemples de politiques pour Amazon S3
-
Pour consulter des exemples de politiques basées sur l'identité Amazon S3, consultez. Politiques basées sur l'identité pour Amazon S3
-
Pour consulter des exemples de politiques basées sur les ressources Amazon S3, consultez Politiques relatives aux compartiments pour Amazon S3 et. Configuration des IAM politiques d'utilisation des points d'accès
ACLsdans Amazon S3
Supports ACLs : Oui
Dans Amazon S3, les listes de contrôle d'accès (ACLs) contrôlent les Comptes AWS personnes autorisées à accéder à une ressource. ACLssont similaires aux politiques basées sur les ressources, bien qu'elles n'utilisent pas le format du document JSON de stratégie.
Important
La majorité des cas d'utilisation modernes d'Amazon S3 ne nécessitent plus l'utilisation deACLs.
Pour plus d'informations sur l'utilisation ACLs pour contrôler l'accès dans Amazon S3, consultezGérer l'accès avec ACLs.
ABACavec Amazon S3
Supports ABAC (balises dans les politiques) : Partiel
Le contrôle d'accès basé sur les attributs (ABAC) est une stratégie d'autorisation qui définit les autorisations en fonction des attributs. Dans AWS, ces attributs sont appelés balises. Vous pouvez associer des balises à IAM des entités (utilisateurs ou rôles) et à de nombreuses AWS ressources. Le balisage des entités et des ressources est la première étape deABAC. Vous concevez ensuite des ABAC politiques pour autoriser les opérations lorsque le tag du principal correspond à celui de la ressource à laquelle il essaie d'accéder.
ABACest utile dans les environnements qui se développent rapidement et aide dans les situations où la gestion des politiques devient fastidieuse.
Pour contrôler l’accès basé sur des étiquettes, vous devez fournir les informations d’étiquette dans l’élément de condition d’une politique utilisant les clés de condition aws:ResourceTag/
, key-name
aws:RequestTag/
ou key-name
aws:TagKeys
.
Si un service prend en charge les trois clés de condition pour tous les types de ressources, alors la valeur pour ce service est Oui. Si un service prend en charge les trois clés de condition pour certains types de ressources uniquement, la valeur est Partielle.
Pour plus d'informationsABAC, voir Qu'est-ce que c'est ABAC ? dans le guide de IAM l'utilisateur. Pour consulter un didacticiel présentant les étapes de configurationABAC, voir Utiliser le contrôle d'accès basé sur les attributs (ABAC) dans le guide de l'IAMutilisateur.
Pour consulter des exemples de politiques basées sur l'identité permettant de limiter l'accès aux tâches S3 Batch Operations en fonction de balises, consultez. Contrôle des autorisations pour les opérations par lot S3 à l’aide d'étiquettes de tâche
ABACet balises d'objets
Dans ABAC les politiques, les objets utilisent des s3:
balises plutôt que des aws:
balises. Pour contrôler l'accès aux objets en fonction des balises d'objets, vous devez fournir les informations relatives aux balises dans l'élément de condition d'une politique à l'aide des balises suivantes :
-
s3:ExistingObjectTag/
tag-key
-
s3:s3:RequestObjectTagKeys
-
s3:RequestObjectTag/
tag-key
Pour plus d'informations sur l'utilisation de balises d'objet pour contrôler l'accès, y compris des exemples de politiques d'autorisation, consultezStratégies de balisage et de contrôle d'accès.
Utilisation d'informations d'identification temporaires avec Amazon S3
Prend en charge les informations d’identification temporaires : oui
Certains AWS services ne fonctionnent pas lorsque vous vous connectez à l'aide d'informations d'identification temporaires. Pour plus d'informations, y compris celles qui AWS services fonctionnent avec des informations d'identification temporaires, consultez AWS services la section relative à l'utilisation IAM dans le Guide de IAM l'utilisateur.
Vous utilisez des informations d'identification temporaires si vous vous connectez à l' AWS Management Console aide d'une méthode autre qu'un nom d'utilisateur et un mot de passe. Par exemple, lorsque vous accédez à AWS l'aide du lien d'authentification unique (SSO) de votre entreprise, ce processus crée automatiquement des informations d'identification temporaires. Vous créez également automatiquement des informations d’identification temporaires lorsque vous vous connectez à la console en tant qu’utilisateur, puis changez de rôle. Pour plus d'informations sur le changement de rôle, consultez la section Passage à un rôle (console) dans le guide de IAM l'utilisateur.
Vous pouvez créer manuellement des informations d'identification temporaires à l'aide du AWS CLI ou AWS API. Vous pouvez ensuite utiliser ces informations d'identification temporaires pour y accéder AWS. AWS recommande de générer dynamiquement des informations d'identification temporaires au lieu d'utiliser des clés d'accès à long terme. Pour plus d'informations, consultez la section Informations d'identification de sécurité temporaires dans IAM.
Transférer les sessions d'accès pour Amazon S3
Prend en charge les sessions d'accès transféré (FAS) : Oui
Lorsque vous utilisez un IAM utilisateur ou un rôle pour effectuer des actions AWS, vous êtes considéré comme un mandant. Lorsque vous utilisez certains services, vous pouvez effectuer une action qui initie une autre action dans un autre service. FASutilise les autorisations du principal appelant an AWS service, combinées à la demande AWS service pour adresser des demandes aux services en aval. FASles demandes ne sont effectuées que lorsqu'un service reçoit une demande qui nécessite des interactions avec d'autres personnes AWS services ou des ressources pour être traitée. Dans ce cas, vous devez disposer d’autorisations nécessaires pour effectuer les deux actions. Pour plus de détails sur les politiques relatives FAS aux demandes, consultez la section Transférer les sessions d'accès.
FASest utilisé par Amazon S3 pour effectuer des appels AWS KMS afin de déchiffrer un objet lorsque SSE - KMS a été utilisé pour le chiffrer. Pour de plus amples informations, veuillez consulter Utilisation du chiffrement côté serveur avec des AWS KMS clés (SSE-) KMS.
S3 Access Grants utilise égalementFAS. Après avoir créé une autorisation d'accès à vos données S3 pour une identité particulière, le bénéficiaire demande un identifiant temporaire à S3 Access Grants. S3 Access Grants obtient un identifiant temporaire pour le demandeur AWS STS et le transmet au demandeur. Pour de plus amples informations, veuillez consulter Demande d’un accès aux données Amazon S3 via les octrois d’accès S3.
Rôles de service pour Amazon S3
Prend en charge les rôles de service : oui
Un rôle de service est un IAMrôle qu'un service assume pour effectuer des actions en votre nom. Un IAM administrateur peut créer, modifier et supprimer un rôle de service de l'intérieurIAM. Pour plus d'informations, consultez la section Création d'un rôle auquel déléguer des autorisations AWS service dans le Guide de IAM l'utilisateur.
Avertissement
La modification des autorisations associées à un rôle de service peut perturber les fonctionnalités d'Amazon S3. Modifiez les rôles de service uniquement lorsque Amazon S3 fournit des instructions à cet effet.
Rôles liés à un service pour Amazon S3
Prend en charge les rôles liés aux services : partiel
Un rôle lié à un service est un type de rôle de service lié à un. AWS service Le service peut endosser le rôle afin d’effectuer une action en votre nom. Les rôles liés au service apparaissent dans votre Compte AWS fichier et appartiennent au service. Un IAM administrateur peut consulter, mais pas modifier les autorisations pour les rôles liés à un service.
Amazon S3 prend en charge les rôles liés au service pour Amazon S3 Storage Lens. Pour en savoir plus sur la création ou la gestion des rôles liés aux services Amazon S3, consultez. Utilisation des rôles liés à un service pour le cadre de stockage Amazon S3
Amazon S3 Service en tant que principal
Nom du service dans la politique | Fonctionnalité S3 | En savoir plus |
---|---|---|
|
Réplication S3 |
|
|
Notifications d'événements S3 |
|
|
Inventaire S3 |
|
|
Octrois d’accès S3 |
|
|
Opérations par lot S3 |
Octroi d'autorisations pour les opérations par lot Simple Storage Service (Amazon S3) |
|
Journalisation des accès au serveur S3 |
Activation de la journalisation des accès au serveur Amazon S3 |
|
S3 Storage Lens |
Afficher les métriques Amazon S3 Storage Lens à l'aide d'une exportation de données |