Prevenção do problema de confused deputy entre serviços no Amazon EKS - Amazon EKS

Ajudar a melhorar esta página

Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.

Prevenção do problema de confused deputy entre serviços no Amazon EKS

O problema de confused deputy é uma questão de segurança em que uma entidade que não tem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executar a ação. Na AWS, a personificação entre serviços pode resultar no problema do ‘confused deputy’. A personificação entre serviços pode ocorrer quando um serviço (o serviço de chamada) chama outro serviço (o serviço chamado). O serviço de chamada pode ser manipulado a usar suas permissões para atuar nos recursos de outro cliente de modo a não ter permissão de acesso. Para evitar isso, a AWS fornece ferramentas que ajudam você a proteger seus dados para todos os serviços com entidades principais de serviço que receberam acesso aos recursos em sua conta.

Recomendamos o uso das chaves de contexto de condição global aws:SourceArn, aws:SourceAccount em políticas de recursos para limitar as permissões que o Amazon Elastic Kubernetes Service (Amazon EKS) concede para o recurso a outro serviço.

aws:SourceArn

Use aws:SourceArn se quiser associar apenas um recurso ao acesso entre serviços.

aws:SourceAccount

Use aws:SourceAccount se quiser permitir que qualquer recurso nessa conta seja associado ao uso entre serviços.

A maneira mais eficaz de se proteger contra o problema do confused deputy é usar a chave de contexto de condição global aws:SourceArn com o ARN completo do recurso. Se você não souber o ARN completo do recurso ou especificar vários recursos, use a chave de condição de contexto global aws:SourceArn com caracteres curinga (*) para as partes desconhecidas do ARN. Por exemplo, . arn:aws:<servicename>:*:<123456789012>:*

Se o valor do aws:SourceArn não contiver o ID da conta, como um ARN de bucket do Amazon S3, você deverá usar ambos, a aws:SourceAccount e o aws:SourceArn para limitar as permissões.

Prevenção contra o problema confused deputy entre serviços no perfil do cluster do Amazon EKS

É necessário um perfil do IAM de cluster do Amazon EKS para cada cluster. Os clusters do Kubernetes gerenciados pelo Amazon EKS usam esse perfil para gerenciar nós, e o provedor de nuvem legado usa esse perfil para criar balanceadores de carga com o Elastic Load Balancing para serviços. Essas ações de cluster só podem afetar a mesma conta; portanto, recomendamos que você limite cada perfil de cluster a esse cluster e a essa conta. Essa é uma aplicação específica da AWS recomendação de seguir o princípio do privilégio mínimo em sua conta.

Formato do ARN de origem

O valor aws:SourceArn deve ser o ARN de um cluster do EKS no formato arn:aws:eks:region:account:cluster/cluster-name . Por exemplo, arn:aws:eks:us-west-2:123456789012:cluster/my-cluster.

Formato de política de confiança para perfis de cluster do EKS

O exemplo a seguir mostra como é possível usar as chaves de contexto de condição global aws:SourceArn e aws:SourceAccount no Amazon EKS, a fim de evitar o problema de confused deputy.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:us-west-2:123456789012:cluster/my-cluster" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }