gpt4 book ai didi

amazon-web-services - 服务帐户的 eks iam 角色不起作用

转载 作者:行者123 更新时间:2023-12-02 11:30:00 25 4
gpt4 key购买 nike

我正在尝试使用服务帐户的 iam 角色来保护自动调用程序。但我似乎错过了一些东西。我使用 terraform 来创建集群的精度很低。

我遵循了这些文档:

  • https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/
  • https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html

  • 所以我创建了一个不同于节点的角色,并将自动调用程序的策略应用于这个新角色。这部分是基本的,没有问题。

    我还激活了 terraform 中的 openid 提供程序:
    resource "aws_iam_openid_connect_provider" "example" {
    client_id_list = ["sts.amazonaws.com"]
    thumbprint_list = []
    url = aws_eks_cluster.eks.identity.0.oidc.0.issuer
    }

    没有问题,集群自己创建没有问题。

    不,我将注释添加到服务帐户以进行自动调用:
    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
    annotations:
    eks.amazonaws.com/role-arn: arn:aws:iam::ID:role/terraform-eks-autoscaller
    labels:
    k8s-addon: cluster-autoscaler.addons.k8s.io
    k8s-app: cluster-autoscaler
    name: cluster-autoscaler
    namespace: kube-system

    我的问题是它似乎不起作用,Pod 仍在尝试使用新的 IAM 角色,但仍在使用节点角色:
    Failed to create AWS Manager: cannot autodiscover ASGs: AccessDenied: User: arn:aws:sts::ID:assumed-role/terraform-eks-node/i-ID is not authorized to perform: autoscaling:DescribeTags

    有人知道我在这里错过了什么步骤吗?

    在此先感谢您的帮助 ;)

    最佳答案

    所以答案很简单。您的 OIDC 提供商配置缺少指纹。 Iam 的正常工作至关重要。
    通常,如果您在 AWS 控制台中创建 OIDC 提供程序,指纹会自动填充,但是当您通过 terraform 执行此操作时,情况并非如此。

    我也被这个问题吸引住了,所以我写了一篇关于这个的博客,你可以在这里找到:https://medium.com/@marcincuber/amazon-eks-with-oidc-provider-iam-roles-for-kubernetes-services-accounts-59015d15cb0c

    要解决您的问题,只需添加以下内容:

    9E99A48A9960B14926BB7F3B02E22DA2B0AB7280

    上面是散列的根 CA,它在另外 10 年以上都不会改变,并且在所有地区都是一样的。如何获得它,你可以阅读我在上面添加链接的博客。

    此外,请确保使用与您的 kubernetes 版本匹配的最新 autoscaler 版本。此外,尝试使用 fsGroup: 65534 添加安全上下文。这是使 OIDC 为某些应用程序正常工作的当前解决方法。

    关于amazon-web-services - 服务帐户的 eks iam 角色不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58507993/

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