Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Paso 1: configuración del clúster de Amazon EKS y configuración de los permisos de IAM

Modo de enfoque
Paso 1: configuración del clúster de Amazon EKS y configuración de los permisos de IAM - Amazon Keyspaces (para Apache Cassandra)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración del clúster de Amazon EKS y cree los recursos de IAM necesarios para permitir que una cuenta de servicio de Amazon EKS se conecte a la tabla de Amazon Keyspaces
  1. Cree un proveedor de Open ID Connect (OIDC) para el clúster de Amazon EKS. Esto es necesario para utilizar los roles de IAM en las cuentas de servicio. Para obtener más información sobre los proveedores de OIDC y cómo crearlos, consulte Creación de un proveedor de OIDC de IAM para su clúster en la Guía del usuario de Amazon EKS.

    1. Cree un proveedor de identidad de OIDC de IAM para su clúster con el siguiente comando. Este ejemplo asume que el nombre del clúster es my-eks-cluster. Si tiene un clúster con un nombre diferente, recuerde actualizar el nombre en todos los comandos futuros.

      eksctl utils associate-iam-oidc-provider --cluster my-eks-cluster --approve
    2. Confirme que el proveedor de identidades de OIDC se haya registrado en IAM con el siguiente comando.

      aws iam list-open-id-connect-providers --region aws-region

      La salida debería ser similar a la siguiente. Tome nota del nombre de recurso de Amazon (ARN) del OIDC. Lo necesitará en el siguiente paso al crear una política de confianza para la cuenta de servicio.

      { "OpenIDConnectProviderList": [ .. { "Arn": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" } ] }
  2. Cree una cuenta de servicio para el clúster de Amazon EKS. Las cuentas de servicio proporcionan una identidad para los procesos que se ejecutan en un Pod. Un pod es el objeto de Kubernetes más pequeño y sencillo que puede utilizar para implementar una aplicación en contenedores. A continuación, cree un rol de IAM que la cuenta de servicio pueda asumir para obtener permisos de acceso a los recursos. Puede acceder a cualquier servicio de AWS desde un pod que se haya configurado para usar una cuenta de servicio que pueda asumir un rol de IAM con permisos de acceso a ese servicio.

    1. Cree un nuevo espacio de nombres para la cuenta de servicio. Un espacio de nombres ayuda a aislar los recursos del clúster creados para este tutorial. Puede crear un nuevo espacio de nombres con el siguiente comando.

      kubectl create namespace my-eks-namespace
    2. Para usar un espacio de nombres personalizado, debe asociarlo a un perfil de Fargate. El siguiente código es un ejemplo de ello.

      eksctl create fargateprofile \ --cluster my-eks-cluster \ --name my-fargate-profile \ --namespace my-eks-namespace \ --labels *=*
    3. Cree una cuenta de servicio con el nombre my-eks-serviceaccount en el espacio de nombres my-eks-namespace para su clúster de Amazon EKS mediante el siguiente comando.

      cat >my-serviceaccount.yaml <<EOF apiVersion: v1 kind: ServiceAccount metadata: name: my-eks-serviceaccount namespace: my-eks-namespace EOF kubectl apply -f my-serviceaccount.yaml
    4. Ejecute el siguiente comando para crear una política de confianza que indique al rol de IAM que debe confiar en su cuenta de servicio. Esta relación de confianza es necesaria antes de que una entidad principal pueda asumir un rol. Debe realizar las siguientes modificaciones en el archivo:

      • Para Principal, introduzca el ARN que IAM devolvió al ejecutar el comando list-open-id-connect-providers. El ARN contiene su número de cuenta y su región.

      • En la instrucción condition, sustituya la Región de AWS y el identificador de OIDC.

      • Confirme que el nombre y el espacio de nombres de la cuenta de servicio sean correctos.

      Debe asociar el archivo de política de confianza en el siguiente paso al crear el rol de IAM.

      cat >trust-relationship.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:my-eks-namespace:my-eks-serviceaccount", "oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com" } } } ] } EOF

      Opcional: también puede agregar varias entradas en las condiciones StringEquals y StringLike para permitir que varias cuentas de servicio o espacios de nombres asuman el rol. Para permitir que su cuenta de servicio asuma un rol de IAM en otra cuenta de AWS diferente, consulte Permisos de IAM entre cuentas en la Guía del usuario de Amazon EKS.

  3. Cree un rol de IAM con el nombre my-iam-role para que lo asuma la cuenta de servicio de Amazon EKS. Asocie el archivo de política de confianza creado en el último paso al rol. La política de confianza especifica la cuenta de servicio y el proveedor de OIDC en los que puede confiar el rol de IAM.

    aws iam create-role --role-name my-iam-role --assume-role-policy-document file://trust-relationship.json --description "EKS service account role"
  4. Asigne al rol de IAM permisos para Amazon Keyspaces mediante la asociación de una política de acceso.

    1. Asocie una política de acceso para definir las acciones que el rol de IAM puede realizar en recursos específicos de Amazon Keyspaces. Para este tutorial utilizamos la política administrada de AWS AmazonKeyspacesFullAccess, ya que nuestra aplicación escribirá datos en la tabla de Amazon Keyspaces. Sin embargo, como práctica recomendada, se recomienda crear políticas de acceso personalizadas que implementen el principio de privilegios mínimos. Para obtener más información, consulte Cómo funciona Amazon Keyspaces con IAM.

      aws iam attach-role-policy --role-name my-iam-role --policy-arn=arn:aws:iam::aws:policy/AmazonKeyspacesFullAccess

      Confirme que la política se haya asociado correctamente al rol de IAM con la siguiente instrucción.

      aws iam list-attached-role-policies --role-name my-iam-role

      La salida debería tener este aspecto.

      { "AttachedPolicies": [ { "PolicyName": "AmazonKeyspacesFullAccess", "PolicyArn": "arn:aws:iam::aws:policy/AmazonKeyspacesFullAccess" } ] }
    2. Anote en la cuenta de servicio el nombre de recurso de Amazon (ARN) del rol de IAM que puede asumir. Asegúrese de actualizar el ARN del rol con su ID de cuenta.

      kubectl annotate serviceaccount -n my-eks-namespace my-eks-serviceaccount eks.amazonaws.com/role-arn=arn:aws:iam::111122223333:role/my-iam-role
  5. Confirme que el rol de IAM y la cuenta de servicio se hayan configurado correctamente.

    1. Confirme que la política de confianza del rol de IAM se haya configurado correctamente con la siguiente instrucción.

      aws iam get-role --role-name my-iam-role --query Role.AssumeRolePolicyDocument

      La salida debería ser similar a la siguiente.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.aws-region/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com", "oidc.eks.aws-region.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:my-eks-namespace:my-eks-serviceaccount" } } } ] }
    2. Confirme que en la cuenta de servicio de Amazon EKS se haya anotado el rol de IAM.

      kubectl describe serviceaccount my-eks-serviceaccount -n my-eks-namespace

      La salida debería ser similar a la siguiente.

      Name: my-eks-serviceaccount Namespace:my-eks-namespace Labels: <none> Annotations: eks.amazonaws.com/role-arn: arn:aws:iam::111122223333:role/my-iam-role Image pull secrets: <none> Mountable secrets: <none> Tokens: <none> [...]

Tras crear la cuenta de servicio de Amazon EKS y el rol de IAM, y tras configurar las relaciones y los permisos necesarios, continúe con Paso 2: configuración de la aplicación.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.