View a markdown version of this page

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 metadados da tabela configurada para que cada ARN de associação deva ser incluído na lista de membros. ARNs

nota

Quando uma função de serviço é criada por meio do AWS Clean Rooms console, todos os membros atuais da colaboração são incluídos na condição confusa de substituto por padrão.

Se você estiver adicionando novos membros a uma colaboração que já tem tabelas configuradas associadas a ela, certifique-se de atualizar a condição confusa de substituto da sua função de serviço com o ARN de associação do novo membro.

Se você não atualizar a condição confusa de substituto de sua função de serviço após adicionar um novo membro, esse novo membro não poderá acessar as informações recuperadas usando essa função. AWS Clean Rooms

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>" ] } } } ] }