1

何らかの理由で、Packer は AWS への認証に失敗しますが、プレーンな aws クライアントを使用しても機能し、環境変数が正しく設定されています。

AWS_ROLE_SESSION_NAME=...
AWS_SESSION_TOKEN=...
AWS_SECRET_ACCESS_KEY=...
AWS_ROLE=...
AWS_ACCESS_KEY_ID=...
AWS_CLI=...
AWS_ACCOUNT=...
AWS_SECURITY_TOKEN=...

aws saml を使用した認証を使用していますが、Packer は次のように表示します。

Error querying AMI: AWS was not able to validate the provided access credentials (AuthFailure)
4

1 に答える 1

2

問題は、Packer が AWS で認証する方法にあります。

Packer は go で書かれており、認証には goamz を使用します。aws saml を使用して設定を作成すると、 ~/.aws にいくつかのファイルが生成されます: config と credentials.

この資格情報ファイルは環境変数よりも優先されることが判明したため、これらの資格情報が正しくなく、環境変数に依存している場合、同じエラーが発生します。

aws-saml には aws_access_key_id と aws_secret_access_key を定義する必要があるため、この場合、資格情報ファイルを削除しても十分ではありません。

これらの値を ~/.aws/config にコピーし、資格情報ファイルを削除する必要がありました。その後、Packer は環境変数を喜んで使用しました。

AWS CLI と Packer が同じ認証動作を持つことができるように、goamz の github でチケットが作成されました。問題がある場合は、お気軽に投票してください。

于 2014-12-11T22:55:45.720 に答える