我试图从存储在git中的模板中通过jenkins插件启动一个cloudformation堆栈,但是我收到了一个错误“无效的客户端Id”,即使我给出了正确的access_key和secret_key。
此外,还将一个适当的IAM角色附加到正在运行jenkins的ec2实例上,并使jenkins用户可以访问实例元数据。
无论我是否通过jenkins配置中的secretKey、accessKey,都会出现此错误。
有人能指点我哪里出问题了吗。

错误
Building in workspace /apps/jenkins/.jenkins/workspace/Cloudformation_Test
> /usr/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> /usr/bin/git config remote.origin.url https://xxxx.git # timeout=10
Fetching upstream changes from https://xxxx.git
> /usr/bin/git --version # timeout=10
using GIT_ASKPASS to set credentials Gitlab user webadmdeamon to perform CICD with Jenkins
> /usr/bin/git fetch --tags --progress https://xxx.get +refs/heads/*:refs/remotes/origin/*
> /usr/bin/git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> /usr/bin/git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 827b91075eb0ae5901b641a7588b9b5769ad2ce7 (refs/remotes/origin/master)
> /usr/bin/git config core.sparsecheckout # timeout=10
> /usr/bin/git checkout -f 827b91075eb0ae5901b641a7588b9b5769ad2ce7
Commit message: "Add new file"
> /usr/bin/git rev-list --no-walk 827b91075eb0ae5901b641a7588b9b5769ad2ce7 # timeout=10
Determining to create or update Cloud Formation stack: JenkinsCloudformationTest
Stack not found: JenkinsCloudformationTest. Reason: Detailed Message: The security token included in the request is invalid. (Service: AmazonCloudFormation; Status Code: 403; Error Code: InvalidClientTokenId; Request ID: be71618c-3027-11e9-8d00-45421bf87ce0)
Status Code: 403
Error Code: InvalidClientTokenId
Creating Cloud Formation stack: JenkinsCloudformationTest
Failed to create stack: JenkinsCloudformationTest. Reason: Detailed Message: The security token included in the request is invalid. (Service: AmazonCloudFormation; Status Code: 403; Error Code: InvalidClientTokenId; Request ID: be73364d-3027-11e9-8d00-45421bf87ce0)
Status Code: 403
Error Code: InvalidClientTokenId
Finished: FAILURE编辑--
我能够在同一个ec2实例和同一个用户中使用aws创建一个堆栈。
发布于 2019-02-18 08:19:35
日志显示您的问题与身份验证相关:
Reason: Detailed Message: The security token included in the request is invalid.
(Service: AmazonCloudFormation; Status Code: 403; Error Code: InvalidClientTokenId; Request
ID: be71618c-3027-11e9-8d00-45421bf87ce0)
Status Code: 403
Error Code: InvalidClientTokenId问题可能是Jenkins插件中的一个bug,或者(更可能)是您提供给插件的键出现了问题。
同时,插件(代码参考)的源代码似乎表明插件总是尝试使用您提供的访问键。如果您将键字段保留为空白,我猜它会尝试空字符串作为键。因此,附加到实例的IAM角色可能与此无关。
请注意,您收到的InvalidClientTokenId错误已记录为这里。
InvalidClientTokenId 我们的记录中不存在提供的X.509证书或AWS访问密钥ID。 HTTP状态代码: 403
现在,您在更新中提到:
我能够在同一个ec2实例和同一个用户中使用aws创建一个堆栈。
所以,首先,再试一次,然后看看CloudTrail。通过EventName=CreateStack进行过滤,然后您将看到如下内容:

它真的是同一个用户和访问密钥吗?
我怀疑你会发现它不是,而你的解决办法将是提供正确的访问密钥。如果没有,请告诉我,我们可以考虑其他可能性。
https://stackoverflow.com/questions/54685071
复制相似问题