Prevenção do problema do substituto confuso entre serviços - AWS SimSpace Tecelão

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:SourceAccountglobal aws:SourceArne 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" } } } ] }