Amazon EKS コネクタの IAM ロール - Amazon EKS

このページの改善にご協力ください

本ユーザーガイドの改善にご協力いただけませんか? このページの下部までスクロールし、[GitHub でこのページの編集] を選択します。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。

Amazon EKS コネクタの IAM ロール

Kubernetes クラスターを接続して AWS Management Console で表示することができます。Kubernetes クラスターに接続するには、IAM ロールを作成します。

既存の EKS Connector ロールの確認

以下の手順を使用して、アカウントに既に Amazon EKS コネクタロールがあるかどうかを確認できます。

IAM コンソールで AmazonEKSConnectorAgentRole を確認するには
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. 左のナビゲーションペインで、[ロール] を選択します。

  3. ロールのリストで AmazonEKSConnectorAgentRole を検索します。AmazonEKSConnectorAgentRole が含まれているロールが存在しない場合は、Amazon EKS コネクタエージェントロールの作成を参照してロールを作成します。AmazonEKSConnectorAgentRole が含まれているロールが存在する場合は、このロールを選択してアタッチされているポリシーを表示します。

  4. [許可] を選択します。

  5. AmazonEKSConnectorAgentPolicy 管理ポリシーがロールにアタッチされていることを確認します。ポリシーがアタッチされている場合、Amazon EKS Connector ロールは適切に設定されています。

  6. [信頼関係] を選択し、[信頼ポリシーの編集] を選択します。

  7. 信頼関係に以下のポリシーが含まれていることを確認します。信頼関係が以下のポリシーと一致する場合、[キャンセル] を選択します。信頼関係が一致しない場合、ポリシーを [信頼ポリシーの編集] ウィンドウにコピーし、[ポリシーの更新] を選択します。

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

Amazon EKS コネクタエージェントロールの作成

コネクタエージェントロールを作成するには、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" } ] }
  2. 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": "*" } ] }
  3. 前のリストアイテムで作成した信頼ポリシーとポリシーを使用して、Amazon EKS Connector エージェントロールを作成します。

    aws iam create-role \ --role-name AmazonEKSConnectorAgentRole \ --assume-role-policy-document file://eks-connector-agent-trust-policy.json
  4. Amazon EKS Connector エージェントのロールにポリシーを添付します。

    aws iam put-role-policy \ --role-name AmazonEKSConnectorAgentRole \ --policy-name AmazonEKSConnectorAgentPolicy \ --policy-document file://eks-connector-agent-policy.json
AWS CloudFormation
Amazon EKS Connector エージェントロールを AWS CloudFormation で作成するには
  1. 以下の AWS CloudFormation テンプレートをローカルシステムのテキストファイルに保存します。

    注記

    このテンプレートでは、ここで作成されなければ registerCluster API が呼び出されたときに作成される、サービスにリンクされたロールも作成されます。詳細については、「ロールを使用して Kubernetes クラスターを 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 のサービス. Value: !GetAtt EKSConnectorAgentRole.Arn
  2. https://console.aws.amazon.com/cloudformation で AWS CloudFormation コンソール を開きます。

  3. [Create stack] (スタックの作成) (新しいリソースまたは既存のリソースを使用) を選択します。

  4. [テンプレートの指定] で、[テンプレートファイルのアップロード] を選択し、[ファイルの選択] を選択します。

  5. 作成したファイルを選択し、[Next (次へ)] を選択します。

  6. [スタックの名前] に eksConnectorAgentRole などのロール名を入力し、[次へ] を選択します。

  7. [スタックオプションの設定] ページで、[Next (次へ)] を選択します。

  8. [Review (レビュー)] ページの情報から、スタックにより IAM リソースが作成されることを確認し、[Create stack (スタックの作成)] を選択します。