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.
Plusieurs fonctionnalités d'Amazon Bedrock nécessitent l'accès aux données stockées dans des compartiments Amazon S3. Pour accéder à ces données, vous devez configurer les autorisations suivantes :
Cas d’utilisation | Autorisations |
---|---|
Autorisations pour récupérer des données depuis le compartiment S3 | s3 : GetObject s3 : ListBucket |
Autorisations pour écrire des données dans le compartiment S3 | s3 : PutObject |
Autorisations pour déchiffrer la clé KMS qui a chiffré le compartiment S3 | kms:Decrypt km : DescribeKey |
Les identités ou ressources auxquelles vous devez associer les autorisations ci-dessus dépendent des facteurs suivants :
-
Plusieurs fonctionnalités d'Amazon Bedrock utilisent des rôles de service. Si une fonctionnalité utilise un rôle de service, vous devez configurer les autorisations de telle sorte que le rôle de service, plutôt que l'identité IAM de l'utilisateur, ait accès aux données S3. Certaines fonctionnalités d'Amazon Bedrock peuvent automatiquement créer un rôle de service pour vous et associer les autorisations requises basées sur l'identité au rôle de service, si vous utilisez le. AWS Management Console
-
Certaines fonctionnalités d'Amazon Bedrock permettent à une identité d'accéder à un compartiment S3 dans un autre compte. Si les données S3 doivent être accessibles depuis un autre compte, le propriétaire du compartiment doit inclure les autorisations basées sur les ressources ci-dessus dans une politique de compartiment S3 attachée au compartiment S3.
Voici comment déterminer à quel endroit vous devez attribuer les autorisations nécessaires pour accéder aux données S3 :
-
Autorisations d'identité IAM
-
Si vous pouvez créer automatiquement un rôle de service dans la console, les autorisations seront configurées pour le rôle de service, vous n'avez donc pas besoin de le configurer vous-même.
-
Si vous préférez utiliser un rôle de service personnalisé ou si l'identité nécessitant un accès n'est pas un rôle de service, naviguez jusqu'à pour savoir comment créer une politique basée sur l'identité avec les autorisations appropriées.
-
-
Autorisations basées sur les ressources
-
Si l'identité nécessite l'accès aux données S3 du même compte, il n'est pas nécessaire d'associer une politique de compartiment S3 au compartiment contenant les données.
-
Si l'identité nécessite l'accès aux données S3 dans un autre compte, accédez à la page pour savoir comment créer une politique de compartiment S3 avec les autorisations appropriées.
Important
La création automatique d'un rôle de service dans le AWS Management Console attache les autorisations appropriées basées sur l'identité au rôle, mais vous devez tout de même configurer la politique du compartiment S3 si l'identité nécessitant l'accès à celui-ci se trouve dans une autre. Compte AWS
-
Pour plus d'informations, consultez les liens suivants :
-
Pour en savoir plus sur le contrôle de l'accès aux données dans Amazon S3, consultez la section Contrôle d'accès dans Amazon S3.
-
Pour en savoir plus sur les autorisations Amazon S3, consultez la section Actions définies par Amazon S3.
-
Pour en savoir plus sur AWS KMS les autorisations, consultez la section Actions définies par AWS Key Management Service.
Passez en revue les rubriques relatives à votre cas d'utilisation :
Rubriques
Associer des autorisations à une identité IAM pour lui permettre d'accéder à un compartiment Amazon S3
Cette rubrique fournit un modèle de politique à associer à une identité IAM. La politique inclut les instructions suivantes définissant les autorisations permettant d'accorder à une identité IAM l'accès à un compartiment S3 :
-
Autorisations permettant de récupérer des données depuis un compartiment S3. Cette instruction inclut également une condition utilisant la clé de
s3:prefix
condition pour restreindre l'accès à un dossier spécifique du compartiment. Pour plus d'informations sur cette condition, consultez la section Politique utilisateur de l'Exemple 2 : Obtenir une liste d'objets dans un bucket avec un préfixe spécifique. -
(Si vous devez écrire des données dans un emplacement S3) Autorisations pour écrire des données dans un compartiment S3. Cette déclaration inclut également une condition utilisant la clé de
aws:ResourceAccount
condition pour restreindre l'accès aux demandes envoyées par un utilisateur spécifique Compte AWS. -
(Si le compartiment S3 est chiffré avec une clé KMS) Autorisations permettant de décrire et de déchiffrer la clé KMS qui a chiffré le compartiment S3.
Note
Si le contrôle de version de votre compartiment S3 est activé, chaque version d'objet que vous téléchargez à l'aide de cette fonctionnalité peut avoir sa propre clé de chiffrement. Vous êtes responsable du suivi de la clé de chiffrement utilisée pour chaque version de l'objet.
Ajoutez, modifiez et supprimez les instructions, les ressources et les conditions dans la politique suivante et remplacez-les ${values}
si nécessaire :
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadS3Bucket",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::${S3Bucket}
",
"arn:aws:s3:::${S3Bucket}
/*"
]
},
{
"Sid": "WriteToS3Bucket",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::${S3Bucket}
",
"arn:aws:s3:::${S3Bucket}
/*"
]
},
{
"Sid": "DecryptKMSKey",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:DescribeKey"
],
"Resource": "arn:aws:kms:${Region}
:${AccountId}
:key/${KMSKeyId}
"
}
]
}
Après avoir modifié la politique en fonction de votre cas d'utilisation, associez-la au rôle de service (ou identité IAM) qui nécessite l'accès au compartiment S3. Pour savoir comment associer des autorisations à une identité IAM, consultez la section Ajouter et supprimer des autorisations d'identité IAM.
Associer une politique de compartiment à un compartiment Amazon S3 pour permettre à un autre compte d'y accéder
Cette rubrique fournit un modèle de politique basée sur les ressources à associer à un compartiment S3 afin de permettre à une identité IAM d'accéder aux données du compartiment. La politique inclut les instructions suivantes définissant les autorisations d'accès au compartiment pour une identité :
-
Autorisations permettant de récupérer des données depuis un compartiment S3.
-
(Si vous devez écrire des données dans un emplacement S3) Autorisations pour écrire des données dans un compartiment S3.
-
(Si le compartiment S3 est chiffré avec une clé KMS) Autorisations permettant de décrire et de déchiffrer la clé KMS qui a chiffré le compartiment S3.
Note
Si le contrôle de version de votre compartiment S3 est activé, chaque version d'objet que vous téléchargez à l'aide de cette fonctionnalité peut avoir sa propre clé de chiffrement. Vous êtes responsable du suivi de la clé de chiffrement utilisée pour chaque version de l'objet.
Les autorisations sont similaires aux autorisations basées sur l'identité décrites dans. Associer des autorisations à une identité IAM pour lui permettre d'accéder à un compartiment Amazon S3 Toutefois, chaque instruction vous oblige également à spécifier l'identité pour laquelle vous souhaitez accorder des autorisations à la ressource du Principal
champ. Spécifiez l'identité (pour la plupart des fonctionnalités d'Amazon Bedrock, il s'agit du rôle de service) dans le Principal
champ. Ajoutez, modifiez et supprimez les instructions, les ressources et les conditions dans la politique suivante et remplacez-les ${values}
si nécessaire :
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadS3Bucket",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::${AccountId}
:role/${ServiceRole}
"
},
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::${S3Bucket}
",
"arn:aws:s3:::${S3Bucket}
/*"
]
},
{
"Sid": "WriteToS3Bucket",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::${AccountId}
:role/${ServiceRole}
"
},
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::${S3Bucket}
",
"arn:aws:s3:::${S3Bucket}
/*"
]
},
{
"Sid": "DecryptKMSKey",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::${AccountId}
:role/${ServiceRole}
"
},
"Action": [
"kms:Decrypt",
"kms:DescribeKey"
],
"Resource": "arn:aws:kms:${Region}
:${AccountId}
:key/${KMSKeyId}
"
}
]
}
Après avoir modifié la politique en fonction de votre cas d'utilisation, attachez-la au compartiment S3. Pour savoir comment associer une politique de compartiment à un compartiment S3, consultez Ajouter une politique de compartiment à l'aide de la console Amazon S3.
(Option de sécurité avancée) Incluez des conditions dans une déclaration pour un accès plus précis
Pour mieux contrôler les identités qui peuvent accéder à vos ressources, vous pouvez inclure des conditions dans une déclaration de politique. La politique décrite dans cette rubrique fournit un exemple qui utilise les clés de condition suivantes :
-
s3:prefix
— Une clé de condition S3 qui restreint l'accès à un dossier spécifique dans un compartiment S3. Pour plus d'informations sur cette clé de condition, consultez la section Politique utilisateur de l'Exemple 2 : Obtenir une liste d'objets dans un bucket avec un préfixe spécifique. -
aws:ResourceAccount
— Une clé de condition globale qui restreint l'accès aux demandes provenant d'un utilisateur spécifique Compte AWS.
La politique suivante restreint l'accès en lecture au my-folder
dossier du compartiment amzn-s3-demo-bucket
S3 et restreint l'accès en écriture pour le compartiment amzn-s3-demo-destination-bucket
S3 aux demandes émanant du titulaire de Compte AWS l'ID : 111122223333
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadS3Bucket",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::amzn-s3-demo-bucket
",
"arn:aws:s3:::amzn-s3-demo-bucket
/*"
],
"Condition" : {
"StringEquals" : {
"s3:prefix": "my-folder
"
}
}
},
{
"Sid": "WriteToS3Bucket",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::amzn-s3-demo-destination-bucket
",
"arn:aws:s3:::amzn-s3-demo-destination-bucket
/*"
],
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "111122223333
"
}
}
}
]
}
Pour en savoir plus sur les conditions et les clés de condition, consultez les liens suivants :
-
Pour en savoir plus sur les conditions, voir Éléments de politique IAM JSON : Condition dans le guide de l'utilisateur IAM.
-
Pour en savoir plus sur les clés de condition spécifiques à S3, consultez la section Clés de condition pour Amazon S3 dans la référence d'autorisation de service.
-
Pour en savoir plus sur les clés de condition globales utilisées dans tous les domaines Services AWS, consultez la section Clés contextuelles de condition AWS globales.