Je souhaite utiliser un rôle Gestion des identités et des accès AWS (AWS IAM) pour télécharger un objet Amazon Simple Storage Service (Amazon S3) chiffré SSE-KMS. Toutefois, je reçois une erreur « Access Denied ».
Résolution
Le chiffrement côté serveur avec les clés AWS Key Management Service (AWS KMS) (SSE-KMS) utilise des sessions d'accès direct (FAS) pour effectuer des requêtes d'API AWS KMS que les restrictions d'adresse IP peuvent refuser involontairement. Lorsque vous utilisez un rôle IAM à adresse IP restreinte et que vous essayez de télécharger un objet Amazon S3 chiffré avec SSE-KMS, l’erreur « Access Denied » peut s'afficher.
Pour modifier la politique associée à votre utilisateur IAM afin d'inclure la condition aws:ViaAWSService, procédez comme suit :
-
Ouvrez votre politique actuelle pour votre utilisateur IAM qui restreint les adresses IP. Exemple de politique restreinte :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"IP ADDRESS"
]
}
}
}
]
}
-
Modifiez la politique pour inclure la condition aws:ViaAWSService. Exemple de politique utilisateur IAM :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"IP ADDRESS"
]
},
"Bool": {
"aws:ViaAWSService": "false"
}
}
}
]
}
Remarque : La condition aws:ViaAWSService permet maintenant aux services AWS d'effectuer des appels d'API en votre nom avec des restrictions d'adresse IP.
Informations connexes
Opérateurs de condition d'adresse IP