Плагин Jenkins Cloudformation выдает ошибку InValid Client Id - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь запустить стек облачной информации с помощью плагина jenkins-cloudformation из шаблона, хранящегося в git, но я получаю сообщение об ошибке «Invalid Client Id», хотя я и предоставляю правильные access_key и secret_key.

Кроме того, соответствующая роль IAM присоединена к экземпляру ec2, на котором работает jenkins, и метаданные экземпляра доступны для пользователя jenkins.

И эта ошибка возникает независимо от того, передам ли я secretKey, accessKey в конфигурации jenkins или нет.

Может кто-нибудь подсказать мне, где идет ошибка.

Jenkins config

Ошибка

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

EDIT ---

Я могу создать стек, используя aws cli в том же экземпляре ec2 и с тем же пользователем.

1 Ответ

0 голосов
/ 18 февраля 2019

Журнал показывает, что ваша проблема связана с аутентификацией:

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, либо (что более вероятно) проблемой с ключами, которые вы предоставляете плагину.

Исходный код для плагина ( код ref ), тем временем, указывает, что плагин всегда пытается использовать предоставленные вами ключи доступа.Если вы оставите ключевые поля пустыми, я думаю, что в качестве ключей используются пустые строки.Таким образом, роль IAM, прикрепленная к экземпляру, вероятно, не имеет значения.

Обратите внимание, что полученная вами ошибка InvalidClientTokenId задокументирована здесь :

InvalidClientTokenId

Указанный сертификат X.509 или идентификатор ключа доступа AWS не существует в наших записях.

Код состояния HTTP: 403

СейчасВы упоминаете в своем обновлении, что:

Я могу создать стек, используя aws cli в том же экземпляре ec2 и с тем же пользователем.

Итак, во-первых,попробуйте это снова, а затем посмотрите в CloudTrail .Отфильтруйте по EventName = CreateStack, и вы увидите что-то вроде этого:

enter image description here

Это действительно один и тот же пользователь и ключ доступа?

Я подозреваю, что вы обнаружите, что это не так, и исправлением для вас будет предоставление правильных ключей доступа.Если нет, дайте мне знать, и мы рассмотрим другие возможности.

...