

 **協助改進此頁面** 

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

若要為本使用者指南貢獻內容，請點選每個頁面右側面板中的**在 GitHub 上編輯此頁面**連結。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將其他 Kubernetes RBAC 授予 EKS Auto Mode 受管控制器
<a name="auto-managed-rbac"></a>

Amazon EKS Auto Mode 會代表您管理下列控制器：負載平衡、聯網、運算、區塊儲存和叢集洞察。這些控制器會在 EKS 控制平面上執行。它們會驗證叢集做為`AWSServiceRoleForAmazonEKS`服務連結角色，其叢集內許可來自連接到該存取項目的 AWS 受管存取政策。

您可以自行擴充受管控制器的 Kubernetes RBAC。當受管政策尚未授予必要的許可時，這會很有用，例如在特定 `get`上`Secret`。

在 Amazon EKS Auto Mode 叢集上， 的自動建立存取項目`AWSServiceRoleForAmazonEKS`也會宣告 Kubernetes 群組 `eks:managed`。Kubernetes RBAC 是附加項目。`RoleBinding` （或 `ClusterRoleBinding`)，其`subjects:`名稱為 `eks:managed`群組在受管存取政策之上授予受管控制器額外許可。

## 運作方式
<a name="_how_it_works"></a>
+ EKS Auto Mode 受管控制器會以服務連結角色 的形式連接至您的叢集`AWSServiceRoleForAmazonEKS`。
+ 該角色的自動建立存取項目宣告 `kubernetesGroups: ["eks:managed"]`。
+ 您撰寫描述其他許可的 `Role`（命名空間） 或 `ClusterRole`（全叢集），以及 `eks:managed` 群組`ClusterRoleBinding``subjects:`名稱的 `RoleBinding` /。
+ Kubernetes RBAC 結合了您的繫結與受管存取政策，因此受管控制器會收到兩組許可。

若要確認群組存在，請執行：

```
CLUSTER=<your-cluster>
REGION=<your-region>
ACCT=$(aws sts get-caller-identity --query Account --output text)

aws eks describe-access-entry \
  --cluster-name "$CLUSTER" --region "$REGION" \
  --principal-arn "arn:aws:iam::${ACCT}:role/aws-service-role/eks.amazonaws.com/AWSServiceRoleForAmazonEKS" \
  --query 'accessEntry.kubernetesGroups'
```

預期的輸出結果：

```
[
    "eks:managed"
]
```

## 嚴格限制授予的範圍
<a name="_scope_the_grant_tightly"></a>

`eks:managed` 群組會套用至所有 EKS Auto Mode 受管控制器。根據您的使用案例允許的範圍縮小額外授予的範圍，因此您只公開受管控制器所需的內容：
+ 偏好 `Role`\+`RoleBinding` （命名空間） 而不是 `ClusterRole`\+`ClusterRoleBinding` （全叢集）。
+ 將 `resources`、 `resourceNames`和 限制`verbs`為解除封鎖使用案例的最小集合。例如，`get`在名為 的單一 上授予 `Secret`，而不是在所有`Secret`物件`list, watch`上授予 。
+ 刪除不再需要的 `Role`和 `RoleBinding` 。

## Amazon EKS 自動模式的考量事項
<a name="_considerations_for_amazon_eks_auto_mode"></a>
+ 此機制只會擴展 EKS Auto Mode 受管控制器的 Kubernetes RBAC。它不會變更受管存取政策授予的 AWS IAM 許可。
+ `eks:managed` 群組存在於服務連結角色為 的 EKS Auto Mode 叢集上`AWSServiceRoleForAmazonEKS`。
+ 與 的繫結`eks:managed`適用於每個 EKS Auto Mode 受管控制器。若要保持實際的爆量半徑較小，請使用 `resourceNames`和命名空間`Role`物件。這只會公開您命名的資源，而且只會透過您授予的動詞。
+ 這是橋接模式，適用於受管存取政策尚未涵蓋您所需許可的情況。如果 AWS 受管政策已涵蓋 許可，請改用 受管政策。

## 範例
<a name="_example"></a>

如需在名為 OIDC `get`上授予 EKS Auto Mode 負載平衡器控制器step-by-step演練`Secret`，請取消封鎖 ALB 上的`alb.ingress.kubernetes.io/auth-type: oidc`註釋`Ingress`，請參閱 [授予 EKS Auto Mode 負載平衡器控制器對特定 Secret 的存取權](auto-managed-rbac-example.md)。