Cómo preparar las credenciales para los nodos híbridos - Amazon EKS

Ayude a mejorar esta página

¿Quiere contribuir a esta guía del usuario? Elija el enlace Editar esta página en GitHub que se encuentra en el panel derecho de cada página. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.

Cómo preparar las credenciales para los nodos híbridos

Los Nodos híbridos de Amazon EKS utilizan credenciales de IAM temporales aprovisionadas por activaciones híbridas de AWS SSM o AWS IAM Roles Anywhere para autenticarse con el clúster de Amazon EKS. Debe usar activaciones híbridas de AWS SSM o AWS IAM Roles Anywhere con la CLI (nodeadm) de los Nodos híbridos de Amazon EKS. No debe utilizar ambas opciones, únicamente activaciones híbridas de AWS o AWS IAM Roles Anywhere. Se recomienda utilizar las activaciones híbridas de AWS SSM si no dispone de una infraestructura de clave pública (PKI) existente con una entidad de certificación (CA) y certificados para los entornos en las instalaciones. Si ya dispone de PKI y certificados en las instalaciones, utilice AWS IAM Roles Anywhere.

Rol de IAM de nodos híbridos

Antes de poder conectar nodos híbridos al clúster de Amazon EKS, deberá crear un rol de IAM que se utilizará con las activaciones híbridas de AWS SSM o AWS IAM Roles Anywhere para las credenciales de los nodos híbridos. Tras la creación del clúster, utilizará este rol con una entrada de acceso de Amazon EKS o una entrada de aws-auth ConfigMap para asignar el rol de IAM al control de acceso basado en roles (RBAC) de Kubernetes. Para obtener más información sobre cómo asociar el de IAM de Nodos híbridos al RBAC de Kubernetes, consulte Cómo preparar el acceso al clúster para los nodos híbridos.

El rol de IAM de nodos híbridos debe tener los siguientes permisos:

  • Permisos para que nodeadm utilice la acción eks:DescribeCluster a fin de recopilar información sobre el clúster utilizado para conectar los nodos híbridos al clúster. Si no habilita la acción eks:DescribeCluster, deberá transmitir el punto de conexión de la API de Kubernetes, el paquete de CA del clúster y el CIDR de IPv4 del servicio a la configuración de nodos que se transmite a nodeadm al ejecutar nodeadm init.

  • Permisos para que el kubelet pueda utilizar imágenes de contenedores de Amazon Elastic Container Registry (Amazon ECR), según lo dispuesto en la política AmazonEC2ContainerRegistryPullOnly.

  • Si usa AWS SSM, permisos para que nodeadm init utilice las activaciones híbridas de AWS SSM, tal y como se define en la política aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html.

  • Si usa AWS SSM, permisos para usar la acción ssm:DeregisterManagedInstance y la acción ssm:DescribeInstanceInformation para que nodeadm uninstall anule el registro de instancias.

  • (Opcional) Permisos para que el agente de Pod Identity de Amazon EKS utilice la acción eks-auth:AssumeRoleForPodIdentity para recuperar las credenciales de los pods.

Configuración de activaciones híbridas de AWS SSM

Antes de configurar las activaciones híbridas de AWS SSM, deberá crear y configurar un rol de IAM de nodos híbridos. Para obtener más información, consulte Creación del rol de IAM de nodos híbridos. Siga las instrucciones que aparecen en Cómo crear una activación híbrida para registrar nodos en Systems Manager en la Guía del usuario de AWS Systems Manager para crear una activación híbrida de AWS SSM para los nodos híbridos. El código de activación y el ID que recibe se utilizan con nodeadm al registrar los hosts como nodos híbridos en el clúster de Amazon EKS. Podrá volver a este paso más adelante, una vez que haya creado y preparado los clústeres de Amazon EKS para nodos híbridos.

importante

Systems Manager regresa inmediatamente el código e ID de activación a la consola o la ventana de comandos, en función de cómo haya creado la activación. Copie esta información y guárdela en un lugar seguro. Si sale de la consola o cierra la ventana de comandos, podría perder esta información. Si la pierde, debe crear una nueva activación.

De forma predeterminada, las activaciones híbridas de AWS SSM se mantienen activas durante 24 horas. También puede especificar una --expiration-date al crear la activación híbrida en formato de marca de tiempo, por ejemplo 2024-08-01T00:00:00. Cuando utiliza AWS SSM como proveedor de credenciales, el nombre de nodo de los nodos híbridos no se puede configurar, sino que AWS SSM lo genera automáticamente. Puede ver y administrar las instancias administradas por AWS SSM en la consola de AWS Systems Manager, en Administrador de flotas. Puede registrar hasta 1000 nodos activados de manera híbrida estándar por cada cuenta por región de AWS sin costo adicional. Sin embargo, para registrar más de 1000 nodos híbridos es necesario activar el nivel de instancias avanzadas. El uso del nivel de instancias avanzadas conlleva un cargo que no está incluido en los precios de los Nodos híbridos de Amazon EKS. Para obtener más información, consulte Precios de AWS Systems Manager.

Consulte el siguiente ejemplo para saber cómo crear una activación híbrida de AWS SSM con el rol de IAM de nodos híbridos. Si utiliza activaciones híbridas de AWS SSM para las credenciales de los nodos híbridos, los nombres de los nodos híbridos tendrán el mismo formato mi-012345678abcdefgh y las credenciales temporales aprovisionadas por AWS SSM serán válidas durante 1 hora. No puede modificar el nombre del nodo ni la duración de las credenciales si utiliza AWS SSM como proveedor de credenciales. AWS SSM rota automáticamente las credenciales temporales y la rotación no afecta al estado de los nodos o las aplicaciones.

Se recomienda utilizar una activación híbrida de AWS SSM por clúster de EKS para limitar el permiso ssm:DeregisterManagedInstance de AWS SSM del rol de IAM de nodos híbridos de modo que únicamente pueda anular el registro de las instancias asociadas a la activación híbrida de AWS SSM. En el ejemplo que aparece en esta página, se utiliza una etiqueta con el ARN del clúster de EKS, que se puede utilizar para asignar la activación híbrida de AWS SSM al clúster de EKS. También puede utilizar la etiqueta y el método que prefiera para determinar el alcance de los permisos de AWS SSM en función de los límites de permisos y requisitos. La opción REGISTRATION_LIMIT del siguiente comando es un número entero que se utiliza para limitar la cantidad de máquinas que pueden utilizar la activación híbrida de AWS SSM (por ejemplo, 10)

aws ssm create-activation \ --region AWS_REGION \ --default-instance-name eks-hybrid-nodes \ --description "Activation for EKS hybrid nodes" \ --iam-role AmazonEKSHybridNodesRole \ --tags Key=EKSClusterARN,Value=arn:aws:eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME \ --registration-limit REGISTRATION_LIMIT

Consulte las instrucciones de Creación de una activación híbrida para registrar nodos en Systems Manager para obtener más información sobre los ajustes de configuración disponibles para las activaciones híbridas de AWS SSM.

Configuración de AWS IAM Roles Anywhere

Siga las instrucciones que aparecen en Introducción a IAM Roles Anywhere en la Guía del usuario de IAM Roles Anywhere para configurar el anclaje de veracidad y el perfil que utilizará como credenciales de IAM temporales para el rol de IAM de nodos híbridos. Puede crear el perfil sin agregar ningún rol. Puede crear este perfil, volver a estos pasos para crear el rol de IAM de nodos híbridos y, a continuación, agregar el rol al perfil una vez creado. También puede utilizar los pasos de AWS CloudFormation que aparecen más adelante en esta página para completar la configuración de IAM Roles Anywhere para los nodos híbridos.

Al agregar el rol de IAM de nodos híbridos al perfil, seleccione Aceptar el nombre de sesión de rol personalizado en el panel de nombre de sesión de Rol personalizado, situado en la parte inferior de la página Editar perfil de la consola de AWS IAM Roles Anywhere. Corresponde al campo acceptRoleSessionName de la API CreateProfile. Esto permite proporcionar un nombre de nodo personalizado para los nodos híbridos en la configuración que se transmite a nodeadm durante el proceso de arranque. Es necesario transmitir un nombre de nodo personalizado durante el proceso de nodeadm init. Puede actualizar el perfil para aceptar un nombre de sesión de rol personalizado después de crear el perfil.

Puede configurar la duración de la validez de las credenciales con AWS IAM Roles Anywhere mediante el campo durationSeconds del perfil de AWS IAM Roles Anywhere. La duración predeterminada es de una hora con un máximo de 12 horas. La configuración MaxSessionDuration del rol de IAM de nodos híbridos debe ser mayor que la configuración durationSeconds del perfil de AWS IAM Roles Anywhere. Para obtener más información sobre MaxSessionDuration, consulte la documentación sobre la API UpdateRole.

Los certificados y claves por máquina que genere a partir de la entidad de certificación (CA) se deben colocar en el directorio /etc/iam/pki de cada nodo híbrido con los nombres de archivo server.pem para el certificado y server.key para la clave.

Creación del rol de IAM de nodos híbridos

Para ejecutar los pasos de esta sección, la entidad principal de IAM que utilice la consola de AWS o AWS CLI debe tener los siguientes permisos.

  • iam:CreatePolicy

  • iam:CreateRole

  • iam:AttachRolePolicy

  • Si utiliza AWS IAM Roles Anywhere

    • rolesanywhere:CreateTrustAnchor

    • rolesanywhere:CreateProfile

    • iam:PassRole

AWS CloudFormation

Si aún no lo ha hecho, instale y configure AWS CLI. Consulte Instalación o actualización de la versión más reciente de AWS CLI.

Pasos para las activaciones híbridas de AWS SSM

La pila de CloudFormation crea el rol de IAM de nodos híbridos con los permisos descritos anteriormente. La plantilla de CloudFormation no crea la activación híbrida de AWS SSM.

  1. Descargue la plantilla de AWS SSM CloudFormation para nodos híbridos:

    curl -OL 'https://raw.githubusercontent.com/aws/eks-hybrid/refs/heads/main/example/hybrid-ssm-cfn.yaml'
  2. Cree un cfn-ssm-parameters.json con las opciones siguientes:

    1. Sustituya ROLE_NAME por el nombre del rol de IAM de nodos híbridos. De forma predeterminada, la plantilla de CloudFormation utiliza AmazonEKSHybridNodesRole como el nombre del rol que crea si no se especifica ningún nombre.

    2. Sustituya TAG_KEY por la clave de etiqueta del recurso de AWS SSM que utilizó al crear la activación híbrida de AWS SSM. La combinación de la clave de etiqueta y el valor de la etiqueta se utiliza en la condición de ssm:DeregisterManagedInstance para permitir que el rol de IAM de nodos híbridos anule el registro de las instancias administradas por AWS SSM asociadas a la activación híbrida de AWS SSM. En la plantilla de CloudFormation, el valor predeterminado de TAG_KEY es EKSClusterARN.

    3. Sustituya TAG_VALUE por el valor de etiqueta del recurso de AWS SSM que utilizó al crear la activación híbrida de AWS SSM. La combinación de la clave de etiqueta y el valor de la etiqueta se utiliza en la condición de ssm:DeregisterManagedInstance para permitir que el rol de IAM de nodos híbridos anule el registro de las instancias administradas por AWS SSM asociadas a la activación híbrida de AWS SSM. Si utiliza la TAG_KEY predeterminada de EKSClusterARN, transmita el ARN del clúster de EKS como el TAG_VALUE. Los ARN del clúster de EKS tienen el formato arn:aws:eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME.

      { "Parameters": { "RoleName": "ROLE_NAME", "SSMDeregisterConditionTagKey": "TAG_KEY", "SSMDeregisterConditionTagValue": "TAG_VALUE" } }
  3. Implementación de la pila de CloudFormation. Sustituya STACK_NAME por el nombre de la pila de CloudFormation.

    aws cloudformation deploy \ --stack-name STACK_NAME \ --template-file hybrid-ssm-cfn.yaml \ --parameter-overrides file://cfn-ssm-parameters.json \ --capabilities CAPABILITY_NAMED_IAM

Pasos correspondientes a AWS IAM Roles Anywhere

La pila de CloudFormation crea el anclaje de veracidad de AWS IAM Roles Anywhere con la entidad de certificación (CA) que configure, crea el perfil de AWS IAM Roles Anywhere y crea el rol de IAM de nodos híbridos con los permisos descritos anteriormente.

  1. Para configurar una entidad de certificación

    1. Para utilizar un recurso de AWS Private CA, abra la consola de AWS Private Certificate Authority. Siga las instrucciones que aparecen en la Guía del usuario de AWS Private CA.

    2. Para usar una entidad de certificación externa, siga las instrucciones proporcionadas por esta. El contenido del certificado se proporcionará más adelante.

    3. Los certificados emitidos por entidades de certificación públicas no se pueden utilizar como anclajes de veracidad.

  2. Descargue la plantilla de CloudFormation de AWS IAM Roles Anywhere para nodos híbridos

    curl -OL 'https://raw.githubusercontent.com/aws/eks-hybrid/refs/heads/main/example/hybrid-ira-cfn.yaml'
  3. Cree un cfn-iamra-parameters.json con las opciones siguientes:

    1. Sustituya ROLE_NAME por el nombre del rol de IAM de nodos híbridos. De forma predeterminada, la plantilla de CloudFormation utiliza AmazonEKSHybridNodesRole como el nombre del rol que crea si no se especifica ningún nombre.

    2. Sustituya CERT_ATTRIBUTE por el atributo de certificado por máquina que identifique de forma exclusiva al host. El atributo de certificado que utilice debe coincidir con el nodeName que utilice para la configuración de nodeadm al conectar nodos híbridos al clúster. Para obtener más información, consulte Referencia de nodeadm de nodos híbridos. De forma predeterminada, la plantilla de CloudFormation utiliza ${aws:PrincipalTag/x509Subject/CN} como CERT_ATTRIBUTE, que corresponde al campo CN de los certificados por máquina. También puede transmitir $(aws:PrincipalTag/x509SAN/Name/CN} como CERT_ATTRIBUTE.

    3. Sustituya CA_CERT_BODY por el contenido del certificado de la entidad de certificación sin saltos de línea. El CA_CERT_BODY debe estar en formato Privacy Enhanced Mail (PEM). Si tiene un certificado de entidad de certificación en formato PEM, elimine los saltos de línea y las líneas BEGIN CERTIFICATE y END CERTIFICATE antes de incluir el contenido del certificado de la entidad de certificación en el archivo cfn-iamra-parameters.json.

      { "Parameters": { "RoleName": "ROLE_NAME", "CertAttributeTrustPolicy": "CERT_ATTRIBUTE", "CABundleCert": "CA_CERT_BODY" } }
  4. Implemente la plantilla de CloudFormation. Sustituya STACK_NAME por el nombre de la pila de CloudFormation.

    aws cloudformation deploy \ --stack-name STACK_NAME \ --template-file hybrid-ira-cfn.yaml \ --parameter-overrides file://cfn-iamra-parameters.json --capabilities CAPABILITY_NAMED_IAM

AWS CLI

Si aún no lo ha hecho, instale y configure AWS CLI. Consulte Instalación o actualización de la versión más reciente de AWS CLI.

Cómo crear la política de descripción de clústeres de EKS

  1. Cree un archivo denominado eks-describe-cluster-policy.json con el siguiente contenido:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "*" } ] }
  2. Cree la política con el siguiente comando:

    aws iam create-policy \ --policy-name EKSDescribeClusterPolicy \ --policy-document file://eks-describe-cluster-policy.json

Pasos para las activaciones híbridas de AWS SSM

  1. Cree un archivo denominado eks-hybrid-ssm-policy.json con el siguiente contenido. La política concede permisos para dos acciones: ssm:DescribeInstanceInformation y ssm:DeregisterManagedInstance. La política restringe el permiso ssm:DeregisterManagedInstance a las instancias administradas por AWS SSM asociadas a la activación híbrida de AWS SSM en función de la etiqueta de recurso que especifique en la política de confianza.

    1. Sustituya AWS_REGION por la región AWS para la activación híbrida de AWS SSM.

    2. Reemplace AWS_ACCOUNT_ID por su ID de cuenta de AWS.

    3. Sustituya TAG_KEY por la clave de etiqueta del recurso de AWS SSM que utilizó al crear la activación híbrida de AWS SSM. La combinación de la clave de etiqueta y el valor de la etiqueta se utiliza en la condición de ssm:DeregisterManagedInstance para permitir que el rol de IAM de nodos híbridos anule el registro de las instancias administradas por AWS SSM asociadas a la activación híbrida de AWS SSM. En la plantilla de CloudFormation, el valor predeterminado de TAG_KEY es EKSClusterARN.

    4. Sustituya TAG_VALUE por el valor de etiqueta del recurso de AWS SSM que utilizó al crear la activación híbrida de AWS SSM. La combinación de la clave de etiqueta y el valor de la etiqueta se utiliza en la condición de ssm:DeregisterManagedInstance para permitir que el rol de IAM de nodos híbridos anule el registro de las instancias administradas por AWS SSM asociadas a la activación híbrida de AWS SSM. Si utiliza la TAG_KEY predeterminada de EKSClusterARN, transmita el ARN del clúster de EKS como el TAG_VALUE. Los ARN del clúster de EKS tienen el formato arn:aws:eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:DescribeInstanceInformation", "Resource": "*" }, { "Effect": "Allow", "Action": "ssm:DeregisterManagedInstance", "Resource": "arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:managed-instance/*", "Condition": { "StringEquals": { "ssm:resourceTag/TAG_KEY": "TAG_VALUE" } } } ] }
  2. Cree la política mediante el siguiente comando

    aws iam create-policy \ --policy-name EKSHybridSSMPolicy \ --policy-document file://eks-hybrid-ssm-policy.json
  3. Cree un archivo denominado eks-hybrid-ssm-trust.json. Sustituya AWS_REGION por la región de AWS de la activación híbrida de AWS SSM y AWS_ACCOUNT_ID por el ID de la cuenta de AWS.

    { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"AWS_ACCOUNT_ID" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:*" } } } ] }
  4. Cree el rol con el siguiente comando.

    aws iam create-role \ --role-name AmazonEKSHybridNodesRole \ --assume-role-policy-document file://eks-hybrid-ssm-trust.json
  5. Asocie la EKSDescribeClusterPolicy y la EKSHybridSSMPolicy que creó en los pasos anteriores. Reemplace AWS_ACCOUNT_ID por su ID de cuenta de AWS.

    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSDescribeClusterPolicy
    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSHybridSSMPolicy
  6. Asocie las políticas AmazonEC2ContainerRegistryPullOnly y AmazonSSMManagedInstanceCore administradas por AWS.

    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly
    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

Pasos correspondientes a AWS IAM Roles Anywhere

Para utilizar AWS IAM Roles Anywhere, debe configurar el anclaje de veracidad de AWS IAM Roles Anywhere antes de crear el rol de IAM de nodos híbridos. Para obtener instrucciones, consulte Configuración de AWS IAM Roles Anywhere.

  1. Cree un archivo denominado eks-hybrid-iamra-trust.json. Sustituya TRUST_ANCHOR ARN por el ARN del anclaje de veracidad que creó en los pasos de Configuración de AWS IAM Roles Anywhere. La condición en esta política de confianza limita la capacidad de AWS IAM Roles Anywhere para asumir el rol de IAM de nodos híbridos. Esto permite el intercambio de credenciales temporales de IAM únicamente cuando el nombre de la sesión del rol coincide con el CN especificado en el certificado x509 instalado en los nodos híbridos. Alternativamente, puede utilizar otros atributos del certificado para identificar de manera única el nodo. El atributo de certificado que utilice en la política de confianza debe corresponder al nodeName que haya establecido en la configuración de nodeadm. Para obtener más información, consulte Referencia de nodeadm de nodos híbridos.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": [ "sts:TagSession", "sts:SetSourceIdentity" ], "Condition": { "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } }, { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}" }, "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } } ] }
  2. Cree el rol con el siguiente comando.

    aws iam create-role \ --role-name AmazonEKSHybridNodesRole \ --assume-role-policy-document file://eks-hybrid-iamra-trust.json
  3. Asocie la EKSDescribeClusterPolicy que creó en los pasos anteriores. Reemplace AWS_ACCOUNT_ID por su ID de cuenta de AWS.

    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSDescribeClusterPolicy
  4. Asocie la política AmazonEC2ContainerRegistryPullOnly administrada por AWS.

    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly

Consola de administración de AWS

Cómo crear la política de descripción de clústeres de EKS

  1. Abra la consola de Amazon IAM.

  2. En el panel de navegación izquierdo, elija Policies (Políticas).

  3. En la página Políticas, seleccione Crear una política.

  4. En la página Especificar permisos, en Seleccionar un panel de servicio, elija EKS.

    1. Filtre las acciones de DescribeCluster y seleccione la acción de lectura DescribeCluster.

    2. Elija Siguiente.

  5. En la página Revisar y crear

    1. Ingresa un Nombre de política para la política, como EKSDescribeClusterPolicy.

    2. Seleccione Crear política.

Pasos para las activaciones híbridas de AWS SSM

  1. Abra la consola de Amazon IAM.

  2. En el panel de navegación izquierdo, elija Policies (Políticas).

  3. En la página Políticas, seleccione Crear una política.

  4. En la página Especificar permisos, en el Editor de políticas en la esquina superior derecha, elija JSON. Pegue el siguiente fragmento. Sustituya AWS_REGION por la región de AWS de la activación híbrida de AWS SSM y AWS_ACCOUNT_ID por el ID de la cuenta de AWS. Sustituya TAG_KEY y TAG_VALUE por la clave de etiqueta del recurso de AWS SSM que utilizó al crear la activación híbrida de AWS SSM.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:DescribeInstanceInformation", "Resource": "*" }, { "Effect": "Allow", "Action": "ssm:DeregisterManagedInstance", "Resource": "arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:managed-instance/*", "Condition": { "StringEquals": { "ssm:resourceTag/TAG_KEY": "TAG_VALUE" } } } ] }
    1. Elija Siguiente.

  5. En la página Revisar y crear.

    1. Ingrese un nombre de Política para la política, como EKSHybridSSMPolicy

    2. Seleccione Crear política.

  6. En el panel de navegación izquierdo, elija Roles.

  7. En la página Roles, elija Crear rol.

  8. En la página Seleccionar entidad de confianza, haga lo siguiente:

    1. En la sección de tipo de Entidad de confianza, elija Política de confianza personalizada. Pegue lo siguiente en el editor de políticas de confianza personalizadas. Sustituya AWS_REGION por la región de AWS de la activación híbrida de AWS SSM y AWS_ACCOUNT_ID por el ID de la cuenta de AWS.

      { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"AWS_ACCOUNT_ID" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:*" } } } ] }
    2. Seleccione Siguiente.

  9. En la página Agregar permisos, asocie una política personalizada o haga lo siguiente:

    1. En el cuadro Filtrar políticas, ingrese EKSDescribeClusterPolicy o el nombre de la política que creó anteriormente. Marque la casilla situada a la izquierda del nombre de la política en los resultados de la búsqueda.

    2. En el cuadro Filtrar políticas, ingrese EKSHybridSSMPolicy o el nombre de la política que creó anteriormente. Marque la casilla situada a la izquierda del nombre de la política en los resultados de la búsqueda.

    3. En el cuadro Filtrar políticas, escriba AmazonEC2ContainerRegistryPullOnly. Marque la casilla situada a la izquierda de AmazonEC2ContainerRegistryPullOnly en los resultados de la búsqueda.

    4. En el cuadro Filtrar políticas, escriba AmazonSSMManagedInstanceCore. Marque la casilla situada a la izquierda de AmazonSSMManagedInstanceCore en los resultados de la búsqueda.

    5. Elija Siguiente.

  10. En la página Nombrar, revisar y crear, haga lo siguiente:

    1. En Nombre del rol, ingrese un nombre único para su rol, por ejemplo, AmazonEKSHybridNodesRole.

    2. En Description (Descripción), sustituya el texto actual por un texto descriptivo, como Amazon EKS - Hybrid Nodes role.

    3. Elija Creación de rol.

Pasos correspondientes a AWS IAM Roles Anywhere

Para utilizar AWS IAM Roles Anywhere, debe configurar el anclaje de veracidad de AWS IAM Roles Anywhere antes de crear el rol de IAM de nodos híbridos. Para obtener instrucciones, consulte Configuración de AWS IAM Roles Anywhere.

  1. Abra la consola de Amazon IAM.

  2. En el panel de navegación izquierdo, elija Roles.

  3. En la página Roles, elija Crear rol.

  4. En la página Seleccionar entidad de confianza, haga lo siguiente:

    1. En la sección de tipo de Entidad de confianza, elija Política de confianza personalizada. Pegue lo siguiente en el editor de políticas de confianza personalizadas. Sustituya TRUST_ANCHOR ARN por el ARN del anclaje de veracidad que creó en los pasos de Configuración de AWS IAM Roles Anywhere. La condición en esta política de confianza limita la capacidad de AWS IAM Roles Anywhere para asumir el rol de IAM de nodos híbridos. Esto permite el intercambio de credenciales temporales de IAM únicamente cuando el nombre de la sesión del rol coincide con el CN especificado en el certificado x509 instalado en los nodos híbridos. Alternativamente, puede utilizar otros atributos del certificado para identificar de manera única el nodo. El atributo de certificado que utilice en la política de confianza debe corresponder al nodeName que haya establecido en la configuración de nodeadm. Para obtener más información, consulte Referencia de nodeadm de nodos híbridos.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": [ "sts:TagSession", "sts:SetSourceIdentity" ], "Condition": { "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } }, { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}" }, "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } } ] }
    2. Seleccione Siguiente.

  5. En la página Agregar permisos, asocie una política personalizada o haga lo siguiente:

    1. En el cuadro Filtrar políticas, ingrese EKSDescribeClusterPolicy o el nombre de la política que creó anteriormente. Marque la casilla situada a la izquierda del nombre de la política en los resultados de la búsqueda.

    2. En el cuadro Filtrar políticas, escriba AmazonEC2ContainerRegistryPullOnly. Marque la casilla situada a la izquierda de AmazonEC2ContainerRegistryPullOnly en los resultados de la búsqueda.

    3. Elija Siguiente.

  6. En la página Nombrar, revisar y crear, haga lo siguiente:

    1. En Nombre del rol, ingrese un nombre único para su rol, por ejemplo, AmazonEKSHybridNodesRole.

    2. En Description (Descripción), sustituya el texto actual por un texto descriptivo, como Amazon EKS - Hybrid Nodes role.

    3. Elija Creación de rol.