故障診斷 IAM - Amazon EKS

協助改善此頁面

想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 GitHub。您的貢獻將幫助我們的使用者指南更適合所有人。

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

故障診斷 IAM

本主題涵蓋使用 Amazon 時,您可能會看到的一些常見錯誤,EKSIAM以及如何解決這些錯誤。

AccessDeniedException

如果您在呼叫 AWS API 操作AccessDeniedException時收到 ,則您正在使用IAM的主要憑證沒有進行該呼叫所需的許可。

An error occurred (AccessDeniedException) when calling the DescribeCluster operation: User: arn:aws:iam::111122223333:user/user_name is not authorized to perform: eks:DescribeCluster on resource: arn:aws:eks:region:111122223333:cluster/my-cluster

在先前的範例訊息中,使用者沒有呼叫 Amazon EKSDescribeClusterAPI操作的許可。若要提供 Amazon EKS 管理員許可給IAM委託人,請參閱 Amazon EKS 基於身份的政策示例

如需 的一般資訊IAM,請參閱 IAM 使用者指南 中的使用政策控制存取權

您無法在 Compute (運算) 標籤上看見 Nodes (節點),或是在 Resources (資源) 標籤上看見任何內容,並收到 AWS Management Console錯誤。

您可能會看到內容為 Your current user or role does not have access to Kubernetes objects on this EKS cluster 的主控台錯誤訊息。請確定您使用 AWS Management Console 的主要IAM使用者具有必要的許可。如需詳細資訊,請參閱所需的許可

aws-auth ConfigMap 不會授予對叢集的存取權限

AWS IAM 驗證器不允許在 ARN中使用的角色中使用路徑ConfigMap。因此,在您指定 rolearn 之前,請移除該路徑。例如,請將 arn:aws:iam::111122223333:role/team/developers/eks-admin 變更為 arn:aws:iam::111122223333:role/eks-admin

我無權執行 iam:PassRole

如果您收到錯誤,表示您無權執行iam:PassRole動作,則必須更新您的政策,才能將角色傳遞給 Amazon EKS。

有些 AWS 服務 允許您將現有角色傳遞給該服務,而不是建立新的服務角色或服務連結角色。如需執行此作業,您必須擁有將角色傳遞至該服務的許可。

當名為 marymajor IAM的使用者嘗試使用主控台在 Amazon 中執行動作時,會發生下列錯誤範例EKS。但是,動作請求服務具備服務角色授予的許可。Mary 沒有將角色傳遞至該服務的許可。

User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole

在這種情況下,Mary 的政策必須更新,允許她執行 iam:PassRole 動作。

如果您需要協助,請聯絡您的 AWS 管理員。您的管理員提供您的簽署憑證。

我想要允許 AWS 帳戶外的人員存取我的 Amazon EKS 資源

您可以建立一個角色,讓其他帳戶中的使用者或您組織外部的人員存取您的資源。您可以指定要允許哪些信任物件取得該角色。對於支援資源型政策或存取控制清單 (ACLs) 的服務,您可以使用這些政策來授予人員對資源的存取權。

如需進一步了解,請參閱以下內容:

Pod 容器會接收到下列錯誤:An error occurred (SignatureDoesNotMatch) when calling the GetCallerIdentity operation: Credential should be scoped to a valid region

如果您的應用程式明確向 AWS STS 全域端點 (https://sts.amazonaws) 和您的 Kubernetes 服務帳戶設定為使用區域端點。您可以使用下列其中一種選項來解決此問題:

  • 更新您的應用程式程式碼,以移除全域 AWS STS 端點的明確呼叫。

  • 更新應用程式的程式碼以明確呼叫區域端點,例如 https://sts.us-west-2.amazonaws.com。應用程式應具有內建備援,以便在該 AWS 區域的服務發生故障時選擇不同的 AWS 區域 。如需詳細資訊,請參閱 IAM 使用者指南中的AWS STS 管理 AWS 區域

  • 將服務帳戶設定為使用全域端點。1.22 版以前的所有版本依預設使用全域端點,但版本 1.22 和更新版本的叢集依預設使用區域端點。如需詳細資訊,請參閱設定服務帳戶的 AWS Security Token Service 端點