Соната + Amazon S3 — не удалось написать ключевой контент

Я установил dev-master версию Sonata Media (+ все требования), и она работает нормально. Сейчас я пытаюсь использовать файловый сервис amazon s3 для загрузки своих изображений и файлов. (Я работаю с wamp на localhost)

Это мой конфиг:

#...
sonata_media:
default_context: default
db_driver: doctrine_orm # or doctrine_mongodb, doctrine_phpcr it is mandatory to choose one here
default_context: default # you need to set a context
contexts:
default:  # the default context is mandatory
providers:
- sonata.media.provider.dailymotion
- sonata.media.provider.youtube
- sonata.media.provider.image
- sonata.media.provider.file

formats:
small: { width: 100 , quality: 70}
big:   { width: 500 , quality: 70}

cdn:
server:
path: http://mybucketname.s3-website-us-east-1.amazonaws.com
providers:
image:
filesystem: sonata.media.filesystem.s3
filesystem:
s3:
bucket: #MyBundlename
accessKey: #MyAccessKey
secretKey: #Mysecret key
region: s3-website-us-east-1.amazonaws.com
storage: standard
acl: public #I tried private too

Поэтому для моих ключей я попытался использовать ключи владельца и пользователя, созданные с разрешениями list + upload / Delete

это также моя политика Bucket

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybcucketname/*"}
]
}

И вот эта ошибка, которую я получаю, когда пытаюсь загрузить изображение с помощью медиа-пакета sonata:

Could not write the "default/0001/01/634f09dfda5705a8310c084a92f686ec33449960.png" key content.

Также это мой файл composer.json:

"php": ">=5.3.3",
"symfony/symfony": "2.6.*",
"doctrine/orm": "~2.2,>=2.2.3,<2.5",
"doctrine/dbal": "<2.5",
"doctrine/doctrine-bundle": "~1.2",
"twig/extensions": "~1.0",
"symfony/assetic-bundle": "~2.3",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~3.0,>=3.0.12",
"sensio/framework-extra-bundle": "~3.0,>=3.0.2",
"incenteev/composer-parameter-handler": "~2.0",
"sonata-project/core-bundle": "2.3.*@dev",
"sonata-project/intl-bundle": "2.2.*@dev",
"sonata-project/admin-bundle": "2.4.*@dev",
"sonata-project/doctrine-orm-admin-bundle": "2.4.*@dev",
"sonata-project/datagrid-bundle": "2.2.*@dev",
"sonata-project/classification-bundle": "dev-master",
"jms/serializer-bundle": "~0.13",
"sonata-project/easy-extends-bundle": "2.1.*@dev",
"sonata-project/media-bundle": "2.4.*@dev",
"aws/aws-sdk-php": "2.*"

Это Амазонка S3 журналы

" 403 AccessDenied 231 149653 16 - "

(остальная часть журнала верна, имя группы и пользователя)
Спасибо за помощь.
Йоан.

2

Решение

Я не знаю, является ли то, что я сделал, лучшим решением и безопасным, но:
— Я отредактировал политику ведра:

Старый :

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket/*"}
]

}

Новый :

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket/*"},
{
"Sid": "AddCannedAcl",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::XXXXXXXXXXXX:user/myuser"]
},
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"],
"Resource": [
"arn:aws:s3:::mybucket/*"],
"Condition": {
"StringEquals": {
"s3:x-amz-acl": [
"public-read"]
}
}
}
]
}

Где arn: aws: iam :: XXXXXXXXXXXX: user / myuser — это пользователь, которого вы создаете с разрешениями на загрузку / удаление списка.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]