我对 terraform 非常陌生,正在寻求建议。
我们有一个用例来使用相同的提供者但具有不同的访问级别来维护和部署资源。意义
- 创建 ABC 资源(需要账户管理员权限)
- 创建 XYZ 资源(它需要比帐户管理员更低的权限)
我所有的资源都维护在一个 repo 子目录中,但我们可以使用不同的访问级别独立部署资源。
最佳答案
通常您会在每次使用登录时实例化一个提供程序。您可以使用相同的提供程序库,但在您的 terraform 中您将分别引用它们:
provider "aws" {
profile = "limited-access-profile"
}
provider "aws" {
alias = "admin"
profile = "high-access-profile"
}
resource "aws_s3_bucket" {
//This bucket is created with minimal access
...
}
resource "aws_s3_bucket" {
//This bucket is created with high access
provider = aws.admin
...
}
这种多提供者模式最常用于跨账户访问,尽管您的用例是可行的。
一种更常见的模式是在高访问级别运行 terraform 以创建和添加资源权限,然后让其他任务和脚本在低访问级别更新这些资源。
关于terraform - 是否可以部署具有不同访问级别的 terraform 资源,如果可以,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69498050/