S3 S3EncryptionClient AWS SDK для PHP: ошибка при получении учетных данных с сервера метаданных профиля экземпляра - PullRequest
0 голосов
/ 28 декабря 2018

Для подключения я использую Использовать профиль по умолчанию для файла общих учетных данных AWS.У меня есть .aws / учетные данные настройки, содержащие aws_access_key_id aws_secret_access_key.Это прекрасно работает для подключения с локального хоста на S3 с использованием S3Client.

Однако я хочу выполнить шифрование / дешифрование на стороне клиента с помощью S3EncryptionClient, и здесь начинаются проблемы.Использование PHP 3.6 и aws-sdk-php 3.5.Мне пришлось вручную устанавливать каталоги Crypto, поскольку по какой-то причине их не получал композитор, хотя, насколько я понимаю, в v3.38 была добавлена ​​поддержка.

putObject после Клиентское шифрование на стороне клиента S3 с помощьюПример AWS SDK для PHP версии 3 завершается с ошибкой «Ошибка при получении учетных данных с сервера метаданных профиля экземпляра».Я использую одного и того же пользователя, ключ, секрет в обоих случаях при использовании S3Client или при использовании S3EncryptionClient.Я предполагаю, что KmsMaterialsProvider не требует указания 'credentials' => $ провайдера, но я тоже это пробовал.

Редактировать: пробовал то же самое в IAM Policy Simulator.Возможно, политика настроена неправильно.Но не совсем уверен, что требуется.Перепробовал кучу разных вариаций безуспешно.Продолжайте получать «отказано Неявно отказано (нет подходящих утверждений)».для таких действий, как: Encrypt, Decrypt, даже если в политике есть эти действия.Проблема в том, что я делаю это с моей локальной машины?Но тогда я бы подумал, что он не будет таким же образом для незашифрованной записи / чтения.

1 Ответ

0 голосов
/ 29 декабря 2018

Понял это, на случай, если кто-то столкнется с той же проблемой, как и, по крайней мере, несколько человек без ответа.Создание KmsClient в среде разработчика (localhost) необходимо для указания 'credentials' => $ provider, даже если оно уже указано для S3EncryptionClient.Также убедитесь, что политика разрешений настроена для ключа и службы KMS.

...