

# Perfis do IAM para entrega entre contas
<a name="firehose-cross-account-delivery"></a>

Ao publicar no Amazon Data Firehose, você pode escolher um fluxo de entrega que esteja na mesma conta que o recurso a ser monitorado (a conta de origem) ou em uma conta diferente (a conta de destino). Para permitir a entrega de logs de fluxo entre contas para o Amazon Data Firehose, você deve criar um perfil do IAM na conta de origem e um perfil do IAM na conta de destino.

**Topics**
+ [Função da conta de origem](#firehose-source-account-role)
+ [Função da conta de destino](#firehose-destination-account-role)

## Função da conta de origem
<a name="firehose-source-account-role"></a>

Na conta de origem, crie uma função que conceda as seguintes permissões. Neste exemplo, o nome do perfil é `mySourceRole`, mas é possível escolher um nome diferente para este perfil. A última instrução permite que o perfil na conta de destino assuma este perfil. As instruções de condição garantem que esse perfil seja passado somente para o serviço de entrega de logs e somente ao monitorar o recurso especificado. Ao criar a política, especifique as VPCs, as interfaces de rede ou as sub-redes que sendo monitoradas com a chave de condição `iam:AssociatedResourceARN`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::{{123456789012}}:role/{{mySourceRole}}",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "delivery.logs.amazonaws.com"
                },
                "StringLike": {
                    "iam:AssociatedResourceARN": [
                        "arn:aws:ec2:{{us-east-1}}:{{123456789012}}:vpc/{{vpc-00112233344556677}}"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:ListLogDeliveries",
                "logs:GetLogDelivery"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::{{111122223333}}:role/AWSLogDeliveryFirehoseCrossAccountRole"
        }
    ]
}
```

------

Verifique se a essa função tem a política de confiança a seguir, que permite que o serviço de entrega de logs assuma a função.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "delivery.logs.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Na conta de origem, use o procedimento a seguir para criar a função.

**Para criar a função da conta de origem**

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, escolha **Policies**.

1. Selecione **Criar política**.

1. Na página **Create policy (Criar política)** faça o seguinte:

   1. Escolha **JSON**.

   1. Substitua o conteúdo dessa janela pela política de permissões no início desta seção.

   1. Escolha **Próximo**.

   1. Insira um nome e uma descrição e tags opcionais para a política e escolha **Criar política**.

1. No painel de navegação, escolha **Perfis**.

1. Escolha **Criar Perfil**.

1. Em **Trusted entity type** (Tipo de entidade confiável), escolha **Custom trust policy** (Política de confiança personalizada). Em **Custom trust policy** (Política de confiança personalizada), substitua `"Principal": {},` pelo seguinte, que especifica o serviço de entrega de logs. Selecione **Avançar**.

   ```
   "Principal": {
      "Service": "delivery.logs.amazonaws.com"
   },
   ```

1. Na página **Adicionar permissões**, marque a caixa de seleção correspondente à política criada anteriormente neste procedimento e, em seguida, escolha **Avançar**.

1. Insira um nome para a função e, opcionalmente, uma descrição.

1. Selecione **Create role**.

## Função da conta de destino
<a name="firehose-destination-account-role"></a>

Na conta de destino, crie uma função com um nome que comece com **AWSLogDeliveryFirehoseCrossAccountRole**. Esse perfil deve conceder as seguintes permissões.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
          "iam:CreateServiceLinkedRole",
          "firehose:TagDeliveryStream"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Certifique-se de que essa função tenha a seguinte política de confiança, que permite que a função que você criou na conta de origem assuma esta função.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:role/{{mySourceRole}}"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Na conta de destino, use o procedimento a seguir para criar a função.

**Para criar a função da conta de destino**

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, escolha **Policies**.

1. Selecione **Criar política**.

1. Na página **Create policy (Criar política)** faça o seguinte:

   1. Escolha **JSON**.

   1. Substitua o conteúdo dessa janela pela política de permissões no início desta seção.

   1. Escolha **Próximo**.

   1. Insira um nome para a política que comece com **AWSLogDeliveryFirehoseCrossAccountRole** e, em seguida, selecione **Criar política**.

1. No painel de navegação, escolha **Perfis**.

1. Escolha **Criar Perfil**.

1. Em **Trusted entity type** (Tipo de entidade confiável), escolha **Custom trust policy** (Política de confiança personalizada). Em **Custom trust policy** (Política de confiança personalizada), substitua `"Principal": {},` pelo seguinte, que especifica a função da conta de origem. Escolha **Próximo**.

   ```
   "Principal": {
      "AWS": "arn:aws:iam::{{source-account}}:role/{{mySourceRole}}"
   },
   ```

1. Na página **Adicionar permissões**, marque a caixa de seleção correspondente à política criada anteriormente neste procedimento e, em seguida, escolha **Avançar**.

1. Insira um nome para a função e, opcionalmente, uma descrição.

1. Selecione **Create role**.