

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 OpsWorks
<a name="cross-service-confused-deputy-prevention-stacks"></a>

**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](https://repost.aws/) ou por meio do Premium [AWS Support](https://aws.amazon.com/support).

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 coagir uma entidade mais privilegiada a executar a ação. Em AWS, a falsificação de identidade entre serviços pode resultar em um problema confuso de delegado. 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 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)e 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 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 OpsWorks Stacks com o ARN completo do recurso. Se você não souber o ARN completo ou se estiver especificando várias pilhas ARNs, use a chave de condição de contexto `aws:SourceArn` global 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 OpsWorks Stacks para evitar o confuso problema auxiliar.

## Evite explorações confusas de delegados no Stacks OpsWorks
<a name="confused-deputy-opsworks-stacks-procedure"></a>

Esta seção descreve como você pode ajudar a evitar explorações secundárias confusas no 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 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 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 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/](https://console.aws.amazon.com/iam/).

1. No painel de navegação à esquerda, selecione **Perfis**.

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

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

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

1. 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 OpsWorks Stacks a pilhas específicas de OpsWorks Stacks, o que é mais restritivo. Adicione `aws:SourceAccount` para restringir a relação de confiança entre serviços cruzados e OpsWorks pilhas às pilhas em uma conta específica, o que é menos restritivo. Veja um exemplo do a seguir: Observe que, se você usar as duas chaves de condição, a conta IDs deverá ser a mesma.

1. 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`.

**Topics**
+ [Exemplo: acessando pilhas em uma região específica](#confused-deputy-opsworks-stacks-example1)
+ [Exemplo: adicionar mais de um ARN de pilha ao `aws:SourceArn`](#confused-deputy-opsworks-stacks-example2)

### Exemplo: acessando pilhas em uma região específica
<a name="confused-deputy-opsworks-stacks-example1"></a>

A seguinte declaração de relação de confiança e função acessa qualquer pilha de 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 (\$1).

------
#### [ JSON ]

****  

```
{
  "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`
<a name="confused-deputy-opsworks-stacks-example2"></a>

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