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.
Utilice el CSI del proveedor de AWS secretos y configuración con Pod Identity para Amazon EKS
La integración del proveedor de AWS secretos y configuración con el agente de identidad del pod para Amazon Elastic Kubernetes Service proporciona una seguridad mejorada, una configuración simplificada y un rendimiento mejorado para las aplicaciones que se ejecutan en Amazon EKS. Pod Identity simplifica la autenticación de IAM para Amazon EKS al recuperar secretos de Secrets Manager o parámetros de Parameter Store AWS Systems Manager .
Pod Identity de Amazon EKS agiliza el proceso de configuración de los permisos de IAM para las aplicaciones de Kubernetes, ya que permite que los permisos se configuren directamente a través de las interfaces de Amazon EKS, lo que reduce el número de pasos y elimina la necesidad de cambiar entre los servicios de Amazon EKS e IAM. Pod Identity permite usar un solo rol de IAM en varios clústeres sin actualizar las políticas de confianza y admite etiquetas de sesión de rol para un control de acceso más detallado. Este enfoque no solo simplifica la administración de políticas al permitir la reutilización de políticas de permisos en todos los roles, sino que también mejora la seguridad al permitir el acceso a los recursos de AWS en función de las etiquetas coincidentes.
Funcionamiento
-
Pod Identity asigna un rol de IAM al pod.
-
ASCP usa esta función para autenticarse con. Servicios de AWS
-
Si está autorizado, el ASCP recupera los secretos solicitados y los pone a disposición del pod.
Para obtener más información, consulte Descripción del funcionamiento de Pod Identity de Amazon EKS en la Guía del usuario de Amazon EKS.
Requisitos previos
importante
Pod Identity solo es compatible con Amazon EKS en la nube. No es compatible con Amazon EKS Anywhere
-
Clúster de Amazon EKS (versión 1.24 o posterior)
-
Acceso a un clúster AWS CLI de Amazon EKS a través de
kubectl
-
Acceso a dos Cuentas de AWS (para acceso entre cuentas)
Cómo instalar el agente de Pod Identity de Amazon EKS
Para usar Pod Identity con el clúster, debe instalar el complemento del agente de Pod Identity de Amazon EKS.
Cómo instalar el agente de Pod Identity
-
Instala el complemento Pod Identity Agent en tu clúster:
eksctl create addon \ --name eks-pod-identity-agent \ --cluster
clusterName
\ --regionregion
Cómo configurar el ASCP con Pod Identity
-
Crea una política de permisos que conceda
secretsmanager:GetSecretValue
secretsmanager:DescribeSecret
permisos a los secretos a los que el Pod necesita acceder. Para ver una política de ejemplo, consulte Ejemplo: Permiso para leer y describir secretos individuales. -
Cree un rol de IAM que pueda ser asumido por la entidad principal de servicio de Amazon EKS para Pod Identity:
Adjunta la política de IAM al rol:
aws iam attach-role-policy \ --role-name
MY_ROLE
\ --policy-arnPOLICY_ARN
-
Cree una asociación de Pod Identity. Para ver un ejemplo, consulte Creación de una asociación de Pod Identity en la Guía del usuario de Amazon EKS.
-
Crea una
SecretProviderClass
que especifique qué secretos montar en el pod:kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/examples/ExampleSecretProviderClass-PodIdentity.yaml
La diferencia clave SecretProviderClass entre IRSA y Pod Identity es el parámetro
usePodIdentity
opcional. Es un campo opcional que determina el enfoque de autenticación. Si no se especifica, se utilizarán los roles de IAM para IRSA de manera predeterminada.-
Para usar Pod Identity de EKS, utilice cualquiera de estos valores:
"true", "True", "TRUE", "t", "T"
. -
Para usar IRSA de forma explícita, establézcalo en cualquiera de estos valores:
"false", "False", "FALSE", "f", or "F"
.
-
-
Despliega el módulo que contiene los secretos que se encuentran en:
/mnt/secrets-store
kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/examples/ExampleDeployment-PodIdentity.yaml
-
Si utiliza un clúster privado de Amazon EKS, asegúrese de que la VPC en la que se encuentra el clúster tenga un AWS STS punto de conexión. Para obtener más información sobre la creación de un punto de conexión, consulte Puntos de conexión de VPC de tipo interfaz en la Guía del usuario de AWS Identity and Access Management .
Cómo verificar el montaje del secreto
Para comprobar que el secreto está montado correctamente, ejecute el siguiente comando:
kubectl exec -it $(kubectl get pods | awk '/
pod-identity-deployment
/{print $1}' | head -1) -- cat /mnt/secrets-store/MySecret
Para configurar Amazon EKS Pod Identity para acceder a los secretos de Secrets Manager
-
Crea una política de permisos que conceda
secretsmanager:GetSecretValue
secretsmanager:DescribeSecret
permisos a los secretos a los que el Pod necesita acceder. Para ver una política de ejemplo, consulte Ejemplo: Permiso para leer y describir secretos individuales. -
Crea un secreto en Secrets Manager, si aún no lo tienes.
Solución de problemas
Puede ver la mayoría de los errores si describe la implementación del pod.
Cómo ver los mensajes de error del contenedor
-
Obtenga una lista de nombres de pods con el siguiente comando. Si no está utilizando el espacio de nombres predeterminado, use
-n
.NAMESPACE
kubectl get pods
-
Para describir el pod, en el siguiente comando,
PODID
usa el ID de pod de los pods que encontraste en el paso anterior. Si no está utilizando el espacio de nombres predeterminado, use-n
.NAMESPACE
kubectl describe pod/
PODID
Cómo ver los errores del ASCP
-
Para obtener más información en los registros del proveedor, usa el siguiente comando para
PODID
usar el ID del pod csi-secrets-store-provider-aws.kubectl -n kube-system get pods kubectl -n kube-system logs pod/
PODID