

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á.

# Opção 2: Os aplicativos podem assumir somente a função permitida pela política de confiança
<a name="option-2"></a>

Nesse cenário, dois certificados foram provisionados no AWS Certificate Manager (ACM) Autoridade de Certificação Privada da AWS e compartilhados com os aplicativos que exigem acesso aos recursos. AWS **O Aplicativo 1** pode assumir somente a **Função 1**, e o **Aplicativo 2** pode assumir somente a **Função 2**. Na política de confiança da função, você configura os campos de assunto do certificado como condições. Essas condições permitem que o aplicativo assuma somente uma função específica. Por causa das permissões de função, somente o **Aplicativo 1** pode acessar o **Bucket 1**, e somente o **Aplicativo 2** pode acessar o **Bucket 2**. A imagem a seguir mostra o acesso que cada aplicativo tem.

![Aplicativos que usam certificados diferentes e podem assumir somente funções específicas.](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/certificate-based-access-controls/images/option-2-overview.png)


Nessa opção, você configura as políticas de confiança para permitir `AssumeRole` somente quando atributos específicos do certificado forem atendidos. O exemplo de política de confiança da função demonstra como configurar a `Condition` seção para exigir um nome comum de certificado específico (`CN`), que é diferente para a **Função 1** e a **Função 2**. Cada aplicativo pode assumir uma função específica porque IAM Roles Anywhere tem uma relação âncora de confiança com CA Privada da AWS. Essa abordagem ajuda a impedir o acesso não autorizado a funções e dados porque o aplicativo não pode assumir nenhuma função vinculada ao perfil de destino. Por exemplo, você pode segregar dados comerciais em diferentes compartimentos, configurar funções para permitir acesso a somente um desses compartimentos e, em seguida, usar controles de acesso baseados em certificados na política de confiança para definir qual função o aplicativo pode assumir.

O exemplo de política de confiança a seguir para a **Função 1** tem uma condição que permite a suposição da função somente se o nome do certificado for `application-1.com` e se a âncora confiável Amazon Resource Name (ARN) corresponder:

```
{
  "Version": "2012-10-17", 		 	 	 		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "rolesanywhere.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:SetSourceIdentity",
        "sts:TagSession"
      ],
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/x509Subject/CN": "application-1.com"
        },
        "ArnEquals": {
          "aws:SourceArn": [
            "arn:aws:rolesanywhere:<region>:<account-ID>:trust-anchor/<TA_ID>"
          ]
        }
      }
    }
  ]
}
```

O exemplo de política de confiança a seguir para a **Função 2** tem uma condição que permite a suposição da função somente se o nome do certificado for `application-2.com` e se o ARN da âncora de confiança corresponder:

```
{
    "Version": "2012-10-17", 		 	 	 		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "rolesanywhere.amazonaws.com"
            },
            "Action": [
                "sts:AssumeRole",
                "sts:SetSourceIdentity",
                "sts:TagSession"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalTag/x509Subject/CN": "application-2.com"
                },
                "ArnEquals": {
                    "aws:SourceArn": [
                        "arn:aws:rolesanywhere:<region>:<account-ID>:trust-anchor/<TA_ID>"
                    ]
                }
            }
        }
    ]
}
```

Para obter mais informações sobre políticas de confiança de funções e como você pode modificar esses exemplos, consulte [Política de confiança](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/trust-model.html#trust-policy) na IAM Roles Anywhere documentação.

Exemplos de políticas de função e perfil para o **Aplicativo 1** e o **Aplicativo 2** estão incluídos na seção [Apêndice: Exemplo de perfil e políticas de função](appendix-sample-policies.md) deste guia.  