Rôle IAM du connecteur Amazon EKS - Amazon EKS

Aidez à améliorer cette page

Vous souhaitez contribuer à ce guide de l'utilisateur ? Faites défiler cette page vers le bas et sélectionnez Modifier cette page sur GitHub. Vos contributions aideront à améliorer notre guide de l'utilisateur pour tout le monde.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Rôle IAM du connecteur Amazon EKS

Vous pouvez connecter Kubernetes des clusters 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.

Pour vérifier le rôle AmazonEKSConnectorAgentRole dans la console IAM
  1. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau 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 ConnectorAgentPolicy par Amazoneks 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 Edit trust policy (Modifier la politique d'approbation) et sélectionnez Update policy (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 le AWS Management Console ou AWS CloudFormation pour créer le rôle d'agent du 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
Pour créer votre rôle d'agent du connecteur Amazon EKS avec AWS CloudFormation.
  1. Enregistrez le AWS CloudFormation modèle 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 Services AWS. Value: !GetAtt EKSConnectorAgentRole.Arn
  2. Ouvrez la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation.

  3. Choisissez Create stack (Créer une pile) (soit avec de nouvelles ressources, soit avec des ressources existantes.

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