Tenho uma aplicação que acessa imagens no S3, porem só consigo visualizar quando deixo o objeto publico, como esses objetos são confidenciais gostaria que validasse alguma chave antes de acessar, existe alguma maneira de fazer isso?
Tenho uma aplicação que acessa imagens no S3, porem só consigo visualizar quando deixo o objeto publico, como esses objetos são confidenciais gostaria que validasse alguma chave antes de acessar, existe alguma maneira de fazer isso?
Olá Elivelton, td bom?
Existem políticas de acesso ao seu bucket. No curso eu mostro essa política sendo aplicada a um usuário criado a partir da minha conta. Usando o serviço IAM da Amazon. Mas nada impede de você usar outras regras como endereço IP ou até mesmo um HTTP Refer(seu domíno por exemplo). Acredito que você esteja querendo essa terceira opção:
{
"Version":"2012-10-17",
"Id":"http referer policy example",
"Statement":[
{
"Sid":"Allow get requests originating from www.example.com and example.com.",
"Effect":"Allow",
"Principal":"*",
"Action":"s3:GetObject",
"Resource":"arn:aws:s3:::examplebucket/*",
"Condition":{
"StringLike":{"aws:Referer":["http://www.example.com/*","http://example.com/*"]}
}
}
]
}
Uma descrição melhor: http://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-4
Especificamente pedir uma senha para acesso o arquivo eu nunca vi na documentação e acho que não deve ser possível de verdade.
Ajudou? Abraços