Prevenção do problema "confused deputy" entre serviços - AWS Clean Rooms

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 do problema "confused deputy" entre serviços

O problema "confused deputy" é um problema 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. 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 usar as chaves de contexto de condição global aws:SourceArn nas políticas de recursos para limitar as permissões que o AWS Clean Rooms concede outro serviço ao recurso. Use aws:SourceArn se quiser que apenas um recurso seja associado ao acesso 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. Em AWSClean Rooms, você também precisa comparar com a chave de sts:ExternalId condição.

O valor de aws:SourceArn deve ser definido como o ARN da associação da função assumida.

O exemplo a seguir mostra como você pode usar a chave de contexto da condição global aws:SourceArn no AWS Clean Rooms para evitar o problema confused deputy.

nota

O exemplo de política se aplica à política de confiança da função de serviço AWS Clean Rooms usada para acessar dados e metadados de uma tabela configurada.

O valor de <query-runner-membership-id> precisa ser definido como o ID de associação do executor da consulta.

Todos os membros da colaboração podem visualizar os dados da tabela configurada, de forma que cada ARN de associação deva ser incluído na lista de membros. ARNs

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowIfExternalIdMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "sts:ExternalId": "arn:aws:*:us-east-1:*:dbuser:*/<query-runner-membership-id>*" } } }, { "Sid": "AllowIfSourceArnMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ForAnyValue:ArnEquals": { "aws:SourceArn": [ "arn:aws:cleanrooms:us-east-1:111122223333:membership/<member-1-membership-id>", "arn:aws:cleanrooms:us-east-1:444455556666:membership/<member-2-membership-id>" ] } } } ] }