Ayude a mejorar esta página
¿Quiere contribuir a esta guía del usuario? Elija el enlace Editar esta página en GitHub que se encuentra en el panel derecho de cada página. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.
Ejemplos de políticas de Amazon EKS basadas en identidades
De forma predeterminada, los usuarios y roles de IAM no tienen permiso para crear ni modificar recursos de Amazon EKS. Tampoco pueden realizar tareas mediante AWS Management Console, AWS CLI o la API de AWS. Un administrador de IAM debe crear políticas de IAM que concedan permisos a los usuarios y a los roles para realizar operaciones de la API concretas en los recursos especificados que necesiten. El administrador debe adjuntar esas políticas a los usuarios o grupos de IAM que necesiten esos permisos.
Para obtener más información acerca de cómo crear una política basada en identidad de IAM con estos documentos de políticas de JSON de ejemplo, consulte Creación de políticas en la pestaña JSON en la Guía del usuario de IAM.
Cuando se crea un clúster de Amazon EKS, la entidad principal de IAM que crea el clúster recibe permisos de system:masters
de forma automática en la configuración del role-based access control (RBAC, control de acceso basado en roles) del clúster en el plano de control de Amazon EKS. Esta entidad principal no aparece en ninguna configuración visible, así que asegúrese de realizar un seguimiento de la entidad principal que creó el clúster originalmente. Para conceder a entidades principales adicionales de IAM la capacidad de interactuar con el clúster, edite el aws-auth ConfigMap
dentro de Kubernetes y cree un rolebinding
o clusterrolebinding
de Kubernetes con el nombre de un group
que especifique en el aws-auth ConfigMap
.
Para obtener más información sobre cómo trabajar con el ConfigMap, consulte Concesión a los usuarios y roles de IAM de acceso a las APIs de Kubernetes.
Temas
- Prácticas recomendadas sobre las políticas
- Utilizar la consola de Amazon EKS
- Permitir a los usuarios de IAM ver sus propios permisos
- Crear un clúster de Kubernetes en la nube de AWS
- Crea un clúster local de Kubernetes en un Outpost
- Actualice un clúster de Kubernetes
- Enumeración o descripción de todos los clústeres
Prácticas recomendadas sobre las políticas
Las políticas basadas en identidades determinan si alguien puede crear, eliminar o acceder a los recursos de Amazon EKS de su cuenta. Estas acciones pueden generar costos adicionales para su cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:
-
Comience con las políticas administradas por AWS y continúe con los permisos de privilegio mínimo: a fin de comenzar a conceder permisos a los usuarios y las cargas de trabajo, utilice las políticas administradas por AWS, que conceden permisos para muchos casos de uso comunes. Están disponibles en su cuenta de AWS. Se recomienda definir políticas gestionadas por el cliente de AWS específicas para sus casos de uso a fin de reducir aún más los permisos. Con el fin de obtener más información, consulte las políticas administradas de AWS o las políticas administradas de AWS para funciones de trabajo en la Guía de usuario de IAM.
-
Aplique permisos de privilegio mínimo: cuando establezca permisos con políticas de IAM, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se puedes llevar a cabo en determinados recursos en condiciones específicas, también conocidos como permisos de privilegios mínimos. Con el fin de obtener más información sobre el uso de IAM para aplicar permisos, consulta Políticas y permisos en IAM en la Guía del usuario de IAM.
-
Utiliza condiciones en las políticas de IAM para restringir aún más el acceso: puedes agregar una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puedes escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puede usar condiciones para conceder acceso a acciones de servicios si se emplean a través de un servicio determinado de AWS como, por ejemplo, AWS CloudFormation. Para obtener más información, consulte Elementos de la política de JSON de IAM: condición en la Guía del usuario de IAM.
-
Utiliza el analizador de acceso de IAM para validar las políticas de IAM con el fin de garantizar la seguridad y funcionalidad de los permisos: el analizador de acceso de IAM valida políticas nuevas y existentes para que respeten el lenguaje (JSON) de las políticas de IAM y las prácticas recomendadas de IAM. El analizador de acceso de IAM proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para más información, consulte Política de validación de Analizador de acceso de IAM en la Guía de usuario de IAM.
-
Solicite la autenticación multifactor (MFA): si se encuentra en una situación en la que necesita un usuario raíz o usuarios de IAM en su cuenta de AWS, active la MFA para mayor seguridad. Para solicitar la MFA cuando se invocan las operaciones de la API, agregue las condiciones de la MFA a sus políticas. Para más información, consulte Configuración del acceso a una API protegido por MFA en la Guía de usuario de IAM.
Para obtener más información sobre las prácticas recomendadas de IAM, consulte las Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.
Utilizar la consola de Amazon EKS
Para acceder a la consola de Amazon EKS, una entidad principal de IAM debe tener un conjunto mínimo de permisos. Estos permisos permiten que la entidad principal enumere y vea detalles sobre los recursos de Amazon EKS en su cuenta de AWS. Si crea una política basada en identidad que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las entidades principales que tengan esa política adjunta.
Para asegurarse de que las entidades principales de IAM puedan seguir utilizando la consola de Amazon EKS, cree una política con su propio nombre, como AmazonEKSAdminPolicy
. Adjunte la política a las entidades principales. Para obtener más información, consulte Adición y eliminación de permisos de identidad de IAM en la Guía del usuario de IAM.
importante
La siguiente política de ejemplo permite que una entidad principal vea información en la pestaña Configuración en la consola. Para ver información en las pestañas Resumen y Recursos en la AWS Management Console, la entidad principal también necesita permisos de Kubernetes. Para obtener más información, consulte Permisos necesarios.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "eks.amazonaws.com" } } } ] }
No es necesario conceder permisos mínimos para la consola a las entidades principales que solo realizan llamadas a la AWS CLI o a la API de AWS. En su lugar, permite acceso únicamente a las acciones que coincidan con la operación de API que intenta realizar.
Permitir a los usuarios de IAM ver sus propios permisos
En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas gestionadas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para completar esta acción en la consola o mediante programación con AWS CLI o la API de AWS.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }
Crear un clúster de Kubernetes en la nube de AWS
En esta política de ejemplo se incluyen los permisos mínimos necesarios para crear un clúster de Amazon EKS denominado my-cluster
en la región de AWS us-west-2
. Puede reemplazar la región de AWS por la región de AWS en la que desea implementar un clúster. Si ve una advertencia que diga Las acciones de su política no admiten permisos de nivel de recursos y requieren que elija All resources
en la AWS Management Console, puede omitirla con toda tranquilidad. Si su cuenta ya tiene el rol AWSServiceRoleForAmazonEKS
, puede quitar la acción iam:CreateServiceLinkedRole
de la política. Si alguna vez creó un clúster de Amazon EKS en su cuenta, este rol ya existe, a menos que lo haya eliminado.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "eks:CreateCluster", "Resource": "arn:aws:eks:us-west-2:111122223333:cluster/my-cluster" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::111122223333:role/aws-service-role/eks.amazonaws.com/AWSServiceRoleForAmazonEKS", "Condition": { "ForAnyValue:StringEquals": { "iam:AWSServiceName": "eks" } } }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::111122223333:role/cluster-role-name" } ] }
Crea un clúster local de Kubernetes en un Outpost
En esta política de ejemplo se incluyen los permisos mínimos necesarios para crear un clúster local de Amazon EKS denominado my-cluster
en un Outpost en la región de AWS us-west-2
. Puede reemplazar la región de AWS por la región de AWS en la que desea implementar un clúster. Si ve una advertencia que diga Las acciones de su política no admiten permisos de nivel de recursos y requieren que elija All resources
en la AWS Management Console, puede omitirla con toda tranquilidad. Si su cuenta ya tiene el rol AWSServiceRoleForAmazonEKSLocalOutpost
, puede quitar la acción iam:CreateServiceLinkedRole
de la política. Si alguna vez creó un clúster local de Amazon EKS en un Outpost en su cuenta, este rol ya existe, a menos que lo haya eliminado.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "eks:CreateCluster", "Resource": "arn:aws:eks:us-west-2:111122223333:cluster/my-cluster" }, { "Action": [ "ec2:DescribeSubnets", "ec2:DescribeVpcs", "iam:GetRole" ], "Resource": "*", "Effect": "Allow" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::111122223333:role/aws-service-role/outposts.eks-local.amazonaws.com/AWSServiceRoleForAmazonEKSLocalOutpost" }, { "Effect": "Allow", "Action": [ "iam:PassRole", "iam:ListAttachedRolePolicies" ] "Resource": "arn:aws:iam::111122223333:role/cluster-role-name" }, { "Action": [ "iam:CreateInstanceProfile", "iam:TagInstanceProfile", "iam:AddRoleToInstanceProfile", "iam:GetInstanceProfile", "iam:DeleteInstanceProfile", "iam:RemoveRoleFromInstanceProfile" ], "Resource": "arn:aws:iam::*:instance-profile/eks-local-*", "Effect": "Allow" }, ] }
Actualice un clúster de Kubernetes
En esta política de ejemplo se incluyen los permisos mínimos necesarios para actualizar un clúster de Amazon EKS denominado my-cluster
en la región de AWS us-west-2.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "eks:UpdateClusterVersion", "Resource": "arn:aws:eks:us-west-2:111122223333:cluster/my-cluster" } ] }
Enumeración o descripción de todos los clústeres
En esta política de ejemplo se incluyen los permisos mínimos necesarios para enumerar y describir todos los clústeres de su cuenta. Una entidad principal de IAM tiene que ser capaz de enumerar y describir clústeres para usar el comando de update-kubeconfig
de AWS CLI.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster", "eks:ListClusters" ], "Resource": "*" } ] }