如何对 eks 执行跨 AWS 账户操作:DescribeCluster 操作

问题描述 投票:0回答:1

我在此用例中有 2 个 AWS 账户,

  • AWS 账户 A
  • AWS 账户 B

账户 A 是我的 EKS 集群所在的位置,我想从账户 B 访问该集群,特别是 API 服务器端点和证书数据,我可以通过 eks:DescribeCluster 操作获取这些数据。

具体来说,我的 lambda 在账户 B 中运行,并且必须从账户 A 中的 EKS 集群获取上述数据,为了实现这一目标,最好的解决方案是什么?

我采取的方法是执行链式 sts:AssumeRole 操作来实现上述目标,即账户 B Lambda 角色在账户 A 中承担一个角色(此角色 TrustPolicy 已更新以实现此目的)并且它有效,但是我想知道其他什么此用例可使用替代解决方案。

谢谢

amazon-web-services kubernetes amazon-iam amazon-eks
1个回答
0
投票

您需要为此创建跨账户策略:

允许承担 lambda 的角色:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::Account A:role/my-lambda-execution-role"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

对于你EKS:

{
    "Version": "2012-10-17",
    "Statement": {
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Resource": "arn:aws:iam::Account A:role/role-on-source-account"
    }
}

假设角色允许

 eks:DescribeCluster

此阅读更详细地解释了:https://repost.aws/knowledge-center/lambda-function-assume-iam-role。尝试 IAM 角色,直到获得所需的效果。

© www.soinside.com 2019 - 2024. All rights reserved.