amazon-web-services - 在 Azure DevOps 上使用 Terraform 部署到 AWS 时的 AssumeRole
问题描述
我需要一个 Azure DevOps 管道来运行一些 terraform(现在,只是为了让它工作!)在 AWS 中构建一个 S3 存储桶。这本身就非常简单——除了服务帐户首先需要承担特定角色才能获得必要的权限。有一个 AWS Toolkit for Azure DevOps 扩展,您可以在其中创建一个 AWS 服务连接并赋予其承担的角色 - 但您不能在 Terraform 扩展中选择这种类型的服务连接,它似乎只允许简单的客户端 ID/帐户配置的秘密类型。
有人有这方面的成功案例吗?
解决方案
我正在回答我自己的问题,希望它可以帮助那些也在为此苦苦挣扎的人!事实证明它实际上非常简单,我有点希望我没有花一天时间来弄清楚。
因此,经过一番挖掘(以及对 Terraform 和提供程序如何工作的更多了解),我发现您可以这样做:
provider "aws" {
region = var.region
assume_role {
role_arn = var.assumed_role
}
}
你把它扔到你的 terraform main 中,它会直接承担角色 - 只需将它存储为管道变量并在运行时传递它。
推荐阅读
- jpa-2.0 - 使用连接继承表时连接子表 [谓词]
- python - Kivy 标签文本开始更新太晚
- html - chrome 79 更新后页面被切断
- c++ - 将二进制转换为十进制我如何要求用户只输入二进制
- html - 将 2 个项目并排放置流体/响应(未知宽度)
- controller - 使用 clear() 方法清除 TextEditingController 会将焦点重新放在文本字段上
- typo3 - TYPO3 父母关系互惠
- r - 用 tidyverse 聚合大表
- flutter - 标签内容增加时如何使页面可滚动
- diff - Gerrit:对于所有用户,是否有忽略差异中的空白更改的设置?