

# Criar mapeamentos da origem do evento entre contas no Lambda
<a name="msk-cross-account"></a>

É possível usar a [conectividade privada com várias VPCs](https://docs.aws.amazon.com/msk/latest/developerguide/aws-access-mult-vpc.html) para conectar uma função do Lambda a um cluster DO MSK provisionado em outra Conta da AWS. A conectividade com várias VPCs usa AWS PrivateLink, que mantém todo o tráfego na rede da AWS.

**nota**  
Não é possível criar mapeamentos da origem do evento entre contas para clusters do MSK sem servidor.

Para criar um mapeamento da origem de eventos entre contas, primeiro você precisa [configurar a conectividade com várias VPCs](https://docs.aws.amazon.com/msk/latest/developerguide/aws-access-mult-vpc.html#mvpc-cluster-owner-action-turn-on) para o cluster do MSK. Ao criar o mapeamento da origem de eventos, use o ARN da conexão VPC gerenciada, em vez do ARN do cluster, conforme mostrado nos exemplos a seguir. A operação [CreateEventSourceMapping](https://docs.aws.amazon.com/lambda/latest/api/API_CreateEventSourceMapping.html) também difere dependendo do tipo de autenticação usado pelo cluster do MSK.

**Example : criar um mapeamento da origem de eventos entre contas para o cluster que usa autenticação do IAM**  
Quando o cluster usa a [autenticação baseada em perfil do IAM](msk-cluster-auth.md#msk-iam-auth), você não precisa de um objeto [SourceAccessConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_SourceAccessConfiguration.html). Exemplo:  

```
aws lambda create-event-source-mapping \
  --event-source-arn arn:aws:kafka:{{us-east-1:111122223333}}:vpc-connection/{{444455556666/my-cluster-name/51jn98b4-0a61-46cc-b0a6-61g9a3d797d5-7}} \
  --topics AWSKafkaTopic \
  --starting-position LATEST \
  --function-name my-kafka-function
```

**Example : criar um mapeamento da origem de eventos entre contas para o cluster que usa autenticação SASL/SCRAM**  
Se o cluster usar [autenticação SASL/SCRAM](msk-cluster-auth.md#msk-sasl-scram), você precisa incluir um objeto [SourceAccessConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_SourceAccessConfiguration.html) que especifique `SASL_SCRAM_512_AUTH` e um ARN secreto do Secrets Manager.  
Há duas maneiras de usar segredos para mapeamentos da origem do evento entre contas do Amazon MSK com autenticação SASL/SCRAM:  
+ Crie um segredo na conta da função do Lambda e sincronize-o com o segredo do cluster. [Crie uma rotação](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) para manter os dois segredos sincronizados. Essa opção permite controlar o segredo pela conta da função.
+ Use o segredo associado ao cluster do MSK. Esse segredo deve permitir o acesso entre contas à conta da função do Lambda. Para obter mais informações, consulte [Permissões para segredos do AWS Secrets Manager para usuários em uma conta diferente](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples_cross.html).

```
aws lambda create-event-source-mapping \
  --event-source-arn arn:aws:kafka:{{us-east-1:111122223333}}:vpc-connection/{{444455556666/my-cluster-name/51jn98b4-0a61-46cc-b0a6-61g9a3d797d5-7}} \
  --topics AWSKafkaTopic \
  --starting-position LATEST \
  --function-name my-kafka-function \
  --source-access-configurations {{'[{"Type": "SASL_SCRAM_512_AUTH","URI": "arn:aws:secretsmanager:us-east-1:444455556666:secret:my-secret"}]'}}
```

**Example : criar um mapeamento da origem de eventos entre contas para o cluster que usa autenticação mTLS**  
Se o cluster usar [autenticação mTLS](msk-cluster-auth.md#msk-mtls), você precisa incluir um objeto [SourceAccessConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_SourceAccessConfiguration.html) que especifique `CLIENT_CERTIFICATE_TLS_AUTH` e um ARN secreto do Secrets Manager. O segredo pode ser armazenado na conta do cluster ou na conta da função do Lambda.  

```
aws lambda create-event-source-mapping \
  --event-source-arn arn:aws:kafka:{{us-east-1:111122223333}}:vpc-connection/{{444455556666/my-cluster-name/51jn98b4-0a61-46cc-b0a6-61g9a3d797d5-7}} \
  --topics AWSKafkaTopic \
  --starting-position LATEST \
  --function-name my-kafka-function \
  --source-access-configurations {{'[{"Type": "CLIENT_CERTIFICATE_TLS_AUTH","URI": "arn:aws:secretsmanager:us-east-1:444455556666:secret:my-secret"}]'}}
```