Je dois lancer un compartiment S3 pour que mes instances EC2 puissent y stocker des fichiers image. Les instances EC2 ont besoin d'autorisations de lecture/écriture. Je ne souhaite pas rendre le compartiment S3 accessible au public, je souhaite uniquement que les instances EC2 y aient accès.
L'autre chose à faire est que mes instances EC2 sont gérées par OpsWorks et que je peux avoir différentes instances en cours d'activation en fonction de la charge/de l'utilisation. Si je le limitais par IP, je ne saurais pas toujours connaître l'IP des instances EC2. Puis-je restreindre par VPC?
Dois-je activer mon compartiment S3 pour l'hébergement de site Web statique? Dois-je rendre tous les fichiers du compartiment public aussi pour que cela fonctionne?
Vous n'avez pas besoin de rendre le compartiment lisible en public, ni les fichiers en lecture publique. Le seau et son contenu peuvent rester confidentiels.
Ne limitez pas l'accès au compartiment en fonction de l'adresse IP, mais plutôt en fonction du rôle IAM utilisé par l'instance EC2.
Par exemple:
{
"Version": "2012-10-17",
"Statement":[{
"Effect": "Allow",
"Action": "s3:*",
"Resource": ["arn:aws:s3:::my_bucket",
"arn:aws:s3:::my_bucket/*"]
}
]
}
Par exemple:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": ["arn:aws:iam::111122223333:role/my-ec2-role"]
},
"Action": "s3:*",
"Resource": ["arn:aws:s3:::my_bucket",
"arn:aws:s3:::my_bucket/*"]
}
]
}
Informations complémentaires: http://blogs.aws.Amazon.com/security/post/TxPOJBY6FE360K/IAM-policies-and-Bucket-Policies-and-ACLs-Oh-My-Controlling-Access-to-S3-Resourc
Le rôle IAM est la solution pour vous.
Vous devez créer un rôle avec une autorisation d'accès s3. Si l'instance ec2 a été démarrée sans aucun rôle, vous devez la reconstruire avec ce rôle attribué.
Reportez-vous à: Autoriser AWS OpsWorks à agir pour votre compte