2018年6月18日月曜日

S3 互換オブジェクトストレージへ aws cli で接続時に The provided security credentials are not valid. エラー

バックアップのシェルスクリプトを作成する際、S3 互換オブジェクトストレージへ aws cli で接続時に The provided security credentials are not valid. エラーが出て嵌った・・・

AWS_ACCESS_KEY_ID=access_key AWS_SECRET_ACCESS_KEY=secret_key aws s3 --endpoint-url=https://endpoint.example.com ls s3://test_bucket


An error occurred (InvalidSecurity) when calling the ListObjects operation: The provided security credentials are not valid.

対象のオブジェクトストレージは署名バージョンが v2 までしか対応していないが、aws コマンドのデフォルトの署名バージョンは v4 になったらしい。
今回、バックアップスクリプト用のため、~/.aws 以下でなく別に設定ファイルを設けて設定する。プロファイルを分けてもいいのだが。
default.s3.signature_version に s3 を設定する。v4 の場合、s3v4 となる。

AWS_CONFIG_FILE=/opt/backup/.awscfg aws s3 configure set default.s3.signature_version s3

/opt/backup/.awscfg
[default]

s3 =
  signature_version = s3
signature_version の前にスペースがあるがこれは必要。

AWS_CONFIG_FILE=/opt/backup/.awscfg AWS_ACCESS_KEY_ID=access_key AWS_SECRET_ACCESS_KEY=secret_key aws s3 --endpoint-url=https://endpoint.example.com ls s3://test_bucket

2018-06-18 04:05:05          0 a.txt

無事接続

0 件のコメント:

コメントを投稿