【问题标题】:How to attach CloudWatchLogsFullAccess to the IAM role of EKS EC2 instance如何将 CloudWatchLogsFullAccess 附加到 EKS EC2 实例的 IAM 角色
【发布时间】:2021-07-24 06:02:58
【问题描述】:

我使用模块 terraform-aws-modules/eks/aws 提供 EKS。默认情况下,该模块为 EKS EC2 IAM 角色预置三个策略:AmazonEKSWorkerNodePolicy、AmazonEC2ContainerRegistryReadOnly 和 AmazonEKS_CNI_Policy。我想将附加策略 CloudWatchLogsFullAccess 附加到 IAM 角色。我读了文档。我没有找到附加它的方法。我必须登录 AWS 控制台,手动将 CloudWatchLogsFullAccess 附加到 IAM 角色。当我使用此 EKS 模块配置 EKS 时,有没有办法使用 terraform 代码附加它?

我在下面添加了代码。

resource "aws_iam_role_policy_attachment" "cloudWatch" {
  role       = module.eks.cluster_iam_role_arn
  policy_arn = "arn:aws:iam::aws:policy/CloudWatchLogsFullAccess"
}

但是,它抱怨“角色名称的指定值无效”。 错误:将策略 arn:aws:iam::aws:policy/CloudWatchLogsFullAccess 附加到 IAM 角色 arn:aws:iam::678515134618:role/my-eks20210303061731134400000005 时出错:ValidationError:指定的角色名称值无效。它必须只包含字母数字字符和/或以下字符:+=,.@_- 状态码:400,请求ID:aee57a35-ae72-499e-8653-e61e795818e4

【问题讨论】:

    标签: amazon-web-services terraform amazon-iam amazon-eks


    【解决方案1】:

    创建 eks 集群后,您可以从其输出中获取 cluster_iam_role_arn_。拥有 ARN,您可以使用 aws_iam_role_policy_attachment 向其附加额外的策略:

    resource "aws_iam_role_policy_attachment" "test-attach" {
      role       = module.myeks.cluster_iam_role_arn
      policy_arn = "arn:aws:iam::aws:policy/CloudWatchLogsFullAccess"
    }
    

    【讨论】:

    • 我根据您的 cmets 添加了资源。请参阅我上面粘贴的代码。但是,我得到了错误。错误:将策略 arn:aws:iam::aws:policy/CloudWatchLogsFullAccess 附加到 IAM 角色 arn:aws:iam::678515134618:role/my-eks20210303061731134400000005 时出错:ValidationError:指定的角色名称值无效。它必须仅包含字母数字字符和/或以下字符:+=,.@_- 状态代码:400,请求 ID:aee57a35-ae72-499e-8653-e61e795818e4。我做错了什么?
    • @MelissaJenner 角色名称似乎包含一些无效字符。
    猜你喜欢
    • 2020-09-02
    • 2019-08-23
    • 2021-03-01
    • 2021-03-16
    • 2022-01-13
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 2019-12-17
    相关资源
    最近更新 更多