Prevenção do problema do substituto confuso entre serviços
O problema de "confused deputy" é uma questão 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 executá-la. Na AWS, a personificação entre serviços pode resultar no problema do ‘confused deputy’. 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 Systems Managerpermissõ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) para um bucket do 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 apenas um recurso associado a acessibilidade de serviço. Use o aws:SourceAccount
se quiser permitir que qualquer recurso nessa conta seja associado ao uso entre serviços.
As seções a seguir dão exemplo de políticas para recursos do AWS Systems Manager.
Exemplo de política de ativação híbrida
Para perfis de serviço usados em uma ativação híbrida, o valor do aws:SourceArn
deve ser o ARN da Conta da AWS. Especifique a Região da AWS no ARN onde você criou sua ativação híbrida. Se você não souber o ARN completo do recurso ou se estiver especificando vários recursos, use a chave da condição de contexto global aws:SourceArn
com curingas (*
) para as partes desconhecidas do ARN. Por exemplo, arn:aws:ssm:*:
.region
:123456789012
:*
O exemplo a seguir demonstra o uso das chaves de contexto de condição global aws:SourceArn
e aws:SourceAccount
para automação para evitar o problema do "confused deputy" na região Leste dos EUA (Ohio) (us-east-2).
{ "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"
123456789012
" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:us-east-2:123456789012
:*" } } } ] }
Exemplo de política de sincronização de dados
O Inventory, o Explorer e o Compliance do Systems Manager permitem que você crie uma sincronização de dados de recursos para centralizar o armazenamento de seus dados operacionais (OpsData) em um bucket central do Amazon Simple Storage Service. Se você quiser criptografar a sincronização dos dados do recurso, usando o AWS Key Management Service (AWS KMS), crie uma nova chave que inclua a política a seguir, ou atualize uma chave existente e adicione essa política a ela. O aws:SourceArn
e chaves de condição aws:SourceAccount
nesta política impedem o problema confused deputy. Veja a seguir um exemplo de política:
{ "Version": "2012-10-17", "Id": "ssm-access-policy", "Statement": [ { "Sid": "ssm-access-policy-statement", "Action": [ "kms:GenerateDataKey" ], "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Resource": "arn:aws:kms:us-east-2:123456789012:key/
KMS_key_id
", "Condition": { "StringLike": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:ssm:*:123456789012:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM" } } } ] }
nota
O ARN no exemplo de política permite que o sistema criptografe os dados operacionais de todas as fontes, exceto do AWS Security Hub. Se você precisar criptografar dados do Security Hub, por exemplo, se você usar o Explorer para coletar dados do Security Hub, você deve anexar uma política adicional que especifique o seguinte ARN:
"aws:SourceArn":
"arn:aws:ssm:*:
account-id
:role/aws-service-role/opsdatasync.ssm.amazonaws.com/AWSServiceRoleForSystemsManagerOpsDataSync"