首页 > 解决方案 > 使用 Jenkins Pipeline 的 Terraform 代码中的 AWS 访问和密钥

问题描述

不是在 Terraform 代码的 variables.tf 中传递 Access 和 Secret 密钥,而是在部署 Jenkins Pipeline 时将密钥传递给代码的任何安全可靠的方法?管道将经常重新部署,并且每次都应传递密钥。

标签: amazon-web-servicesjenkins-pipelineterraformdevopsterraform-provider-aws

解决方案


首先,您需要在主机中存储一个默认凭据以执行一些 awscli。你可以这样做:

sh "mkdir -p ~/.aws"
sh "cd ~/.aws; rm -rf credentials"
sh "cd ~/.aws; cp credentials-default credentials

在您的 AWS IAM 部分中,您需要授予默认凭证权限以通过命令承担您需要的角色

aws sts assume-role ... > test.txt

在 test.txt 文件中是具有该会话的临时访问权限和密钥的凭据。

您可以参考此文档以获取上述选项:https ://docs.aws.amazon.com/es_es/cli/latest/reference/sts/assume-role.html


推荐阅读