Creación de un proveedor de OIDC de IAM para su clúster - Amazon EKS

Creación de un proveedor de OIDC de IAM para su clúster

Su clúster tiene una URL de emisor de OpenID Connect (OIDC) asociada. Para utilizar roles de AWS Identity and Access Management (IAM) para cuentas de servicio, debe existir un proveedor de OIDC de IAM para la URL del emisor de OIDC de su clúster.

Requisitos previos
  • Un clúster de Amazon EKS existente. Para implementar uno, consulte Introducción a Amazon EKS.

  • La versión 2.9.9 o posterior, o bien, la versión 1.27.36 o posterior de la AWS CLI instalada y configurada en su dispositivo o AWS CloudShell. Puede comprobar su versión actual con aws --version | cut -d / -f2 | cut -d ' ' -f1. Los administradores de paquetes tales como yum, apt-get o Homebrew para macOS suelen estar atrasados varias versiones respecto de la versión de la AWS CLI más reciente. Para instalar la versión más reciente, consulte Instalar, actualizar y desinstalar la AWS CLI y Configuración rápida con aws configure en la Guía del usuario de AWS Command Line Interface. La versión de la AWS CLI instalada en AWS CloudShell también puede estar atrasada varias versiones respecto de la versión más reciente. Para actualizarla, consulte Installing AWS CLI to your home directory (Instalación de la AWS CLI en el directorio de inicio) en la Guía del usuario de AWS CloudShell.

  • La herramienta de línea de comandos de kubectl está instalada en su dispositivo o AWS CloudShell. La versión puede ser la misma o hasta una versión secundaria anterior o posterior a la versión Kubernetes de su clúster. Por ejemplo, si la versión del clúster es 1.23, puede utilizar la versión kubectl 1.22, 1.23 o 1.24 con él. Para instalar o actualizar kubectl, consulte Instalación o actualización del kubectl.

  • Un archivo kubectl config existente que contenga la configuración del clúster. Para crear un archivo kubectl config, consulte Creación o actualización de un archivo kubeconfig para un clúster de Amazon EKS.

Puede crear un proveedor de OIDC para el clúster mediante eksctl o la AWS Management Console.

eksctl
Requisito previo

La versión 0.124.0 o posterior de la herramienta de línea de comandos eksctl instalada en su dispositivo o AWS CloudShell. Para instalar o actualizar eksctl, consulte Instalación o actualización del eksctl.

Para crear un proveedor de identidades OIDC de IAM para su clúster con eksctl
  1. Determine si cuenta con un proveedor de OIDC de IAM existente para el clúster.

    Recupere el ID del proveedor de OIDC de su clúster y almacénelo en una variable.

    oidc_id=$(aws eks describe-cluster --name my-cluster --query "cluster.identity.oidc.issuer" --output text | cut -d '/' -f 5)
  2. Determine si un proveedor de OIDC de IAM con el ID de su clúster ya está en su cuenta.

    aws iam list-open-id-connect-providers | grep $oidc_id | cut -d "/" -f4

    Si el comando anterior devuelve la salida, significa que ya tiene un proveedor para su clúster y puede ir al siguiente paso. Si no se devuelve ninguna salida, debe crear un proveedor de OIDC de IAM para su clúster.

  3. Cree un proveedor de identidades de OIDC de IAM para su clúster con el siguiente comando. Reemplace my-cluster por su propio valor.

    eksctl utils associate-iam-oidc-provider --cluster my-cluster --approve
AWS Management Console
Para crear un proveedor de identidades de OIDC de IAM para su clúster con la AWS Management Console
  1. Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters.

  2. En el panel de la izquierda, seleccione Clústeres y, a continuación, seleccione el nombre de su clúster en la página Clusters (Clústeres).

  3. En la sección de Details (Detalles) en la pestaña Overview (Resumen), anote el valor de la OpenID Connect provider URL (URL del proveedor de OpenID Connect).

  4. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  5. En el panel de navegación, elija Identity Providers (Proveedores de identidad) en Access management (Administración de acceso). Si aparece un Proveedor que coincide con la URL de su clúster, ya cuenta con un proveedor para su clúster. Si no aparece un proveedor en la lista que coincida con la URL del clúster, debe crear uno.

  6. Para crear un proveedor, elija Add Provider (Agregar proveedor).

  7. En Provider type (Tipo de proveedor), seleccione OpenID Connect.

  8. En Provider URL (URL de proveedor), pegue la URL del proveedor de OIDC para su clúster y, a continuación, elija Get thumbprint (Obtener huella digital).

  9. En Audience (Público), ingrese sts.amazonaws.com y elija Add provider (Agregar proveedor).

Paso siguiente

Configuración de una cuenta de servicio de Kubernetes para asumir un rol de IAM