Prevenção do problema de representante confuso entre serviços no Amazon EventBridge - Amazon EventBridge

Prevenção do problema de representante confuso entre serviços no Amazon EventBridge

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 executá-la. 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 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.

É recomendado 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 EventBridge concede ao recurso para outro serviço. 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:*: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.

Barramentos de eventos

Para destinos da regra de barramento de eventos do EventBridge, o valor de aws:SourceArn deve ser o ARN da regra.

O exemplo a seguir mostra como é possível usar as chaves de contexto de condição globais aws:SourceArn e aws:SourceAccount no EventBridge para evitar o problema "confused deputy". Este exemplo é para uso em uma política de confiança de perfil, para um perfil usado por uma regra do EventBridge.

{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:events:*:123456789012:rule/myRule" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }

Pipes do EventBridge

No EventBridge Pipes, o valor de aws:SourceArn deve ser o ARN do pipe.

O exemplo a seguir mostra como é possível usar as chaves de contexto de condição globais aws:SourceArn e aws:SourceAccount no EventBridge para evitar o problema "confused deputy". Este exemplo é para uso em uma política de confiança de perfil, para um perfil usado pelo EventBridge Pipes.

{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:pipe:*:123456789012::pipe/example" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }