Похоже, ваша ситуация:
- Вы использовали
UNLOAD
команду для экспорта данных из Amazon Redshift на ведро Amazon S3, что вы владеете
- Вы хотите предоставить доступ к файлам на AWS пользователь, который принадлежит к другой учетной записи AWS
Разрешение доступа к объекту в Amazon S3 может быть предоставлен несколькими способами:
- На самом объекте, установив разрешения вручную на файл (ы)
- В IAM (управления идентификацией и доступом), путем присоединения политики для конкретного пользователя, который предоставляет разрешение на доступ к ведерко - но это будет работать только для пользователей на той же учетной записи AWS.
- Определяя политику Bucket, которая предоставляет доступ к содержимому в виде ведра для всех (общедоступных) или для конкретных пользователей AWS (включая пользователя в другой учетной записи) - пользователю необходимо будет получить доступ к контенту, предоставив учетные данные, например, используя команду AWS Command-Line Interface (CLI)
aws s3 cp
.
Вариант Bucket Policy кажется лучшим для вашей ситуации. Чтобы включить его, создать политику на ведро, которое предоставляет доступ к определенному каталогу, в котором будут храниться файлы, например:
{
"Id": "Policy",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Sid1",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::MY-BUCKET",
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:user/username"
]
}
},
{
"Sid": "Sid2",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::MY-BUCKET/PATH/*",
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:user/username"
]
}
}
]
}
ARN
в политике ссылается на идентификатор счета и имя пользователя, чтобы которым вы предоставляете доступ. Затем они могут использовать CLI AWS для отображения содержимого ведра и загрузки содержимого.
Что такое «коробка» в этом контексте? –
Сервер AWS. Я пытаюсь разгрузить другую учетную запись. – user2518751