協助改善此頁面
想要為此使用者指南做出貢獻嗎? 捲動至此頁面底部,然後選取 [編輯此頁面於] GitHub。您的貢獻將有助於使我們的用戶指南更適合所有人。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon EKS 連接器 IAM 角色
您可以連接Kubernetes叢集,以便在 AWS Management Console. 若要連接至 Kubernetes 叢集,請建立 IAM 角色。
檢查是否有現有的 EKS 連接器角色
您可使用以下程序,檢查帳戶是否已有 Amazon EKS 連接器角色。
在 IAM 主控台中檢查 AmazonEKSConnectorAgentRole
前往 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。
-
在左側導覽窗格中,選擇 Roles (角色)。
-
搜尋 AmazonEKSConnectorAgentRole
的角色清單。如果包含 AmazonEKSConnectorAgentRole
的角色不存在,請參閱 建立 Amazon EKS 連接器代理程式角色 以建立角色。如果包含 AmazonEKSConnectorAgentRole
的角色存在,請選取角色以檢視連接的政策。
-
選擇許可。
-
請確定已將 AmazonEks ConnectorAgentPolicy 管理政策附加至該角色。如果已連接政策,則您的 Amazon EKS 連接器角色應已設定妥當。
-
選擇 Trust Relationships (信任關係),然後選擇 Edit trust policy (編輯信任政策)。
-
確認信任關係包含下列政策。如果信任關係符合下列政策,請選擇 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
-
-
建立名為 eks-connector-agent-trust-policy.json
的檔案,其中包含用於 IAM 角色的下列 JSON。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ssm.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
-
建立名為 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": "*"
}
]
}
-
使用信任政策和您在先前清單項目中建立的政策,建立 Amazon EKS 連接器代理程式角色。
aws iam create-role \
--role-name AmazonEKSConnectorAgentRole
\
--assume-role-policy-document file://eks-connector-agent-trust-policy.json
-
將政策連接到 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。
-
將以下 AWS CloudFormation 範本儲存到本機系統上的文字檔案中。
---
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
開啟主 AWS CloudFormation 控台,網址為 https://console.aws.amazon.com/cloudformation。
-
選擇 Create stack (建立堆疊) (使用新資源或現有資源)。
-
針對 Specify template (指定範本),選擇 Upload a template file (上傳範本檔案),然後選擇 Choose file (選擇檔案)。
-
選擇您剛建立的檔案,然後選擇 Next (下一步)。
-
針對 Stack name (堆疊名稱),輸入您角色的名稱 (例如 eksConnectorAgentRole
),然後選擇 Next (下一步)。
-
在 Configure stack options (設定堆疊選項) 頁面,選擇 Next (下一步)。
-
在 Review (檢閱) 頁面上,檢閱您的資訊,確認該堆疊可能會建立 IAM 資源,並選擇 Create stack (建立堆疊)。