Você usa buckets do S3 para armazenar os uploads e assets da sua aplicação?
A maioria das pessoas usam os mesmos dados de acesso (access key e secret access key) para acessar o(s) bucket(s), tanto em desenvolvimento quanto em produção.
Isso pode trazer alguns problemas para a aplicação...
Como:
A solução para todos os problemas acima é restringir o acesso aos buckets, separando os dados de acesso (chaves) de cada um:
Não há nada de misterioso ou novo aqui, apenas crie dois buckets:
Agora você precisa criar dois usuários (pra facilitar, com o mesmo nome dos buckets):
Não se esqueça de anotar as chaves de acesso de cada usuário:
Agora que os usuários estão criados, precisamos definir permissões de acesso.
Marque um usuário. Para isso, vá em Permissions > Attach User Policy > Custom Policy.
Dê um nome pra regra e use o seguinte template:
1 {
2 "Statement": [
3 {
4 "Sid": "Stmt1368030337093",
5 "Action": [
6 "s3:*"
7 ],
8 "Effect": "Allow",
9 "Resource": [
10 "arn:aws:s3:::NOME_DO_BUCKET/*"
11 ]
12 }
13 ]
14 }
Substitua NOME_DO_BUCKET pelo nome do bucket criado anteriormente e crie essa regra para o bucket de cada usuário.
Agora você tem dois buckets com acessos separados, um para desenvolvimento e um para produção.
Espero que tenham gostado, e até a próxima! :)
Comentários
Included file post/disqus_thread.html not found in _includes directory