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 contra o ataque do “substituto confuso” em todos os serviços
“Confused deputy” é um problema de segurança no qual uma entidade sem 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 aws:SourceAccount
global aws:SourceArn
e as chaves de contexto nas políticas de recursos para limitar as permissões que AWSDeep RacerLong 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 s3:your-bucket-name::.
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 como você pode usar as chaves de contexto de condição aws:SourceAccount
global aws:SourceArn
e as chaves de contexto no AWSDeep Racer para evitar o problema confuso do substituto.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1586917903457", "Effect": "Allow", "Principal": { "Service": "deepracer.amazonaws.com" }, "Action": [ "s3:GetObjectAcl", "s3:GetObject", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:${Partition}:deepracer:${Region}:${Account}:model/reinforcement_learning/${ResourceId}" } } } ] }
Se você usa um recurso personalizado AWS Key Management Service (KMS) para esse bucket, inclua a política AWS KMS de recursos:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "statement identifier", "Effect": "effect", "Principal": "principal", "Action": "action", "Resource": "resource", "Condition": { "StringEquals": { "aws:SourceArn": "arn:${Partition}:deepracer:${Region}:${Account}:model/reinforcement_learning/${ResourceId}" } } }] }