Amazon EKS 連接器 IAM 角色 - Amazon EKS

協助改善此頁面

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

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

Amazon EKS 連接器 IAM 角色

您可以連接Kubernetes叢集,以便在 AWS Management Console. 若要連接至 Kubernetes 叢集,請建立 IAM 角色。

檢查是否有現有的 EKS 連接器角色

您可使用以下程序,檢查帳戶是否已有 Amazon EKS 連接器角色。

在 IAM 主控台中檢查 AmazonEKSConnectorAgentRole
  1. 前往 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

  2. 在左側導覽窗格中,選擇 Roles (角色)。

  3. 搜尋 AmazonEKSConnectorAgentRole 的角色清單。如果包含 AmazonEKSConnectorAgentRole 的角色不存在,請參閱 建立 Amazon EKS 連接器代理程式角色 以建立角色。如果包含 AmazonEKSConnectorAgentRole 的角色存在,請選取角色以檢視連接的政策。

  4. 選擇許可

  5. 請確定已將 AmazonEks ConnectorAgentPolicy 管理政策附加至該角色。如果已連接政策,則您的 Amazon EKS 連接器角色應已設定妥當。

  6. 選擇 Trust Relationships (信任關係),然後選擇 Edit trust policy (編輯信任政策)。

  7. 確認信任關係包含下列政策。如果信任關係符合下列政策,請選擇 Cancel (取消)。如果信任關係不符合,請將政策複製到 Edit trust policy (編輯信任政策) 視窗中,然後選擇 Update policy (更新政策)。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ssm.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

建立 Amazon EKS 連接器代理程式角色

您可以使用 AWS Management Console 或 AWS CloudFormation 來建立連接器代理程式角色。

AWS CLI
  1. 建立名為 eks-connector-agent-trust-policy.json 的檔案,其中包含用於 IAM 角色的下列 JSON。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ssm.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  2. 建立名為 eks-connector-agent-policy.json 的檔案,其中包含用於 IAM 角色的下列 JSON。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "SsmControlChannel", "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel" ], "Resource": "arn:aws:eks:*:*:cluster/*" }, { "Sid": "ssmDataplaneOperations", "Effect": "Allow", "Action": [ "ssmmessages:CreateDataChannel", "ssmmessages:OpenDataChannel", "ssmmessages:OpenControlChannel" ], "Resource": "*" } ] }
  3. 使用信任政策和您在先前清單項目中建立的政策,建立 Amazon EKS 連接器代理程式角色。

    aws iam create-role \ --role-name AmazonEKSConnectorAgentRole \ --assume-role-policy-document file://eks-connector-agent-trust-policy.json
  4. 將政策連接到 Amazon EKS 連接器代理程式角色。

    aws iam put-role-policy \ --role-name AmazonEKSConnectorAgentRole \ --policy-name AmazonEKSConnectorAgentPolicy \ --policy-document file://eks-connector-agent-policy.json
AWS CloudFormation
若要使用建立您的 Amazon EKS 連接器代理程式角色 AWS CloudFormation。
  1. 將以下 AWS CloudFormation 範本儲存到本機系統上的文字檔案中。

    注意

    此範本也會建立服務連結角色,否則會在呼叫 registerCluster API 時建立。如需詳細資訊,請參閱 使用角色將 Kubernetes 叢集連線至 Amazon EKS

    --- AWSTemplateFormatVersion: '2010-09-09' Description: 'Provisions necessary resources needed to register clusters in EKS' Parameters: {} Resources: EKSConnectorSLR: Type: AWS::IAM::ServiceLinkedRole Properties: AWSServiceName: eks-connector.amazonaws.com EKSConnectorAgentRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: [ 'sts:AssumeRole' ] Principal: Service: 'ssm.amazonaws.com' EKSConnectorAgentPolicy: Type: AWS::IAM::Policy Properties: PolicyName: EKSConnectorAgentPolicy Roles: - {Ref: 'EKSConnectorAgentRole'} PolicyDocument: Version: '2012-10-17' Statement: - Effect: 'Allow' Action: [ 'ssmmessages:CreateControlChannel' ] Resource: - Fn::Sub: 'arn:${AWS::Partition}:eks:*:*:cluster/*' - Effect: 'Allow' Action: [ 'ssmmessages:CreateDataChannel', 'ssmmessages:OpenDataChannel', 'ssmmessages:OpenControlChannel' ] Resource: "*" Outputs: EKSConnectorAgentRoleArn: Description: The agent role that EKS connector uses to communicate with AWS 服務. Value: !GetAtt EKSConnectorAgentRole.Arn
  2. 開啟主 AWS CloudFormation 控台,網址為 https://console.aws.amazon.com/cloudformation

  3. 選擇 Create stack (建立堆疊) (使用新資源或現有資源)。

  4. 針對 Specify template (指定範本),選擇 Upload a template file (上傳範本檔案),然後選擇 Choose file (選擇檔案)

  5. 選擇您剛建立的檔案,然後選擇 Next (下一步)

  6. 針對 Stack name (堆疊名稱),輸入您角色的名稱 (例如 eksConnectorAgentRole),然後選擇 Next (下一步)

  7. Configure stack options (設定堆疊選項) 頁面,選擇 Next (下一步)。

  8. Review (檢閱) 頁面上,檢閱您的資訊,確認該堆疊可能會建立 IAM 資源,並選擇 Create stack (建立堆疊)。