

 **Ayude a mejorar esta página** 

Para contribuir a esta guía del usuario, elija el enlace **Edit this page on GitHub** que se encuentra en el panel derecho de cada página.

# Cómo preparar las credenciales para los nodos híbridos
<a name="hybrid-nodes-creds"></a>

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. Le recomendamos 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
<a name="hybrid-nodes-role"></a>

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](hybrid-nodes-cluster-prep.md).

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 al que quiere conectar los nodos híbridos. Si no activa 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 IPv4 del servicio a la configuración de nodos que transmite al comando `nodeadm init`.
+ Permisos para que `nodeadm` utilice la acción `eks:ListAccessEntries` a fin de enumerar las entradas de acceso en el clúster al que quiere conectar los nodos híbridos. Si no activa la acción `eks:ListAccessEntries`, deberá transmitir el indicador `--skip cluster-access-validation` al ejecutar el comando `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](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryPullOnly.html).
+ Si utiliza AWS SSM, debe conceder permisos a `nodeadm init` para usar activaciones híbridas de AWS SSM, según se define en la política [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html](https://docs.aws.amazon.com/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
<a name="hybrid-nodes-ssm"></a>

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](#hybrid-nodes-create-role). Siga las instrucciones que aparecen en [Cómo crear una activación híbrida para registrar nodos en Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/hybrid-activation-managed-nodes.html) 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](https://docs.aws.amazon.com/systems-manager/latest/userguide/activations.html) 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](https://aws.amazon.com/eks/pricing/). Para obtener más información, consulte [Precios de AWS Systems Manager](https://aws.amazon.com/systems-manager/pricing/).

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.

Le recomendamos 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](https://docs.aws.amazon.com/systems-manager/latest/userguide/hybrid-activation-managed-nodes.html) 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
<a name="hybrid-nodes-iam-roles-anywhere"></a>

Siga las instrucciones que aparecen en [Introducción a IAM Roles Anywhere](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/getting-started.html) 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.

Cuando agregue el rol de IAM de Nodos híbridos al perfil, seleccione **Aceptar nombre de sesión de rol personalizado** en el panel **Nombre de sesión de rol personalizado**, ubicado en la parte inferior de la página **Editar perfil** en la consola de AWS IAM Roles Anywhere. Corresponde al campo [acceptRoleSessionName](https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateProfile.html#rolesanywhere-CreateProfile-request-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](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/authentication-create-session#credentials-object) 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](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_UpdateRole.html).

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
<a name="hybrid-nodes-create-role"></a>

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
<a name="hybrid-nodes-creds-cloudformation"></a>

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](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

 **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'
   ```

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

   1. 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`.

   1. 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"
        }
      }
      ```

1. 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](https://console.aws.amazon.com/acm-pca/home). Siga las instrucciones que aparecen en la [Guía del usuario de AWS Private CA](https://docs.aws.amazon.com/privateca/latest/userguide/PcaWelcome.html).

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

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

1. 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'
   ```

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

   1. 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 la [Referencia de `nodeadm` de nodos híbridos](hybrid-nodes-nodeadm.md). 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`.

   1. 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"
        }
      }
      ```

1. 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
<a name="hybrid-nodes-creds-awscli"></a>

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](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

 **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": "*"
           }
       ]
   }
   ```

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

   1. Reemplace `AWS_ACCOUNT_ID` por su ID de cuenta de AWS.

   1. 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`.

   1. 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:us-east-1:123456789012:managed-instance/*",
                  "Condition": {
                      "StringEquals": {
                          "ssm:resourceTag/TAG_KEY": "TAG_VALUE"
                      }
                  }
              }
          ]
      }
      ```

1. Cree la política mediante el siguiente comando

   ```
   aws iam create-policy \
       --policy-name EKSHybridSSMPolicy \
       --policy-document file://eks-hybrid-ssm-policy.json
   ```

1. 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":"123456789012"
               },
               "ArnEquals":{
                  "aws:SourceArn":"arn:aws:ssm:us-east-1:123456789012:*"
               }
            }
         }
      ]
   }
   ```

1. Cree el rol con el siguiente comando.

   ```
   aws iam create-role \
       --role-name AmazonEKSHybridNodesRole \
       --assume-role-policy-document file://eks-hybrid-ssm-trust.json
   ```

1. 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
   ```

1. 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](#hybrid-nodes-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](#hybrid-nodes-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 la [Referencia de `nodeadm` de nodos híbridos](hybrid-nodes-nodeadm.md).

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "rolesanywhere.amazonaws.com"
               },
               "Action": [
                   "sts:TagSession",
                   "sts:SetSourceIdentity"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:PrincipalTag/x509Subject/CN": "${aws:PrincipalTag/x509Subject/CN}"
                   },
                   "ArnEquals": {
                       "aws:SourceArn": "arn:aws:rolesanywhere:us-east-1:123456789012:trust-anchor/TA_ID"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "rolesanywhere.amazonaws.com"
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                       "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}",
                       "aws:PrincipalTag/x509Subject/CN": "${aws:PrincipalTag/x509Subject/CN}"
                   },
                   "ArnEquals": {
                       "aws:SourceArn": "arn:aws:rolesanywhere:us-east-1:123456789012:trust-anchor/TA_ID"
                   }
               }
           }
       ]
   }
   ```

1. Cree el rol con el siguiente comando.

   ```
   aws iam create-role \
       --role-name AmazonEKSHybridNodesRole \
       --assume-role-policy-document file://eks-hybrid-iamra-trust.json
   ```

1. 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
   ```

1. 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
<a name="hybrid-nodes-creds-console"></a>

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

1. Abra la [consola de Amazon IAM](https://console.aws.amazon.com/iam/home). 

1. En el panel de navegación izquierdo, elija **Políticas**.

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

1. 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**.

   1. Elija **Siguiente**.

1. En la página **Revisar y crear**

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

   1. Elija **Crear política**.

 **Pasos para las activaciones híbridas de AWS SSM** 

1. Abra la [consola de Amazon IAM](https://console.aws.amazon.com/iam/home). 

1. En el panel de navegación izquierdo, elija **Políticas**.

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

1. 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:us-east-1:123456789012:managed-instance/*",
               "Condition": {
                   "StringEquals": {
                       "ssm:resourceTag/TAG_KEY": "TAG_VALUE"
                   }
               }
           }
       ]
   }
   ```

   1. Elija **Siguiente**.

1. En la página **Revisar y crear**.

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

   1. Seleccione **Crear política**.

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

1. En la página **Roles**, elija **Crear rol**.

1. 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":"123456789012"
                  },
                  "ArnEquals":{
                     "aws:SourceArn":"arn:aws:ssm:us-east-1:123456789012:*"
                  }
               }
            }
         ]
      }
      ```

   1. Seleccione Siguiente.

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

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

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

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

   1. Elija **Siguiente**.

1. 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`.

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

   1. 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](#hybrid-nodes-iam-roles-anywhere).

1. Abra la [consola de Amazon IAM](https://console.aws.amazon.com/iam/home). 

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

1. En la página **Roles**, elija **Crear rol**.

1. 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](#hybrid-nodes-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 la [Referencia de `nodeadm` de nodos híbridos](hybrid-nodes-nodeadm.md).

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "rolesanywhere.amazonaws.com"
                  },
                  "Action": [
                      "sts:TagSession",
                      "sts:SetSourceIdentity"
                  ],
                  "Condition": {
                      "StringEquals": {
                          "aws:PrincipalTag/x509Subject/CN": "${aws:PrincipalTag/x509Subject/CN}"
                      },
                      "ArnEquals": {
                          "aws:SourceArn": "arn:aws:rolesanywhere:us-east-1:123456789012:trust-anchor/TA_ID"
                      }
                  }
              },
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "rolesanywhere.amazonaws.com"
                  },
                  "Action": "sts:AssumeRole",
                  "Condition": {
                      "StringEquals": {
                          "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}",
                          "aws:PrincipalTag/x509Subject/CN": "${aws:PrincipalTag/x509Subject/CN}"
                      },
                      "ArnEquals": {
                          "aws:SourceArn": "arn:aws:rolesanywhere:us-east-1:123456789012:trust-anchor/TA_ID"
                      }
                  }
              }
          ]
      }
      ```

   1. Seleccione Siguiente.

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

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

   1. Elija **Siguiente**.

1. 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`.

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

   1. Elija **Creación de rol**.