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

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, AWS fornece ferramentas que ajudam você a proteger seus dados para todos os serviços com diretores de serviços que receberam acesso aos recursos em sua conta.

Recomendamos usar as chaves de contexto de condição SourceAccount global aws: SourceArn e aws: nas políticas de recursos para limitar as permissões que CodeDeploy concedem outro serviço ao recurso. Se você utilizar ambas as chaves de contexto de condição global, e o valor aws:SourceArn contiver o ID da conta, o valor aws:SourceAccount e a conta no valor aws:SourceArn deverão utilizar o mesmo ID de conta quando utilizados na mesma declaração da política. Use aws:SourceArn se quiser que apenas um recurso seja associado ao acesso entre serviços. Use aws:SourceAccount se quiser que qualquer recurso nessa conta seja associado ao uso entre serviços.

Para implantações EC2/locais, AWS Lambda e Amazon ECS regulares, o valor de deve aws:SourceArn incluir o ARN do CodeDeploy grupo de implantação com o qual pode assumir a função do IAM. CodeDeploy

Para implantações azul/verde do Amazon ECS criadas por meio de AWS CloudFormation, o valor de aws:SourceArn deve incluir o CloudFormation ARN da pilha com o qual CodeDeploy é permitido assumir a função do IAM.

A maneira mais eficaz de se proteger contra o problema do substituto confuso é usar a chave aws:SourceArn com o ARN completo do recurso. Se você não souber o ARN completo ou estiver especificando vários recursos, use caracteres curingas (*) para as partes desconhecidas.

Por exemplo, você pode usar a seguinte política de confiança com uma implantação EC2/local, AWS Lambda ou regular do Amazon ECS:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "codedeploy.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:codedeploy:us-east-1:111122223333:deploymentgroup:myApplication/*" } } } ] }

Para uma implantação azul/verde do Amazon ECS criada por meio de AWS CloudFormation, você pode usar:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "codedeploy.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:cloudformation:us-east-1:111122223333:stack/MyCloudFormationStackName/*" } } } ] }