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
Oproblema confuso de delegadoé um problema de segurança em que uma entidade que não tem permissão para realizar uma ação pode enganar uma entidade com mais privilégios para realizar a ação. 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, 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 o uso das chaves de contexto de condição global aws:SourceArn
e aws:SourceAccount
em políticas de recursos para limitar as AWS SimSpace Weaverpermissões que o concede a outro serviço no recurso para o 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ção globais aws:SourceArn
e aws:SourceAccount
no SimSpace Weaver para evitar o problema confused deputy. Esta política só permitiráSimSpace Weaverpara assumir a função quando a solicitação vem da conta de origem especificada e é fornecida com o ARN especificado. Nesse caso,SimSpace Weaversó pode assumir a função para solicitações de simulações na própria conta do solicitante (111122223333
) e somente na região especificada (us-oeste-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 maneira 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 seuaws:SourceArn
inclui explicitamente um número de conta, você pode omitir oCondition
teste de elemento para oaws:SourceAccount
(veja oGuia do usuário do IAMpara obter mais informações), como na seguinte política simplificada:
{ "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" } } } ] }