У меня есть учетная запись AWS. У учетной записи A есть ведро S3 «BUCKET», в которое я поместил файл с помощью Java api. Я настроил политику «BUCKET», чтобы разрешить публикацию файлов по нескольким учетным записям. Но, когда я пытаюсь открыть этот файл со счета А, он говорит: AccessDenied
Доступ запрещен с hostId и requestId.Исключение в Amazon S3 исключение «Доступ запрещен» в кросс-счете
Этот файл публикуется через учетную запись B с использованием java api, и этот файл имеет тот же размер, что и опубликованный через api. Я попытался изменить размеры файлов, и новые размеры были показаны на консоли AWS S3. Вот мое ведро политики:
{
"Version": "2008-10-17",
"Id": "Policy1357935677554",
"Statement": [
{
"Sid": "Stmt1357935647218",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNTB:user/accountb-user"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::bucket-name"
},
{
"Sid": "Stmt1357935676138",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNTB:user/accountb-user"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::bucket-name/*"
},
{
"Sid": "Stmt1357935676138",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNTB:user/accountb-user"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::bucket-name/*"
},
{
"Sid": "Stmt1357935647218",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNTA:user/accounta-user"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::bucket-name"
},
{
"Sid": "Stmt1357935676138",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNTA:user/accounta-user"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::bucket-name/*"
},
{
"Sid": "Stmt1357935676138",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNTA:root"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::bucket-name/*"
}
]
}
Проблема заключается в том, когда я пытаюсь скачать/открыть этот файл со счета, я не в состоянии открыть его.
Удалось ли решить проблему? У меня также есть эта проблема. – rastacide
Да, вам нужно использовать 's3Client.putObject (новый PutObjectRequest (bucket, key, inputFile) .withAccessControlList (acl))' – user954134