当前位置: 首页 > 知识库问答 >
问题:

为什么我的IAM政策没有使用地形附加到我的IAM角色上?

呼延英奕
2023-03-14

我们Terraform部署的一部分应该创建一个策略和一个角色,然后将一个角色附加到另一个角色上。

我们目前的工作队是:

resource "aws_iam_role" "module_role" {
  name = var.lambda_role
  assume_role_policy = var.lambda_trust
  tags = var.tags
}

resource "aws_iam_policy" "sample_policy" {
  name = var.lambda_role
  description = var.lambda_policy_description
  policy = var.lambda_policy
}

resource "aws_iam_role_policy_attachment" "lambda_attach" {
  role       = aws_iam_role.module_role.name
  policy_arn = aws_iam_policy.sample_policy.arn
}

显然,vars是从另一个文件传入的。整个模块是从父级调用的。

当我们的管道运行时,它会创建策略和角色,并在没有错误的情况下完成。但是,当我通过aws控制台检查策略时,我发现角色和策略没有附加。有人知道为什么吗?

我确实从文档中注意到,此资源(aws_iam_role_policy_attachment)用于将托管IAM策略附加到IAM角色。我们的政策不是有管理的。但是我在terraform注册表中找不到用于客户管理策略的aws资源的其他资源。

多谢

共有1个答案

姚宪
2023-03-14

据我所知,iam_策略在policy字段中采用字符串或json值。也许你可以试试这样:

resource "aws_iam_policy" "sample_policy" {
  name = "${var.lambda_role}_policy"
  description = var.lambda_policy_description
  policy = var.lambda_policy.json
}
 类似资料:
  • 我想做什么(继续我之前问过的一个问题:如何通过PowerShell中的IAM角色过滤AWS实例,并获取该实例的私有IP地址?)获取具有特定IAM角色的实例的专用ip地址。我有一个完美的代码: 但是,现在我想创建一个IAM策略来限制用户只能获取具有特定IAM角色的实例的信息,而不是在代码中进行筛选。因此,如果他们试图(例如),它应该只返回有关实例的信息,而不是帐户中的所有实例。 这是我的IAM政策,

  • 我使用模块,地形aws模块/eks/aws规定eks。默认情况下,模块为EKS EC2 IAM角色提供三种策略:AmazonEKSWorkerNodePolicy、AmazonEC2ContainerRegistryReadOnly和AmazonEKS_CNI_策略。我想附加一个附加的策略,CloudWatchLogsFullAccess到IAM角色。我看了医生。我没有找到连接它的方法。我必须登录

  • 我正在尝试按照本指南将消息从未加密的SNS主题传递到加密的SQS队列。我能够完成“为AWS服务配置KMS权限”步骤,但在“为生产者配置KMS权限”步骤中遇到了问题。我已经创建了IAM角色,但是将这个角色附加到我的SNS主题是我特别困惑的地方。以下是我自己的研究无法回答的一些问题: IAM角色是否可以附加到特定项目(SNS主题、SQS队列等)?如果没有,还有什么其他方法可以授予特定项目的权限 当说明

  • 我正尝试使用IAM角色从spark读取s3桶中的csv文件,但在上获得 我安装了没有hadoop的Spark 2.4.4,安装了hadoop 3.2.1以及hadoop-aws-3.2.1.jar和aws-java-sdk-1.11.655.jar。我必须安装一个没有hadoop的spark版本,因为作为spark构建一部分的hadoop jars是来自2016年的2.7.3版本。 附加到角色的“

  • 我已经读了很多文档,看了很多视频,但是我对IAM角色和Bucket策略仍然很困惑。让我困惑的是: 1)我创建了一个Bucket。那时我可以将它公有或私有。如果我将它公有,那么任何人或任何应用程序都可以“看到”Bucket中的对象。我认为可以将权限设置为添加/删除/获取/列出Bucket中的对象。如果是这样,那么为什么我需要为S3 Bucket添加任何IAM角色,或者添加任何Bucket策略(???

  • 我试图根据在OAuth2凭证中设置的角色来限制Spring boot服务上的特定endpoint。 这是endpoint 然后使用SecurityConfiguration bean对其进行保护 我调试了委托人,可以在属性列表中看到正确的 IAM 列表 然而,当我点击endpoint时,我得到一个HTTP 403未授权。这意味着用户已经成功地通过了身份验证,但是Spring不能识别或理解属性或者如