簡體   English   中英

使 AWS 組能夠訪問 AWS EKS 集群

[英]Enabling AWS Group to access AWS EKS cluster

這個問題本質上是在 AWS EKS 中將 IAM 組添加到 aws-auth configmap的副本。 但是,這個問題沒有公認的答案,我想提供更多背景信息。

我知道aws-auth ConfigMap object 不允許直接映射 AWS 組。 一種解決方法是將 map 改為 AWS 角色。 我試過了,但無法讓它工作。 映射 AWS 用戶可以正常工作。

我將賬戶027755483893的 AWS 角色arn:aws:iam::027755483893:role/development-readwrite設置為受信任實體,並附加了以下信任策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::027755483893:root"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

我設置了一個 AWS 組arn:aws:iam::027755483893:group/development-readwrite並附加了以下策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": [
                "arn:aws:iam::027755483893:role/development-readwrite"
            ]
        }
    ]
}

我設置aws-auth ConfigMap 如下:

apiVersion: v1
data:
  mapRoles: |
    # Other mappings omitted for clarity
    - groups:
      - system:masters
      rolearn: arn:aws:iam::027755483893:role/development-readwrite
  mapUsers: |
    []
kind: ConfigMap
metadata:
  creationTimestamp: "2019-08-21T08:25:15Z"
  name: aws-auth
  namespace: kube-system
  resourceVersion: "62031092"
  selfLink: /api/v1/namespaces/kube-system/configmaps/aws-auth
  uid: 33b33620-c3ed-11e9-83c0-029bc9dcca16

但是,組中的任何用戶都無權訪問集群。 用戶是否需要明確承擔角色? 還有什么我想念的嗎?

在這種情況下,用戶確實需要明確承擔角色。 用戶可以擔任該角色這一事實不足以讓他們實際訪問集群。

一種可以為您的用戶簡化它的方法是使用aws get token call 創建一個 kubeconfig 這允許您指定要為集群承擔的角色的 role_arn。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM