

# Creación de asignaciones de orígenes de eventos entre cuentas en Lambda
<a name="msk-cross-account"></a>

Puede utilizar la [conectividad privada de varias VPC](https://docs.aws.amazon.com/msk/latest/developerguide/aws-access-mult-vpc.html) para conectar una función de Lambda a un clúster de MSK aprovisionado en otra Cuenta de AWS. La conectividad de varias VPC utiliza AWS PrivateLink, que mantiene todo el tráfico dentro de la red de AWS.

**nota**  
No puede crear asignaciones de orígenes de eventos entre cuentas para clústeres de MSK sin servidor.

Para crear una asignación de orígenes de eventos entre cuentas, primero debe [configurar la conectividad de múltiples VPC para el clúster de MSK](https://docs.aws.amazon.com/msk/latest/developerguide/aws-access-mult-vpc.html#mvpc-cluster-owner-action-turn-on). Al crear la asignación de orígenes de eventos, utilice el ARN de conexión de VPC administrada en lugar del ARN del clúster, como se muestra en los siguientes ejemplos. La operación [CreateEventSourceMapping](https://docs.aws.amazon.com/lambda/latest/api/API_CreateEventSourceMapping.html) también varía según el tipo de autenticación que utilice el clúster de MSK.

**Example — Creación de una asignación de orígenes de eventos entre cuentas para un clúster que utilice la autenticación de IAM**  
Cuando el clúster utiliza la [autenticación basada en roles de IAM](msk-cluster-auth.md#msk-iam-auth), no se necesita un objeto [SourceAccessConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_SourceAccessConfiguration.html). Ejemplo:  

```
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 — Creación de una asignación de orígenes de eventos entre cuentas para un clúster que utilice la autenticación SASL/SCRAM**  
Si el clúster usa la [autenticación SASL/SCRAM](msk-cluster-auth.md#msk-sasl-scram), debe incluir un objeto [SourceAccessConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_SourceAccessConfiguration.html) que especifique `SASL_SCRAM_512_AUTH` y un ARN secreto de Secrets Manager.  
Hay dos formas de utilizar los secretos para las asignaciones de orígenes de eventos entre cuentas de Amazon MSK con autenticación SASL/SCRAM:  
+ Cree un secreto en la cuenta de la función de Lambda y sincronícelo con el secreto del clúster. [Cree una rotación](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) para mantener los dos secretos sincronizados. Esta opción le permite controlar el secreto desde la cuenta de la función.
+ Use el secreto asociado al clúster de MSK. Este secreto debe permitir el acceso entre cuentas a la cuenta de la función de Lambda. Para obtener más información, consulte [Permisos para secretos de AWS Secrets Manager para usuarios en una cuenta 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 — Creación de una asignación de orígenes de eventos entre cuentas para un clúster que utilice la autenticación mTLS**  
Si el clúster usa la [autenticación mTLS](msk-cluster-auth.md#msk-mtls), debe incluir un objeto [SourceAccessConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_SourceAccessConfiguration.html) que especifique `CLIENT_CERTIFICATE_TLS_AUTH` y un ARN secreto de Secrets Manager. El secreto se puede almacenar en la cuenta del clúster o en la cuenta de la función de 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"}]'}}
```