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.
Entradas de acceso a EKS
Puede utilizar eksctl para gestionar las entradas de acceso a EKS. Utilice las entradas de acceso para conceder permisos de Kubernetes a las identidades de IAM de AWS. Por ejemplo, puede conceder a un rol de desarrollador un permiso para leer los recursos de Kubernetes en un clúster.
En este tema se explica cómo usar eksctl para administrar las entradas de acceso. Para obtener información general sobre las entradas de acceso, consulte Otorgar a los usuarios de IAM acceso a Kubernetes con entradas de acceso EKS.
Puede adjuntar las políticas de acceso de Kubernetes definidas por AWS o asociar una identidad de IAM a un grupo de Kubernetes.
Si necesita definir las políticas de Kubernetes del cliente, asocie la identidad de IAM a un grupo de Kubernetes y conceda permisos a ese grupo.
Modo de autenticación de clústeres
Solo puede usar entradas de acceso si el modo de autenticación del clúster lo permite.
Para obtener más información, consulte Establecer el modo de autenticación de clúster
Configure el modo de autenticación con un archivo YAML
eksctlha añadido un nuevo accessConfig.authenticationMode campo en ClusterConfig el que se puede establecer uno de los tres valores siguientes:
-
CONFIG_MAP- predeterminado en la API EKS, solo seaws-authConfigMap usará -
API- solo se utilizará la API de entradas de acceso -
API_AND_CONFIG_MAP- entrada predeterminadaeksctl: se pueden utilizaraws-authConfigMap tanto la API como la API de entradas de acceso
Configura el modo de autenticación en ClusterConfig YAML:
accessConfig: authenticationMode: <>
Actualice el modo de autenticación con un comando
Si desea utilizar entradas de acceso en un clúster ya existente y no creado por eksctl, en el que se utilice la CONFIG_MAP opción, el usuario tendrá que configurarla primero en. authenticationMode API_AND_CONFIG_MAP Para ello, eksctl ha introducido un nuevo comando para actualizar el modo de autenticación del clúster, que funciona tanto con los indicadores CLI, p. ej.
eksctl utils update-authentication-mode --cluster my-cluster --authentication-mode API_AND_CONFIG_MAP
Acceda a los recursos de entrada
Las entradas de acceso tienen un tipo, como STANDARD oEC2_LINUX. El tipo depende de cómo se utilice la entrada de acceso.
-
El
standardtipo es para conceder permisos de Kubernetes a los usuarios y roles de IAM.-
Por ejemplo, puede ver los recursos de Kubernetes en la consola de AWS adjuntando una política de acceso al rol o al usuario que utilice para acceder a la consola.
-
-
Los
EC2_WINDOWStiposEC2_LINUXy sirven para conceder permisos de Kubernetes a las instancias. EC2 Las instancias utilizan estos permisos para unirse al clúster.
Para obtener más información sobre los tipos de entradas de acceso, consulte Crear entradas de acceso
Entidades de IAM
Puede utilizar las entradas de acceso para conceder permisos de Kubernetes a las identidades de IAM, como los usuarios y las funciones de IAM.
Utilice el accessConfig.accessEntries campo para asociar el ARN de un recurso de IAM a una API EKS de Access Entries. Por ejemplo:
accessConfig: authenticationMode: API_AND_CONFIG_MAP accessEntries: - principalARN: arn:aws:iam::111122223333:user/my-user-name type: STANDARD kubernetesGroups: # optional Kubernetes groups - group1 # groups can used to give permissions via RBAC - group2 - principalARN: arn:aws:iam::111122223333:role/role-name-1 accessPolicies: # optional access polices - policyARN: arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy accessScope: type: namespace namespaces: - default - my-namespace - dev-* - principalARN: arn:aws:iam::111122223333:role/admin-role accessPolicies: # optional access polices - policyARN: arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy accessScope: type: cluster - principalARN: arn:aws:iam::111122223333:role/role-name-2 type: EC2_LINUX
Además de asociar las políticas de EKS, también se pueden especificar los grupos de Kubernetes a los que pertenece una entidad de IAM y, por lo tanto, conceder los permisos mediante RBAC.
Fargate y grupos de nodos gestionados
La integración con las entradas de acceso a estos recursos se logrará entre bastidores, mediante la API EKS. Los grupos de nodos gestionados y los pods de Fargate recién creados crearán entradas de acceso a la API, en lugar de utilizar recursos RBAC precargados. Los grupos de nodos y los pods de Fargate existentes no cambiarán y seguirán dependiendo de las entradas del mapa de configuración de aws-auth.
Grupos de nodos autogestionados
Cada entrada de acceso tiene un tipo. Para autorizar grupos de nodos autogestionados, eksctl creará una entrada de acceso única para cada grupo de nodos con el ARN principal establecido en el ARN del rol de nodo y el tipo establecido en AMIFamily o en función del grupo de nodos. EC2_LINUX EC2_WINDOWS
Al crear sus propias entradas de acceso, también puede especificar EC2_LINUX (para una función de IAM utilizada con nodos autogestionados de Linux o Bottlerocket), EC2_WINDOWS (para una función de IAM utilizada con nodos autogestionados de Windows), FARGATE_LINUX (para una función de IAM utilizada con AWS Fargate (Fargate)) o como un tipo. STANDARD Si no especifica un tipo, el tipo predeterminado se establece en. STANDARD
nota
Al eliminar un grupo de nodos creado con uno ya existenteinstanceRoleARN, es responsabilidad del usuario eliminar la entrada de acceso correspondiente cuando no haya más grupos de nodos asociados a ella. Esto se debe a que eksctl no intenta averiguar si grupos de nodos autogestionados no creados por eksctl siguen utilizando una entrada de acceso, ya que se trata de un proceso complicado.
Crea una entrada de acceso
Esto se puede hacer de dos maneras diferentes: durante la creación del clúster, especificando las entradas de acceso deseadas como parte del archivo de configuración y ejecutándolo:
eksctl create cluster -f config.yaml
O después de la creación del clúster, ejecuta:
eksctl create accessentry -f config.yaml
Para ver un ejemplo de archivo de configuración para crear entradas de acceso, consulta 40-access-entries.yaml
Obtenga la entrada de acceso
El usuario puede recuperar todas las entradas de acceso asociadas a un clúster determinado ejecutando una de las siguientes acciones:
eksctl get accessentry -f config.yaml
OR
eksctl get accessentry --cluster my-cluster
Como alternativa, para recuperar solo la entrada de acceso correspondiente a una determinada entidad de IAM, se debe utilizar la --principal-arn bandera, p. ej.
eksctl get accessentry --cluster my-cluster --principal-arn arn:aws:iam::111122223333:user/admin
Eliminar la entrada de acceso
Para eliminar una sola entrada de acceso a la vez, utilice:
eksctl delete accessentry --cluster my-cluster --principal-arn arn:aws:iam::111122223333:user/admin
Para eliminar varias entradas de acceso, utilice la --config-file marca y especifique todas las entradas principalARN’s correspondientes a las entradas de acceso en el accessEntry campo de nivel superior, p. ej.
... accessEntry: - principalARN: arn:aws:iam::111122223333:user/my-user-name - principalARN: arn:aws:iam::111122223333:role/role-name-1 - principalARN: arn:aws:iam::111122223333:role/admin-role
eksctl delete accessentry -f config.yaml
Migre desde aws-auth ConfigMap
El usuario puede migrar sus identidades de IAM existentes de aws-auth configmap a las entradas de acceso ejecutando lo siguiente:
eksctl utils migrate-to-access-entry --cluster my-cluster --target-authentication-mode <API or API_AND_CONFIG_MAP>
Si el --target-authentication-mode indicador está establecido enAPI, el modo de autenticación cambia a API modo (se omite si ya está en API modo), las asignaciones de identidad de IAM se migrarán a las entradas de acceso y aws-auth configmap se eliminará del clúster.
Cuando el --target-authentication-mode indicador está establecido enAPI_AND_CONFIG_MAP, el modo de autenticación cambia al modo (se omite si ya está en API_AND_CONFIG_MAP API_AND_CONFIG_MAP modo), las asignaciones de identidad de IAM se migrarán a las entradas de acceso, pero se conservará el mapa de configuración. aws-auth
nota
Si el --target-authentication-mode indicador está establecido enAPI, este comando no actualizará el modo de autenticación al API modo si aws-auth configmap tiene una de las siguientes restricciones.
-
Hay un mapeo de identidad a nivel de cuenta.
-
Uno o más Roles/Users están asignados a los grupos de kubernetes que comienzan con un prefijo
system:(excepto los grupos específicos de EKS, es decir,system:mastersetc.).system:bootstrapperssystem:nodes -
Uno o más mapas de identidad de IAM corresponden a un [rol vinculado al servicio] (enlace: -.html). IAM/latest/UserGuide/using service-linked-roles
Inhabilite los permisos de administrador del creador del clúster
eksctlha agregado un nuevo campo accessConfig.bootstrapClusterCreatorAdminPermissions: boolean que, cuando se establece en falso, deshabilita la concesión de permisos de administrador del clúster a la identidad de IAM que crea el clúster, es decir
añada la opción al archivo de configuración:
accessConfig: bootstrapClusterCreatorAdminPermissions: false
y ejecuta:
eksctl create cluster -f config.yaml