Accès refusé sur AWS s3 seau de même avec seau et/ou de l'utilisateur de la politique
J'ai essayé à peu près tous les possibles seau politique. Également essayé d'ajouter une politique pour l'utilisateur, mais j'ai Accès Refusé à chaque fois que j'essaie de télécharger un objet à partir d'un compartiment s3 à l'aide de la Console AWS.
Seau Politique:
{
"Version": "2012-10-17",
"Id": "MyPolicy",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::12345678901011:user/my-username"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
]
},
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::my-bucket/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"XX.XXX.XXX.XXX/24",
"XXX.XXX.XXX.XXX/24"
]
}
}
}
]
}
Qui ne fonctionne pas donc j'ai essayé d'ajouter un politique à mon-nom d'utilisateur:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "StmtXXXXXXXXXX",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
]
}
]
}
- Pouvez-vous énumérer les objets via la console, mais juste de ne pas les télécharger? Comment les objets initialement chargé dans le seau? Ont-ils été copiés via la CLI?
- processus: application Met un objet dans le seau. J'ai actualiser la console et je vois apparaître. Je le sélectionner et cliquez sur "Télécharger". Je me mis sur une vilaine page qui dit Accès Refusé. Si j'upload un objet manuellement à travers la console, je peux ensuite télécharger immédiatement il.
InformationsquelleAutor scottndecker | 2017-08-16
Vous devez vous connecter pour publier un commentaire.
Aussi étrange que cela puisse paraître, il est possible de télécharger un objet à Amazon S3 que le compte de posséder le seau ne peut pas accéder à.
Lorsqu'un objet est téléchargé vers Amazon S3 (
PutObject
), il est possible de spécifier une Liste de Contrôle d'Accès (ACL). Les valeurs possibles sont:Vous devriez normalement téléchargez les objets avec la
bucket-owner-full-control
ACL. Cela permet au propriétaire du seau d'accès à l'objet d'autorisation et de contrôle de l'objet (par exemple le supprimer).Si cette autorisation n'est pas fourni, alors ils ne peuvent pas accéder et modifier l'objet.
Je sais que c'est en contradiction avec la façon dont vous pensez que les seaux doivent travailler, mais c'est vrai!
Comment résoudre le problème:
bucket-owner-full-control
ACL, ouCopyObject
avec une nouvelle ACL. Cela modifie les autorisations sans avoir à re-télécharger.Vous pouvez le résoudre en utilisant : http://docs.aws.amazon.com/cli/latest/reference/s3api/put-object-acl.html
mettez-objet-acl : Ce qui doit être fait par personne.
Mais est certainement plus rapide que la copie de données à nouveau.
J'ai eu du CT de données à traiter.