如何指定自定义EKS创建角色或如何覆盖提供的角色?

2024-10-03 04:29:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用CDK和python创建EKS集群控制平面。当源代码合成时,它还会创建具有默认策略EKSClusterCreationRoleDefaultPolicy的角色EKSClusterCreationRole

这两个对象没有文档记录,我无法定义自己的对象或覆盖自动生成的对象

我为什么要这么做: 在我们的企业环境中,有一个控件,用于检查正在创建的每个IAM角色的权限,以便保持在给定的护栏内。因此,每个角色都必须引用特定的权限边界。所以我想更新这个“创建”角色,并提供对该权限边界的引用

我已经尝试在前面创建这两个对象,但它不起作用。堆栈始终尝试为这两个对象创建新副本(具有唯一编号/校验和)

仅供参考,我正在使用CDK版本1.85(最新版本),并通过群集资源(aws_EKS.Cluster)创建EKS控制平面

你知道怎么解决这个问题吗

合成角色的示例:

"EKSClusterCreationRoleB865C9E8": {
      "Type": "AWS::IAM::Role",
      "Properties": {
        "AssumeRolePolicyDocument": {
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Effect": "Allow",
              "Principal": {
                "AWS": {
                  "Fn::Join": [
                    "",
                    [
                      "arn:",
                      {
                        "Ref": "AWS::Partition"
                      },
                      ":iam::123456789012:root"
                    ]
                  ]
                }
              }
            }
          ],
          "Version": "2012-10-17"
        }
      },
      "Metadata": {
        "aws:cdk:path": "my-eks-cluster/EKSCluster/Resource/CreationRole/Resource"
      }
    },   
    "EKSClusterCreationRoleDefaultPolicy27A5F6BE": {
      "Type": "AWS::IAM::Policy",
      "Properties": {
        "PolicyDocument": {
          "Statement": [
            .....
            ]
         },
      "PolicyName": "EKSClusterCreationRoleDefaultPolicy27A5F6BE",
      "Roles": [
          {
            "Ref": "EKSClusterCreationRoleB865C9E8"
          }
        ]
      }

Tags: 对象版本aws权限角色typeproperties平面