Prevenção confusa entre serviços em Stacks AWS OpsWorks - AWS OpsWorks

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 confusa entre serviços em Stacks AWS OpsWorks

Importante

O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio de 2024 e foi desativado para clientes novos e existentes. É altamente recomendável que os clientes migrem suas cargas de trabalho para outras soluções o mais rápido possível. Se você tiver dúvidas sobre migração, entre em contato com a AWS Support equipe no AWS re:POST ou por meio do Premium AWS Support.

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. Em AWS, a falsificação de identidade entre serviços pode resultar no problema confuso do deputado. 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:SourceAccountglobal aws:SourceArne as chaves de contexto nas políticas de acesso às pilhas para limitar as permissões que o AWS OpsWorks Stacks concede a outro serviço às pilhas. Se o valor de aws:SourceArn não contém ID da conta, como um ARN do bucket do Amazon S3, você deve usar ambas as chaves de contexto de condição global para limitar as permissões. Se você usa ambas as chaves de contexto de condição global, e o valor aws:SourceArn contém o ID da conta, o valor aws:SourceAccount e a conta no valor aws:SourceArn deverão utilizar a mesma ID de conta quando na mesma declaração de política. Use aws:SourceArn se quiser que apenas uma pilha seja associada ao acesso entre serviços. Use aws:SourceAccount se quiser permitir que qualquer pilha nessa conta seja associada ao uso entre serviços.

O valor de aws:SourceArn deve ser o ARN de uma AWS OpsWorks pilha.

A maneira mais eficaz de se proteger contra o problema do substituto confuso é usar a chave de contexto de condição global aws:SourceArn da pilha do AWS OpsWorks Stacks com o ARN completo do recurso. Se você não souber o ARN completo ou estiver especificando várias pilhas ARNs, 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:*.

A seção 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 AWS OpsWorks Stacks para evitar o confuso problema auxiliar.

Evite explorações confusas de delegados no Stacks AWS OpsWorks

Esta seção descreve como você pode ajudar a evitar explorações secundárias confusas no AWS OpsWorks Stacks e inclui exemplos de políticas de permissões que você pode anexar à função do IAM que você está usando para acessar AWS OpsWorks o Stacks. Como prática recomendada de segurança, sugerimos adicionar as chaves de condição aws:SourceArn e aws:SourceAccount às relações de confiança que seu perfil do IAM possui com outros serviços. As relações de confiança permitem que AWS OpsWorks as Stacks assumam a função de realizar ações em outros serviços que são necessárias para criar ou gerenciar suas pilhas de AWS OpsWorks Stacks.

Para editar relações de confiança para adicionar chaves de condição aws:SourceArn e aws:SourceAccount
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação à esquerda, escolha Roles.

  3. Na caixa Pesquisar, pesquise a função que você usa para acessar AWS OpsWorks as pilhas. A função AWS gerenciada éaws-opsworks-service-role.

  4. Na página Resumo do perfil, escolha a guia Relações de confiança.

  5. Na guia Relacionamentos de confiança, escolha Editar política de confiança.

  6. Na página Editar política de confiança, adicione pelo menos uma das chaves de condição aws:SourceArn ou aws:SourceAccount à política. Use aws:SourceArn para restringir a relação de confiança entre serviços cruzados (como Amazon EC2) e pilhas a pilhas de AWS OpsWorks pilhas específicas AWS OpsWorks , o que é mais restritivo. Adicione aws:SourceAccount para restringir a relação de confiança entre serviços cruzados e AWS OpsWorks pilhas às pilhas em uma conta específica, o que é menos restritivo. Veja um exemplo a seguir. Observe que, se você usar as duas chaves de condição, os IDs da conta deverão ser os mesmos.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "arn:aws:opsworks:us-east-2:123456789012:stack/EXAMPLEd-5699-40a3-80c3-22c32EXAMPLE/" } } } ] }
  7. Quando terminar de adicionar as permissões à política, escolha Atualizar política.

Veja a seguir exemplos adicionais de funções que limitam o acesso às pilhas usando aws:SourceArn e aws:SourceAccount.

Exemplo: acessando pilhas em uma região específica

A seguinte declaração de relação de confiança e função acessa qualquer pilha de AWS OpsWorks Stacks na região Leste dos EUA (Ohio) (). us-east-2 Observe que a região está especificada no valor ARN de aws:SourceArn, mas o valor do ID da pilha é um curinga (*).

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": "arn:aws:opsworks:us-east-2:123456789012:stack/*" } } } ] }

Exemplo: adicionar mais de um ARN de pilha ao aws:SourceArn

O exemplo a seguir limita o acesso a uma matriz de duas pilhas de AWS OpsWorks pilhas na ID da conta 123456789012.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": [ "arn:aws:opsworks:us-east-2:123456789012:stack/unique_ID1", "arn:aws:opsworks:us-east-2:123456789012:stack/unique_ID2" ] } } } ] }