Prevenção contra o ataque do “substituto confuso” em todos os serviços - Amazon ECR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Prevenção contra o ataque do “substituto confuso” em todos os serviços

“Confused deputy” é um problema de segurança no qual uma entidade sem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executá-la. Em AWS, a falsificação de identidade entre serviços pode resultar em um problema confuso de delegado. 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 de modo a usar suas permissões para atuar nos recursos de outro cliente de uma forma na qual ele não deveria ter permissão para acessar. 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 e aws:SourceAccount em políticas de recursos para limitar as permissões que o Amazon ECR concede a outro serviço no recurso para o recurso. Use aws:SourceArn se quiser apenas um recurso associado a acessibilidade de serviço. 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 substituto confuso é 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:region:123456789012:*

Se o valor de aws:SourceArn não contiver o ID da conta, como um ARN de bucket do Amazon S3, você deverá usar ambas as chaves de contexto de condição global para limitar as permissões.

O valor de aws:SourceArn deve ser ResourceDescription.

O exemplo a seguir mostra como você pode usar as chaves de contexto de condição aws:SourceAccount global aws:SourceArn e as chaves de contexto em uma política de repositório do Amazon ECR para permitir o AWS CodeBuild acesso às ações de API do Amazon ECR necessárias para a integração com esse serviço e, ao mesmo tempo, evitar o problema confuso do substituto.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"CodeBuildAccess", "Effect":"Allow", "Principal":{ "Service":"codebuild.amazonaws.com" }, "Action":[ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Condition":{ "ArnLike":{ "aws:SourceArn":"arn:aws:codebuild:region:123456789012:project/project-name" }, "StringEquals":{ "aws:SourceAccount":"123456789012" } } } ] }