

 **이 페이지 개선에 도움 주기** 

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 **GitHub에서 이 페이지 편집** 링크를 선택합니다.

# Amazon EKS Connector IAM 역할
<a name="connector-iam-role"></a>

Kubernetes 클러스터를 연결하여 AWS Management Console에서 볼 수 있습니다. Kubernetes 클러스터에 연결하려면 IAM 역할을 생성합니다.

## 기존 EKS 커넥터 역할 확인
<a name="check-connector-role"></a>

다음 절차를 사용하여 계정에 이미 Amazon EKS Connector 역할이 있는지 확인할 수 있습니다.

1. IAM 콘솔(https://console.aws.amazon.com/iam/)을 엽니다.

1. 왼쪽 탐색 창에서 **역할**을 선택합니다.

1. 역할 목록에서 `AmazonEKSConnectorAgentRole`(을)를 검색합니다. `AmazonEKSConnectorAgentRole`을 포함하는 역할이 존재하지 않을 경우 [Amazon EKS Connector 에이전트 역할 생성](#create-connector-role) 섹션을 참조하여 역할을 생성합니다. `AmazonEKSConnectorAgentRole`을 포함하는 역할이 존재하지 않을 경우, 연결된 정책을 볼 역할을 선택합니다.

1. **권한**을 선택합니다.

1. **AmazonEKSConnector에이전트Policy** 관리형 정책이 역할에 연결되었는지 확인합니다. 정책이 연결된 경우 Amazon EKS 커넥터 역할이 적절히 구성된 것입니다.

1. **신뢰 관계**를 선택한 후 **신뢰 정책 편집**을 선택합니다.

1. 신뢰 관계에 다음 정책이 포함되어 있는지 확인합니다. 신뢰 관계가 다음 정책과 일치하는 경우, **취소**를 선택합니다. 신뢰 관계가 일치하지 않으면 정책을 **신뢰 정책 편집** 창에 복사하고 **정책 업데이트**를 선택합니다.

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

## Amazon EKS Connector 에이전트 역할 생성
<a name="create-connector-role"></a>

AWS Management Console 또는 AWS CloudFormation을 사용하여 커넥터 에이전트 역할을 생성할 수 있습니다.

 AWS CLI  

1. IAM 역할에 사용할 다음과 같은 JSON이 포함된 `eks-connector-agent-trust-policy.json`이라는 이름의 파일을 생성합니다.

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

1. IAM 역할에 사용할 다음과 같은 JSON이 포함된 `eks-connector-agent-policy.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": "*"
           }
       ]
   }
   ```

1. 이전 목록 항목에서 생성한 신뢰 정책 및 정책을 사용하여 Amazon EKS Connector 에이전트 역할을 생성합니다.

   ```
   aws iam create-role \
        --role-name AmazonEKSConnectorAgentRole \
        --assume-role-policy-document file://eks-connector-agent-trust-policy.json
   ```

1. 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. 다음 AWS CloudFormation 템플릿을 로컬 시스템의 텍스트 파일에 저장합니다.
**참고**  
이 템플릿은 또한 `registerCluster` API가 직접 호출될 때 생성되는 서비스 링크 역할도 생성합니다. 세부 정보는 [역할을 사용하여 Amazon EKS에 Kubernetes 클러스터 연결](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. [AWSCloudFormation 콘솔](https://console.aws.amazon.com/cloudformation/)을 엽니다.

1. 새 리소스를 사용한 **스택 생성**을 선택합니다(표준).

1. **템플릿 지정**에서 **템플릿 파일 업로드**를 선택한 다음 **파일 선택**을 선택합니다.

1. 이전에 생성한 파일을 선택한 후 **다음**을 선택합니다.

1. **스택 이름**에 `eksConnectorAgentRole`과 같은 역할 이름을 입력하고 **다음**을 선택합니다.

1. **스택 옵션 구성** 페이지에서 **다음**을 선택합니다. 

1. **검토** 페이지에서 정보를 검토하고, 스택이 IAM 리소스를 생성할 수 있음을 확인한 다음 **스택 생성**을 선택합니다.