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.
Enregistrement d’un emplacement
Après avoir créé une instance Amazon S3 Access Grants Région AWS dans un compte, vous enregistrez un emplacement S3 dans cette instance. Un emplacement S3 Access Grants associe l'emplacement S3 par défaut (s3://
), un compartiment ou un préfixe à un rôle AWS Identity and Access Management (IAM). S3 Access Grants assume ce IAM rôle pour vendre des informations d'identification temporaires au bénéficiaire qui accède à cet emplacement particulier. Vous devez d'abord enregistrer au moins un emplacement dans votre instance S3 Access Grants avant de pouvoir créer une autorisation d'accès.
Cas d'utilisation recommandé
Nous vous recommandons d'enregistrer l'emplacement par défaut (s3://
) et de le mapper à un IAM rôle. L'emplacement situé sur le chemin S3 par défaut (s3://
) couvre l'accès à tous vos compartiments S3 dans celui Région AWS de votre compte. Lorsque vous créez une autorisation d'accès, vous pouvez restreindre la portée de l'autorisation à un compartiment, à un préfixe ou à un objet situé dans l'emplacement par défaut.
Cas d'utilisation complexes de gestion des accès
Les cas d'utilisation plus complexes liés à la gestion des accès peuvent vous obliger à enregistrer un autre emplacement que l'emplacement par défaut. Voici quelques exemples de tels cas d'utilisation :
-
Supposons que le
amzn-s3-demo-bucket
est un emplacement enregistré dans votre instance S3 Access Grants auquel un IAM rôle est mappé, mais ce IAM rôle se voit refuser l'accès à un préfixe particulier dans le compartiment. Dans ce cas, vous pouvez enregistrer le préfixe auquel le IAM rôle n'a pas accès en tant qu'emplacement distinct et associer cet emplacement à un autre IAM rôle disposant de l'accès nécessaire. -
Supposons que vous souhaitiez créer des autorisations qui limitent l'accès aux seuls utilisateurs d'un point de terminaison de cloud privé virtuel (VPC). Dans ce cas, vous pouvez enregistrer un emplacement pour un compartiment dans lequel le IAM rôle restreint l'accès au VPC point de terminaison. Plus tard, lorsqu'un bénéficiaire demande des informations d'identification à S3 Access Grants, S3 Access Grants assume le IAM rôle de l'établissement pour vendre les informations d'identification temporaires. Ces informations d'identification refuseront l'accès au compartiment spécifique à moins que l'appelant ne se trouve dans le VPC point de terminaison. Cette autorisation de refus est appliquée en plus de l'READWRITEautorisation normale READ ou spécifiée dans la subvention. WRITE
Lorsque vous enregistrez un emplacement, vous devez également spécifier le IAM rôle assumé par S3 Access Grants pour vendre des informations d'identification temporaires et définir les autorisations associées à une autorisation spécifique.
Si votre cas d'utilisation vous oblige à enregistrer plusieurs emplacements dans votre instance S3 Access Grants, vous pouvez enregistrer l'un des sites suivants :
S3 URI | IAMrôle | Description |
---|---|---|
s3:// |
|
L’emplacement par défaut, |
s3:// |
|
Cet emplacement inclut tous les objets figurant dans le compartiment spécifié. |
s3:// |
|
Cet emplacement inclut tous les objets du compartiment dont le nom de clé d'objet commence par ce préfixe. |
Avant de pouvoir enregistrer un bucket ou un préfixe spécifique, assurez-vous d'effectuer les opérations suivantes :
-
Créez un ou plusieurs compartiments contenant les données auxquelles vous souhaitez accorder l’accès. Ces compartiments doivent être situés au même endroit Région AWS que votre instance S3 Access Grants. Pour de plus amples informations, veuillez consulter Créer un compartiment.
L'ajout d'un préfixe est une étape facultative. Les préfixes sont des chaînes situées au début du nom de clé d'un objet. Vous pouvez les utiliser pour organiser les objets de votre compartiment ainsi que pour gérer les accès. Pour ajouter un préfixe à un compartiment, consultez Création de noms de clés d’objets.
-
Créez un IAM rôle autorisé à accéder à vos données S3 dans le Région AWS. Pour plus d'informations, consultez la section Création de IAM rôles dans le guide de AWS IAM Identity Center l'utilisateur.
Dans la politique de confiance des IAM rôles, accordez au service S3 Access Grants (
access-grants.s3.amazonaws.com
) l'accès principal au IAM rôle que vous avez créé. Pour ce faire, vous pouvez créer un JSON fichier contenant les instructions suivantes. Pour ajouter la politique de confiance à votre compte, voir Créer un rôle à l'aide de politiques de confiance personnalisées.TestRolePolicy.json
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1234567891011", "Action": ["sts:AssumeRole", "sts:SetSourceIdentity", "sts:SetContext"], "Effect": "Allow", "Principal": {"Service":"access-grants.s3.amazonaws.com"}, "Condition":{ "StringEquals":{ "aws:SourceAccount":"
accountId
", "aws:SourceArn":"arn:aws:s3:region
:accountId
:access-grants/default" } //Optionally, for an IAM Identity Center use case, add: "ForAnyValue:StringEquals": { "aws:RequestContextProvider":"arn:aws:iam::aws:contextProvider/IdentityCenter" } } } ] }-
Créez une IAM politique pour associer des autorisations Amazon S3 au IAM rôle que vous avez créé. Consultez l’exemple de fichier
iam-policy.json
suivant et remplacez les
par vos propres informations.user input placeholders
Note
-
Si vous utilisez le chiffrement côté serveur avec des clés AWS Key Management Service (AWS KMS) pour chiffrer vos données, l'exemple suivant inclut les AWS KMS autorisations nécessaires pour le IAM rôle dans la politique. Si vous n'utilisez pas cette fonctionnalité, vous pouvez supprimer ces autorisations de votre IAM politique.
-
Vous pouvez restreindre l'accès du IAM rôle aux données S3 uniquement si les informations d'identification sont fournies par S3 Access Grants. Cet exemple montre comment ajouter une
Condition
instruction pour une instance S3 Access Grants spécifique. Pour l'utiliserCondition
, remplacez l'instance S3 Access Grants ARN dans l'Condition
instruction par votre instance S3 Access GrantsARN, dont le format est le suivant :arn:aws:s3:
region
:accountId
:access-grants/default
iam-policy.json
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ObjectLevelReadPermissions", "Effect":"Allow", "Action":[ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectVersionAcl", "s3:ListMultipartUploadParts" ], "Resource":[ "arn:aws:s3:::*" ], "Condition":{ "StringEquals": { "aws:ResourceAccount": "
accountId
" }, "ArnEquals": { "s3:AccessGrantsInstanceArn": ["arn:aws:s3:region
:accountId
:access-grants/default"] } } }, { "Sid": "ObjectLevelWritePermissions", "Effect":"Allow", "Action":[ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectVersionAcl", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:AbortMultipartUpload" ], "Resource":[ "arn:aws:s3:::*" ], "Condition":{ "StringEquals": { "aws:ResourceAccount": "accountId
" }, "ArnEquals": { "s3:AccessGrantsInstanceArn": ["arn:aws:s3:Région AWS
:accountId
:access-grants/default"] } } }, { "Sid": "BucketLevelReadPermissions", "Effect":"Allow", "Action":[ "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::*" ], "Condition":{ "StringEquals": { "aws:ResourceAccount": "accountId
" }, "ArnEquals": { "s3:AccessGrantsInstanceArn": ["arn:aws:s3:Région AWS
:accountId
:access-grants/default"] } } }, //Optionally add the following section if you use SSE-KMS encryption { "Sid": "KMSPermissions", "Effect":"Allow", "Action":[ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource":[ "*" ] } ] } -
Vous pouvez enregistrer un emplacement dans votre instance S3 Access Grants à l'aide de la console Amazon S3, du AWS Command Line Interface (AWS CLI), du Amazon S3 REST API ou du AWS SDKs.
Note
Une fois que vous avez enregistré le premier emplacement dans votre instance S3 Access Grants, celle-ci ne dispose toujours d'aucune autorisation d'accès individuelle. Pour créer une autorisation d'accès, voirCréation d’octrois.
Avant de pouvoir accorder l’accès à vos données S3 avec les octrois d’accès S3, vous devez avoir au moins un emplacement enregistré.
Pour enregistrer un emplacement dans votre instance d’octrois d’accès S3
Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/
. -
Dans le volet de navigation de gauche, choisissez Access Grants.
-
Sur la page Octrois d’accès S3, choisissez la région qui contient l’instance d’octrois d’accès S3 qui vous intéresse.
Si vous utilisez une instance d’octrois d’accès S3 pour la première fois, assurez-vous d’avoir terminé l’étape 1 : Créer une instance d’octrois d’accès S3 et d’être passé à l’étape 2 de l’Assistant Mise en place de l’instance Access Grants. Si vous possédez déjà une instance d’octrois d’accès S3, choisissez Afficher les détails, puis, dans l’onglet Succursales, choisissez Enregistrer l’emplacement.
-
Pour l'étendue de localisation, choisissez Browse S3 ou entrez le URI chemin S3 menant à l'emplacement que vous souhaitez enregistrer. Pour les URI formats S3, consultez le tableau des formats de localisation. Après avoir saisi unURI, vous pouvez choisir Afficher pour parcourir l'emplacement.
-
Pour le IAMrôle, choisissez l'une des options suivantes :
-
Choisissez parmi les IAM rôles existants
Choisissez un IAM rôle dans la liste déroulante. Après avoir choisi un rôle, choisissez Afficher pour vous assurer que ce rôle dispose des autorisations nécessaires pour gérer l’emplacement que vous enregistrez. Plus précisément, assurez-vous que ce rôle accorde aux octrois d’accès S3 les autorisations
sts:AssumeRole
etsts:SetSourceIdentity
. -
Entrez le IAM rôle ARN
Accédez à la IAMconsole
. Copiez le nom de ressource Amazon (ARN) du IAM rôle et collez-le dans cette zone.
-
-
Pour terminer, choisissez Suivant ou Enregistrer l’emplacement.
-
-
Résolution de problèmes
Impossible d’enregistrer l’emplacement
-
L’emplacement est peut-être déjà enregistré.
Il se peut que vous n’ayez pas l’autorisation
s3:CreateAccessGrantsLocation
d’enregistrer des emplacements. Contactez l’administrateur de votre compte.
-
Pour l'installer AWS CLI, reportez-vous à la section Installation du AWS CLI dans le guide de AWS Command Line Interface l'utilisateur.
Vous pouvez enregistrer l’emplacement par défaut, s3://
, ou un emplacement personnalisé dans votre instance d’octrois d’accès S3. Assurez-vous d'abord de créer un IAM rôle avec un accès principal à l'emplacement, puis d'accorder à S3 Access Grants l'autorisation d'assumer ce rôle.
Pour utiliser les exemples de commandes suivants, remplacez les
par vos propres informations.user input
placeholders
Exemple Créer une politique de ressources
Créez une politique qui autorise S3 Access Grants à assumer le IAM rôle. Pour ce faire, vous pouvez créer un JSON fichier contenant les instructions suivantes. Pour ajouter la politique de ressources à votre compte, consultez Créer et attacher votre première politique gérée par le client.
TestRolePolicy.json
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1234567891011", "Action": ["sts:AssumeRole", "sts:SetSourceIdentity"], "Effect": "Allow", "Principal": {"Service":"access-grants.s3.amazonaws.com"} } ] }
Exemple Création du rôle
Exécutez la IAM commande suivante pour créer le rôle.
aws iam create-role --role-name
accessGrantsTestRole
\ --regionus-east-2
\ --assume-role-policy-document file://TestRolePolicy.json
L’exécution de la commande create-role
renvoie la politique :
{ "Role": { "Path": "/", "RoleName": "accessGrantsTestRole", "RoleId": "AROASRDGX4WM4GH55GIDA", "Arn": "arn:aws:iam::
111122223333
:role/accessGrantsTestRole", "CreateDate": "2023-05-31T18:11:06+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1685556427189", "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity" ], "Effect": "Allow", "Principal": { "Service":"access-grants.s3.amazonaws.com" } } ] } } }
Créez une IAM politique pour associer des autorisations Amazon S3 au IAM rôle. Consultez l’exemple de fichier iam-policy.json
suivant et remplacez les
par vos propres informations. user input placeholders
Note
Si vous utilisez le chiffrement côté serveur avec des clés AWS Key Management Service (AWS KMS) pour chiffrer vos données, l'exemple suivant ajoute les AWS KMS autorisations nécessaires pour le IAM rôle dans la politique. Si vous n'utilisez pas cette fonctionnalité, vous pouvez supprimer ces autorisations de votre IAM politique.
Pour vous assurer que le IAM rôle ne peut être utilisé que pour accéder aux données dans S3 si les informations d'identification sont fournies par S3 Access Grants, cet exemple vous montre comment ajouter une Condition
instruction spécifiant l'instance S3 Access Grants (s3:AccessGrantsInstance:
) dans votre IAM politique. Lorsque vous utilisez l’exemple de politique suivant, remplacez les InstanceArn
par vos propres informations.user input placeholders
iam-policy.json
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ObjectLevelReadPermissions", "Effect":"Allow", "Action":[ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectVersionAcl", "s3:ListMultipartUploadParts" ], "Resource":[ "arn:aws:s3:::*" ], "Condition":{ "StringEquals": { "aws:ResourceAccount": "
accountId
" }, "ArnEquals": { "s3:AccessGrantsInstanceArn": ["arn:aws:s3:region
:accountId
:access-grants/default"] } } }, { "Sid": "ObjectLevelWritePermissions", "Effect":"Allow", "Action":[ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectVersionAcl", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:AbortMultipartUpload" ], "Resource":[ "arn:aws:s3:::*" ], "Condition":{ "StringEquals": { "aws:ResourceAccount": "accountId
" }, "ArnEquals": { "s3:AccessGrantsInstanceArn": ["arn:aws:s3:Région AWS
:accountId
:access-grants/default"] } } }, { "Sid": "BucketLevelReadPermissions", "Effect":"Allow", "Action":[ "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::*" ], "Condition":{ "StringEquals": { "aws:ResourceAccount": "accountId
" }, "ArnEquals": { "s3:AccessGrantsInstanceArn": ["arn:aws:s3:Région AWS
:accountId
:access-grants/default"] } } }, { "Sid": "KMSPermissions", "Effect":"Allow", "Action":[ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource":[ "*" ] } ] }
Exécutez la commande suivante :
aws iam put-role-policy \ --role-name accessGrantsTestRole \ --policy-name accessGrantsTestRole \ --policy-document file://iam-policy.json
Exemple Enregistrer l’emplacement par défaut
aws s3control create-access-grants-location \ --account-id
111122223333
\ --location-scopes3://
\ --iam-role-arn arn:aws:iam::111122223333
:role/accessGrantsTestRole
Réponse :
{"CreatedAt": "2023-05-31T18:23:48.107000+00:00", "AccessGrantsLocationId": "default", "AccessGrantsLocationArn": "arn:aws:s3:
us-east-2
:111122223333
:access-grants/default/location/default", "LocationScope": "s3://” "IAMRoleArn": "arn:aws:iam::111122223333
:role/accessGrantsTestRole" }
Exemple Enregistrer un emplacement personnalisé
aws s3control create-access-grants-location \ --account-id
111122223333
\ --location-scopes3://DOC-BUCKET-EXAMPLE/
\ --iam-role-arn arn:aws:iam::123456789012
:role/accessGrantsTestRole
Réponse :
{"CreatedAt": "2023-05-31T18:23:48.107000+00:00", "AccessGrantsLocationId": "635f1139-1af2-4e43-8131-a4de006eb456", "AccessGrantsLocationArn": "arn:aws:s3:
us-east-2
:111122223333
:access-grants/default/location/635f1139-1af2-4e43-8131-a4de006eb888", "LocationScope": "s3://DOC-BUCKET-EXAMPLE/", "IAMRoleArn": "arn:aws:iam::111122223333
:role/accessGrantsTestRole" }
Pour plus d'informations sur le REST API support Amazon S3 pour la gestion d'une instance S3 Access Grants, consultez les sections suivantes du manuel Amazon Simple Storage Service API Reference :
Cette section fournit des exemples de la manière d'enregistrer des emplacements à l'aide du AWS SDKs.
Pour utiliser les exemples suivants, remplacez
par vos propres informations.user input
placeholders