AWS Key和Scret在AWS CLI上工作,但在Jenkins上工作
我正在尝试运行python脚本,该脚本具有使用boto3 sdk访问s3的代码。我已经在Windows计算机中创建了默认配置文件。
- 在窗口cmd中,aws cli命令可以正常工作以访问s3存储桶。
- 在window cmd中手动启动时,python脚本也可以正常工作
我正在尝试通过詹金斯自动化。它失败并抱怨令牌无效。
为了进行测试,我在詹金斯工作中执行了以下命令。
aws sts get-caller-identity --debug
ClientError:调用GetCallerIdentity操作时发生错误(InvalidClientTokenId):请求中包含的安全令牌无效2019-06-17
18:09:06,513-MainThread-awscli.clidriver-DEBUG-使用rc 255退出
调用GetCallerIdentity操作时发生错误(InvalidClientTokenId):请求中包含的安全令牌无效生成步骤“执行Windows批处理命令”将生成标记为失败
我尝试了以下
注入AWS_SECRET_ACCESS_KEY,AWS_SESSION_TOKEN和AWS_ACCESS_KEY_ID,但没有成功。
在jenkins中添加了S3配置文件插件,并尝试了IAM角色选项以及提供访问令牌和密码的功能。
它不起作用。
我观察到jenkins正在系统用户上运行,但是我已经在窗口用户中创建了配置文件。这是问题吗?
回答:
问题是与运行jenkins的USERPROFILE有关。
未加载默认用户配置文件凭据,因为配置是针对本地用户而非系统用户完成的。
在SYSTEM USER Jenkins下添加.credentials效果很好。
以上是 AWS Key和Scret在AWS CLI上工作,但在Jenkins上工作 的全部内容, 来源链接: utcz.com/qa/400301.html