疑難排 IAM - Amazon EKS

協助改善此頁面

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

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

疑難排 IAM

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

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 EKS DescribeCluster API 作業的權限。若IAM要向主體提供 Amazon EKS 管理員許可,請參閱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 的主控台錯誤訊息。請確定您使用的IAM主要使用者具 AWS Management Console 有必要的權限。如需詳細資訊,請參閱所需的許可

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 服務 允許您將現有角色傳遞給該服務,而不是建立新的服務角色或服務連結角色。如需執行此作業,您必須擁有將角色傳遞至該服務的許可。

當名為的使用IAM者marymajor嘗試使用主控台在 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

如果您的應用程式明確向全域端點 (https://sts.amazonaws) 發出要求,且您的Kubernetes服務帳戶設定為使用區 AWS STS 域端點,則您的容器會收到此錯誤。您可以使用下列其中一種選項來解決此問題:

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

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

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