gpt4 book ai didi

amazon-web-services - 如何确定使用 AWS Terraform 资源所需的 AWS IAM 策略权限?

转载 作者:行者123 更新时间:2023-12-05 04:57:51 34 4
gpt4 key购买 nike

我需要准确确定创建、更新和删除我们的一些 Terraform 模板使用的多个 Terraform AWS 资源所需的最低 AWS IAM 权限。这样我们就可以提供客户运行我们的 Terraform 模板所需的确切权限列表。

我的普通 AWS 用户是完全管理员,因此访问顾问对跟踪此任务帮助不大。我不想创建一个没有权限的新用户并逐渐添加更多用户直到我可以运行 terraform,我想知道是否有更好的方法来找到所需的要求?

是否有在线 AWS 资源详细说明对特定资源类型运行 CRUD 操作所需的最低限度权限? terraform 中是否有显示此内容的文档?当我对用户应用一般 * 管理规则时,有没有办法让访问顾问显示操作中使用的特定权限?

作为引用,这里是我需要查找权限信息的 Terraform 资源列表:

aws_vpc
aws_iam_instance_profile
aws_iam_policy
aws_iam_role
aws_iam_role_policy_attachment
aws_eip
aws_instance
aws_lb_target_group_attachment
aws_network_interface
aws_security_group
aws_internet_gateway
aws_lb
aws_lb_listener
aws_lb_target_group
aws_route
aws_route
aws_route_table_association
aws_subnet
aws_autoscaling_group
aws_launch_configuration

最佳答案

aws 提供商是开源的。您可以转到插件并查看 golang 代码并查看进行了哪些 SDK 调用。这些对应于 aws iam 权限操作。

对于 aws_vpc : https://github.com/terraform-providers/terraform-provider-aws/tree/master/aws/resource_aws_vpc.go

这很乏味,但我不认为存在这样的编译列表。但这是查看正在进行的调用的非常明确的方法。随着提供商的更新,它可能需要维护。

此外,提供者本身可能使用的调用也可能包含在源代码中。

这并不一定像听起来那么费力。我看到他们在整个文件中给客户端 session 的名称是 conn .所有操作都将作为该结构上的方法进行访问。所以我快速搜索了所有 conn. .然后我使用 vscode 的 cmd+shift_l 热键来多选它的所有实例。然后我使用 cmd+alt+右箭头。选择所有出现的 conn.<method> .

然后我粘贴到一个新文件中。使用 vscode 插件删除非唯一行。然后我排序,只是因为我想。我得到:

conn.AssociateVpcCidrBlock
conn.CreateVpc
conn.DeleteVpc
conn.DescribeNetworkAcls
conn.DescribeRouteTables
conn.DescribeSecurityGroups
conn.DescribeVpcAttribute
conn.DescribeVpcClassicLink
conn.DescribeVpcClassicLinkDnsSupport
conn.DescribeVpcs
conn.DisableVpcClassicLink
conn.DisableVpcClassicLinkDnsSupport
conn.DisassociateVpcCidrBlock
conn.EnableVpcClassicLink
conn.EnableVpcClassicLinkDnsSupport
conn.ModifyVpcAttribute
conn.ModifyVpcTenancy

正如我所提到的,提供商可能拥有一些它需要的基本权限。我去了provider_test.go文件并重复该方法以找到这些权限。所以这些 Action 也应该加上。

conn.DescribeOrganization
conn.DescribeAccountAttributes
conn.DescribeSubnets

如果你使用 cloudtrail 日志,你最好调用每个资源的 CRUD 生命周期的每个阶段,你可能没问题。

关于amazon-web-services - 如何确定使用 AWS Terraform 资源所需的 AWS IAM 策略权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64286057/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com