Rôle IAM du connecteur Amazon EKS - Amazon EKS

Aidez à améliorer cette page

Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.

Rôle IAM du connecteur Amazon EKS

Vous pouvez connecter des clusters Kubernetes pour les afficher dans votre AWS Management Console. Pour vous connecter à un cluster Kubernetes, créez un rôle IAM.

Rechercher un rôle de connecteur EKS existant

Vous pouvez utiliser la procédure suivante pour vérifier si votre compte possède déjà le rôle de connecteur Amazon EKS.

  1. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  2. Dans le volet de navigation de gauche, choisissez Rôles.

  3. Recherchez dans la liste des rôles AmazonEKSConnectorAgentRole. Si un rôle qui inclut AmazonEKSConnectorAgentRole n’existe pas, consultez Création du rôle de l'agent Amazon EKS Connector pour créer le rôle. Si un rôle qui inclut AmazonEKSConnectorAgentRole existe, sélectionnez le rôle pour afficher les politiques attachées.

  4. Choisissez Permissions (Autorisations).

  5. Assurez-vous que la politique gérée AmazonEKSConnectorAgentPolicy est attachée au rôle. Si la politique est attachée, votre rôle de connecteur Amazon EKS est configuré correctement.

  6. Sélectionnez l'onglet Trust relationships (Relations d'approbation), puis Edit trust policy (Modifier la relation d'approbation).

  7. Vérifiez que la relation d'approbation contient la politique suivante. Si la relation d'approbation correspond à la politique ci-dessous, sélectionnez Annuler. Si la relation d’approbation ne correspond pas, copiez la politique dans la fenêtre Modifier la politique d’approbation et sélectionnez Mettre à jour la politique.

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

Création du rôle de l'agent Amazon EKS Connector

Vous pouvez utiliser CloudFormation AWS Management Console ou AWS pour créer le rôle de l’agent connecteur.

AWS CLI
  1. Créez le fichier nommé eks-connector-agent-trust-policy.json qui contient le JSON suivant à utiliser pour le rôle IAM.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ssm.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  2. Créez le fichier nommé eks-connector-agent-policy.json qui contient le JSON suivant à utiliser pour le rôle 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": "*" } ] }
  3. Créez le rôle d'agent Amazon EKS Connector à l'aide de la politique d'approbation et de la politique que vous avez créées dans les listes précédentes.

    aws iam create-role \ --role-name AmazonEKSConnectorAgentRole \ --assume-role-policy-document file://eks-connector-agent-trust-policy.json
  4. Attachez la politique à votre rôle d'agent 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. Enregistrez le modèle CloudFormation AWS suivant dans un fichier texte sur votre système local.

    Note

    Ce modèle crée également le rôle lié à un service qui serait autrement créé lorsque l'API registerCluster est appelée. Consultez Utilisation de rôles pour connecter un cluster Kubernetes à Amazon EKS pour plus de détails.

    --- 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
  2. Ouvrez la console AWS CloudFormation.

  3. Sélectionnez Créer une pile avec de nouvelles ressources (standard).

  4. Pour Specify template (Spécifier un modèle), sélectionnez Upload a template file (Télécharger un fichier de modèle), puis choisissez Choose file (Choisir un fichier).

  5. Choisissez le fichier que vous avez créé précédemment, puis choisissez Next (Suivant).

  6. Pour Stack name (Nom de la pile), saisissez un nom pour votre rôle, par exemple eksConnectorAgentRole, puis choisissez Next (Suivant).

  7. Sur la page Configurer les options de pile, choisissez Next (Suivant).

  8. Sur la page Vérification, vérifiez vos informations, reconnaissez que la pile peut créer des ressources IAM, puis choisissez Create stack (Créer la pile).