Função do IAM do conector do Amazon EKS
Você pode conectar clusters do Kubernetes para visualizá-los no AWS Management Console. Para se conectar a um cluster do Kubernetes, crie um perfil do IAM.
Verificar se já existe um perfil de conector do EKS
Use o procedimento a seguir para verificar se a conta já tem a função de conector do Amazon EKS.
-
Abra o console do IAM, em https://console.aws.amazon.com/iam/
. -
No painel de navegação à esquerda, escolha Roles.
-
Pesquise
AmazonEKSConnectorAgentRole
na lista de perfis. Se não houver uma função que incluaAmazonEKSConnectorAgentRole
, consulte Criar a função do IAM para o agente de conector do Amazon EKS para criar a função. Se houver uma função que incluaAmazonEKSConnectorAgentRole
, selecione-a para visualizar as políticas anexadas. -
Escolha Permissões.
-
Verifique se a política gerenciada AmazonEKSConnectorAgentPolicy está anexada ao perfil. Se a política estiver anexada, o perfil de conector do Amazon EKS estará configurado corretamente.
-
Escolha Trust relationships (Relacionamentos de confiança) e, em seguida, escolha Edit trust policy (Editar política de confiança).
-
Verifique se o relacionamento de confiança contém a seguinte política: Se o relacionamento de confiança corresponder à seguinte política, escolha Cancel (Cancelar). Se o relacionamento de confiança não corresponder, copie a política para a janela Edit trust policy (Editar política de confiança) e escolha Update policy (Atualizar política).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ssm.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Criar a função do IAM para o agente de conector do Amazon EKS
Você pode usar o AWS Management Console ou o AWS CloudFormation para criar o perfil de agente conector.
- AWS CLI
-
-
Crie um arquivo denominado
eks-connector-agent-trust-policy.json
que contenha o seguinte JSON para ser usado para a função do IAM:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ssm.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
-
Crie um arquivo denominado
eks-connector-agent-policy.json
que contenha o seguinte JSON para ser usado para a função do IAM.{ "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": "*" } ] }
-
Crie a função de agente do Amazon EKS Connector usando a política de confiança e a política que você criou nos itens de lista anteriores.
aws iam create-role \ --role-name AmazonEKSConnectorAgentRole \ --assume-role-policy-document file://eks-connector-agent-trust-policy.json
-
Anexe a política à função do agente do Amazon EKS Connector.
aws iam put-role-policy \ --role-name AmazonEKSConnectorAgentRole \ --policy-name AmazonEKSConnectorAgentPolicy \ --policy-document file://eks-connector-agent-policy.json
-
- AWS CloudFormation
-
-
Salve o seguinte modelo do AWS CloudFormation em um arquivo de texto em seu sistema local.
nota
Esse modelo também cria a função vinculada ao serviço que seria criada quando a API
registerCluster
fosse chamada. Para mais detalhes, consulte Usar funções para conectar um cluster do Kubernetes ao 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 services. Value: !GetAtt EKSConnectorAgentRole.Arn
-
Abra o console do AWS CloudFormation
. -
Escolha Criar pilha com novos recursos (padrão).
-
Para Specify template (Especificar modelo), selecione Upload a template file (Fazer upload de um arquivo de modelo) e depois Choose file (Escolher arquivo).
-
Selecione o arquivo que você criou anteriormente e, em seguida, selecione Next (Próximo).
-
Em Stack name (Nome da pilha), insira um nome para a função, como
eksConnectorAgentRole
, e selecione Next (Próximo). -
Na página Configurar opções de pilha, selecione Avançar.
-
Na página Review (Revisão), reveja as informações, confirme se a pilha pode criar recursos do IAM e, em seguida, selecione Create (Criar).
-