Я только начинаю работать с разрешениями на AWS S3 и Cloudfront, поэтому, пожалуйста, будьте со мной полегче.
Два основных вопроса:
Я хочу разрешить доступ некоторым пользователям (например, тем, кто вошёл в систему), но запретить другим. Я предполагаю, что мне нужно использовать ACL вместо политики корзины, поскольку первая более настраиваема, поскольку вы можете идентифицировать пользователя в URL-адресе с параметрами запроса. Прежде всего, это правильно? Может ли кто-нибудь указать мне на самое простое описание на английском языке того, как это сделать для каждого файла/пользователя за файлом/пользователя? Документация по ACL меня чертовски смущает.
Я также хотел бы ограничить доступ, чтобы люди могли просматривать контент только на my-site.com, а не на your-site.com. К сожалению, пример политики корзины документации S3 для этого не имеет влияние на доступ к моей демонстрационной корзине (см. код ниже, немного адаптированный из документации AWS). Более того, если мне нужно в первую очередь сосредоточиться на разрешении доступа для каждого пользователя, хочу ли я вообще определять политику сегментов?
Я понимаю, что даже не касаюсь того, как заставить это работать в контексте Cloudfront (конечная цель), но любые мысли по вопросам 1 и 2 были бы очень признательны, и упоминание Cloudfront было бы бонусом на этом этапе.
`
{
"Version": "2008-10-17",
"Id":"http referer policy example",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"https://mysite.com/*",
"https://www.mysite.com/*"
]
}
}
}
]
}