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 'confused deputy' é um problema de segurança em que uma entidade que não tem permissão para executar uma ação pode enganar uma entidade mais privilegiada para executá-la. Na AWS, a personificação entre serviços pode resultar no problema do substituto confuso. 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, o 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 oAWS SimSpace Weaver concede a outro serviço ao recurso. Se o valor aws:SourceArn
não contiver o ID da conta, como um nome do recurso da Amazon (ARN) do bucket do Amazon S3, você deverá usar ambas as chaves de contexto de condição global para limitar as permissões. Se você utilizar ambas as chaves de contexto de condição global, e o valor aws:SourceArn
contiver o ID da conta, o valor aws:SourceAccount
e a conta no valor aws:SourceArn
deverão utilizar o mesmo ID de conta quando utilizados na mesma declaração da política. Use aws:SourceArn
se quiser que apenas um recurso seja associado ao acesso entre serviços. Use aws:SourceAccount
se quiser permitir que qualquer recurso nessa conta seja associado ao uso entre serviços.
O valor de aws:SourceArn
deve utilizar o ARN da extensão.
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. Se você não souber o ARN completo da extensão ou estiver especificando várias extensões, use a chave de condição de contexto global aws:SourceArn
com curingas (*
) para as partes desconhecidas do ARN. Por exemplo, arn:aws:
.simspaceweaver
:*:111122223333
:*
O exemplo a seguir mostra como é possível usar as chaves de contexto de condiçãoaws:SourceAccount
globaisaws:SourceArn
e no SimSpace Weaver para evitar o problema de “confused deputy”. Essa política só permitirá que o SimSpace Weaver assuma a função quando a solicitação vier da conta de origem especificada e fornecida com o ARN especificado. Nesse caso, o SimSpace Weaver só pode assumir a função de solicitações de simulações na própria conta do solicitante (111122223333
) e somente na região especificada (us-west-2
).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "simspaceweaver.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:simspaceweaver:us-west-2:111122223333:simulation/*" } } } ] }
Uma forma mais segura de escrever essa política é incluir o nome da simulação noaws:SourceArn
, conforme mostrado no exemplo a seguir, que restringe a política a uma simulação chamadaMyProjectSimulation_22-10-04_22_10_15
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "simspaceweaver.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:simspaceweaver:us-west-2:111122223333:simulation/MyProjectSimulation_22-10-04_22_10_15" } } } ] }
Quando você incluiaws:SourceArn
explicitamente um número de conta, você pode omitir o teste doCondition
elementoaws:SourceAccount
(consulte o Guia do usuário do IAM para obter mais informações), como na política simplificada a seguir:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "simspaceweaver.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:simspaceweaver:us-west-2:111122223333:simulation/MyProjectSimulation_22-10-04_22_10_15" } } } ] }