No bucket a ser compartilhado, o dono do bucket deve inserir a seguinte policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<id-do-inquilino>:root"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::<nome-do-bucket>"
}
]
}
Na conta inquilina...
2.1. (Opcional) Crie um usuário que terá acesso ao bucket;
2.2. Crie a seguinte nova policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::<nome-do-bucket>",
"arn:aws:s3:::<nome-do-bucket>/*"
]
}
]
}
2.3. Anexe a policy ao usuário (attach policy);
Usando as credenciais do usuário com acesso, faça o upload do arquivo concedendo acesso de leitura pública:
# arquivo único
aws s3 cp <arquivo-de-origem> s3://<nome-do-bucket> --acl public-read
# pasta
aws s3 sync <pasta-de-origem> s3://<nome-do-bucket> --acl public-read