

 **Ajudar a melhorar esta página** 

Para contribuir com este guia de usuário, escolha o link **Editar esta página no GitHub**, disponível no painel direito de cada página.

# Função do IAM do conector do Amazon EKS
<a name="connector-iam-role"></a>

Você pode conectar clusters do Kubernetes para visualizá-los no Console de gerenciamento da AWS. Para se conectar a um cluster do Kubernetes, crie uma função do IAM.

## Verificar se já existe um perfil de conector do EKS
<a name="check-connector-role"></a>

Use o procedimento a seguir para verificar se a conta já tem a função de conector do Amazon EKS.

1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

1. No painel de navegação à esquerda, escolha **Funções**.

1. Pesquise na lista de perfis `AmazonEKSConnectorAgentRole`. Se não houver uma função que inclua `AmazonEKSConnectorAgentRole`, consulte [Criar a função do IAM para o agente de conector do Amazon EKS](#create-connector-role) para criar a função. Se houver uma função que inclua `AmazonEKSConnectorAgentRole`, selecione-a para visualizar as políticas anexadas.

1. Escolha **Permissões**.

1. 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.

1. Escolha **Trust relationships** (Relacionamentos de confiança) e, em seguida, escolha **Edit trust policy** (Editar política de confiança).

1. 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
<a name="create-connector-role"></a>

Você pode usar o Console de gerenciamento da AWS ou o AWS CloudFormation para criar o perfil de agente conector.

 AWS CLI  

1. 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"
           }
       ]
   }
   ```

1. 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": "*"
           }
       ]
   }
   ```

1. 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
   ```

1. 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  

1. 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](using-service-linked-roles-eks-connector.md).

   ```
   ---
   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
   ```

1. Abra o console do [AWS CloudFormation](https://console.aws.amazon.com/cloudformation/).

1. Escolha **Criar pilha** com novos recursos (padrão).

1. Para **Specify template (Especificar modelo)**, selecione **Upload a template file (Fazer upload de um arquivo de modelo)** e depois **Choose file (Escolher arquivo)**.

1. Selecione o arquivo que você criou anteriormente e, em seguida, selecione **Next (Próximo)**.

1. Em **Stack name (Nome da pilha)**, insira um nome para a função, como `eksConnectorAgentRole`, e selecione **Next (Próximo)**.

1. Na página **Configurar opções de pilha**, selecione **Avançar**.

1. 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)**.