

# Configuración de permisos del rol de ejecución de Lambda
<a name="with-kafka-permissions"></a>

Además de [acceder al clúster de Kafka autoadministrado](kafka-cluster-auth.md), la función de Lambda necesita permisos para llevar a cabo varias acciones de la API. Los permisos se agregan al [rol de ejecución](lambda-intro-execution-role.md) de la función. Si los usuarios tienen que acceder a cualquier acción de la API, agregue los permisos necesarios a la política de identidad para el usuario o rol de AWS Identity and Access Management (IAM).

**Topics**
+ [Permisos de función de Lambda necesarios](#smaa-api-actions-required)
+ [Permisos de función de Lambda opcionales](#smaa-api-actions-optional)
+ [Adición de permisos a su rol de ejecución](#smaa-permissions-add-policy)
+ [Concesión de acceso a los usuarios con una política de IAM](#smaa-permissions-add-users)

## Permisos de función de Lambda necesarios
<a name="smaa-api-actions-required"></a>

Para crear y almacenar registros en un grupo de registros en Registros de Amazon CloudWatch, la función de Lambda debe tener los siguientes permisos en su rol de ejecución:
+ [logs:CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html)
+ [logs:CreateLogStream](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogStream.html)
+ [logs:PutLogEvents](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html)

## Permisos de función de Lambda opcionales
<a name="smaa-api-actions-optional"></a>

Es posible que la función de Lambda también necesite permisos para:
+ Describir el secreto de Secrets Manager.
+ Acceder a su clave administrada por el cliente de AWS Key Management Service (AWS KMS).
+ Acceder a su Amazon VPC.
+ Envíe los registros de las invocaciones fallidas a un destino.

### Secrets Manager y permisos de AWS KMS
<a name="smaa-api-actions-secrets"></a>

En función del tipo de control de acceso que configure para los agentes de Kafka, es posible que la función de Lambda necesite permiso para acceder a su secreto de Secrets Manager o para descifrar su clave administrada por el cliente de AWS KMS. Para acceder a estos recursos, el rol de ejecución de la función debe tener los siguientes permisos:
+ [secretsmanager:GetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html)
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)

### Permisos de VPC
<a name="smaa-api-actions-vpc"></a>

Si solo los usuarios de una VPC pueden acceder a su clúster de Apache Kafka autoadministrado, su función de Lambda debe tener permiso para acceder a sus recursos de Amazon VPC. Estos recursos incluyen su VPC, subredes, grupos de seguridad e interfaces de red. Para acceder a estos recursos, el rol de ejecución de la función debe tener los siguientes permisos:
+ [ec2:CreateNetworkInterface](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html)
+ [ec2:DescribeNetworkInterfaces](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeNetworkInterfaces.html)
+ [ec2:DescribeVpcs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcs.html)
+ [ec2:DeleteNetworkInterface](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteNetworkInterface.html)
+ [ec2:DescribeSubnets](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSubnets.html)
+ [ec2:DescribeSecurityGroups](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSecurityGroups.html)

## Adición de permisos a su rol de ejecución
<a name="smaa-permissions-add-policy"></a>

Para tener acceso a otros servicios de AWS que su clúster Apache Kafka autoadministrado utiliza, Lambda utiliza las políticas de permisos que defina en el [rol de ejecución](lambda-intro-execution-role.md) de la función de Lambda.

De forma predeterminada, Lambda no está permitido realizar las acciones necesarias u opcionales para un clúster Apache Kafka autoadministrado. Debe crear y definir estas acciones en una [política de confianza de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-trust-policy.html) para su rol de ejecución. En este ejemplo se muestra cómo puede crear una política que permita a Lambda tener acceso a los recursos de Amazon VPC.

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

****  

```
{
        "Version":"2012-10-17",		 	 	 
        "Statement":[
           {
              "Effect":"Allow",
              "Action":[
                 "ec2:CreateNetworkInterface",
                 "ec2:DescribeNetworkInterfaces",
                 "ec2:DescribeVpcs",
                 "ec2:DeleteNetworkInterface",
                 "ec2:DescribeSubnets",
                 "ec2:DescribeSecurityGroups"
              ],
              "Resource":"*"
           }
        ]
     }
```

------

## Concesión de acceso a los usuarios con una política de IAM
<a name="smaa-permissions-add-users"></a>

De forma predeterminada, los usuarios y roles no tienen permiso para llevar a cabo [operaciones de API de origen de eventos](invocation-eventsourcemapping.md#event-source-mapping-api). Para conceder acceso a los usuarios de su organización o cuenta, cree o actualice la política basada en identidades. Para obtener más información, consulte [Control del acceso a los recursos de AWS mediante políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html) en la *Guía del usuario de IAM*.

Para la solución de problemas de errores de autenticación y autorización, consulte [Solución de errores de asignación de orígenes de eventos de Kafka](with-kafka-troubleshoot.md).