Prevenção do problema do substituto confuso 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 do substituto confuso entre serviços

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. 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 substituto confuso é 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 do perfil de serviço que o AWS Clean Rooms usa para acessar os dados do cliente.

O valor de membershipID é seu ID de membro do AWS Clean Rooms na colaboração.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIfExternalIdMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "sts:ExternalId": "arn:aws:*:aws-region:*:dbuser:*/membershipID*" } } }, { "Sid": "AllowIfSourceArnMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ForAnyValue:ArnEquals": { "aws:SourceArn": "arn:aws:cleanrooms:aws-region:123456789012:membership/membershipID" } } } ] }