View a markdown version of this page

Cross-service prevenção delegada confusa - AWS Amplify Hospedagem

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

Cross-service prevenção delegada confusa

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 no problema confuso do deputado. Cross-service a representação 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 aws:SourceArnas chaves de contexto de condição aws:SourceAccountglobal nas políticas de recursos para limitar as permissões que AWS Amplify concedem outro serviço ao recurso. Se você utilizar ambas as chaves de contexto de condição global, o valor aws:SourceAccount e a conta aws:SourceArn no valor deverão utilizar o mesmo ID de conta quando utilizados na mesma instrução de política.

O valor de aws:SourceArn deve ser o ARN da filial do aplicativo Amplify. Especifique esse valor no formato arn:Partition:amplify:Region:Account:apps/AppId/branches/BranchName.

A maneira mais eficaz de se proteger do problema ‘confused deputy’ é 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 se especificar vários recursos, use a chave de condição de contexto global aws:SourceArn com curingas (*) para as partes desconhecidas do ARN. Por exemplo, .arn:aws:servicename::123456789012:*

O exemplo a seguir mostra uma política de confiança de perfis que é possível aplicar para limitar o acesso a qualquer aplicativo Amplify em sua conta e evitar o problema de “confused deputy”. Para usar essa política, substitua o texto vermelho em itálico na política de exemplo por suas próprias informações.

JSON
{ "Version":"2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": [ "amplify.me-south-1.amazonaws.com", "amplify.eu-south-1.amazonaws.com", "amplify.ap-east-1.amazonaws.com", "amplifybackend.amazonaws.com", "amplify.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:amplify:us-east-1:123456789012:apps/*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }

O exemplo a seguir mostra uma política de confiança de perfis que é possível aplicar para limitar o acesso a um aplicativo Amplify específico em sua conta e evitar o problema de “confused deputy”. Para usar essa política, substitua o texto vermelho em itálico na política de exemplo por suas próprias informações.

JSON
{ "Version":"2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": [ "amplify.me-south-1.amazonaws.com", "amplify.eu-south-1.amazonaws.com", "amplify.ap-east-1.amazonaws.com", "amplifybackend.amazonaws.com", "amplify.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:amplify:us-east-1:123456789012:apps/d123456789/branches/*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }