帮助改进此页面
想为本用户指南做出贡献? 滚动到页面底部,然后选择在 GitHub 上编辑此页面。您的贡献有助于我们的用户指南为每个人提供更充分的参考。
Amazon EKS Connector IAM 角色
您可以连接 Kubernetes 集群以便在 AWS Management Console 中查看。要连接 Kubernetes 集群,创建 IAM 角色。
检查现有 EKS connector 角色
您可以使用以下过程检查并查看您的账户是否已有 Amazon EKS connector 角色。
在 IAM 控制台中检查 AmazonEKSConnectorAgentRole
通过 https://console.aws.amazon.com/iam/ 打开 IAM 控制台。
-
在左侧导航窗格中,选择 Roles(角色)。
-
在角色列表中搜索 AmazonEKSConnectorAgentRole
。如果不存在包含 AmazonEKSConnectorAgentRole
的角色,请参阅 创建 Amazon EKS Connector 代理角色 来创建角色。如果包含 AmazonEKSConnectorAgentRole
的角色确实存在,则选择角色以查看附加的策略。
-
选择权限。
-
确保将 AmazonEKSConnectorAgentPolicy 托管策略附加到此角色。如果附加该策略,则将正确配置 Amazon EKS connector 角色。
-
选择 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 Connector 代理角色
您可以使用 AWS Management Console 或 AWS CloudFormation 创建 connector 代理角色。
- 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 Connector 代理角色。
aws iam create-role \
--role-name AmazonEKSConnectorAgentRole
\
--assume-role-policy-document file://eks-connector-agent-trust-policy.json
-
将该策略附加到 Amazon EKS Connector 代理角色。
aws iam put-role-policy \
--role-name AmazonEKSConnectorAgentRole
\
--policy-name AmazonEKSConnectorAgentPolicy
\
--policy-document file://eks-connector-agent-policy.json
- AWS CloudFormation
-
要用 AWS CloudFormation 创建 Amazon EKS Connector 代理角色
-
将以下 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(创建堆栈)(无论是新资源还是现有资源。
-
对于指定模板,选择上传模板文件,然后选择选择文件。
-
选择您之前创建的文件,然后选择下一步。
-
对于 Stack name (堆栈名称),输入角色的名称,如 eksConnectorAgentRole
,然后选择 Next (下一步)。
-
在配置堆栈选项页面上,请选择下一步。
-
在 Review(审核)页面上审核您的信息,确认堆栈可创建 IAM 资源,然后选择 Create stack(创建堆栈)。