

# Control del acceso en función de los atributos de una identidad con Verified Permissions
<a name="apigateway-lambda-authorizer-verified-permissions"></a>

Utilice Amazon Verified Permissions para controlar el acceso a su API de API Gateway. Cuando utiliza API Gateway con Verified Permissions, Verified Permissions crea un autorizador de Lambda que utiliza decisiones de autorización detalladas para controlar el acceso a la API. Verified Permissions autoriza a los intermediarios según el esquema y las políticas del almacenamiento de políticas mediante el lenguaje de políticas de Cedar para definir permisos detallados para los usuarios de las aplicaciones. Para obtener más información, consulte [Create a policy store with a connected API and identity provider](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/getting-started-api-policy-store.html) en la *Guía del usuario de Amazon Verified Permissions*.

Verified Permissions admite grupos de usuarios de Amazon Cognito o proveedores de identidad OpenID Connect (OIDC) como orígenes de identidad. Verified Permissions presupone que la entidad principal se ha identificado y autenticado previamente. Verified Permissions solo es compatible con las API de REST regionales y optimizadas para la periferia.

## Creación de un autorizador de Lambda mediante Verified Permissions
<a name="apigateway-lambda-authorizer-verified-permissions-attach"></a>

Verified Permissions crea un autorizador de Lambda para determinar si una entidad principal está autorizada a realizar una acción en la API. Cree la política de Cedar que Verified Permissions utiliza para realizar sus tareas de autorización.

En el siguiente ejemplo se muestra una política de Cedar que permite el acceso para invocar una API basada en el grupo de usuarios de Amazon Cognito, `us-east-1_ABC1234` para el grupo `developer` en el recurso `GET /users` de una API. Verified Permissions determina la pertenencia al grupo mediante el análisis del token portador para la identidad del intermediario. 

```
permit(
  principal in MyAPI::UserGroup::"us-east-1_ABC1234|developer",
  action in [ MyAPI::Action::"get /users" ],
  resource
  );
```

De forma opcional, Verified Permissions puede asociar el autorizador a los métodos de la API. En las etapas de producción de la API, le recomendamos que no permita que Verified Permissions asocie el autorizador por usted.

En la siguiente lista se muestra cómo configurar Verified Permissions para asociar o no el autorizador de Lambda a la solicitud de los métodos de la API.

**Asociación del autorizador por usted (Consola de administración de AWS)**  
Cuando elija **Crear almacén de políticas** en la consola de Verified Permissions, en la página **Implementar integración de aplicaciones**, elija **Ahora**.

**Sin asociación del autorizador por usted (Consola de administración de AWS)**  
Cuando elija **Crear almacén de políticas** en la consola de Verified Permissions, en la página **Implementar integración de aplicaciones**, elija **Más tarde**.  
Verified Permissions sigue creando un autorizador de Lambda por usted. El autorizador de Lambda comienza por `AVPAuthorizerLambda-`. Para obtener más instrucciones sobre cómo adjuntar el autorizador en un método, consulte [Configuración de un método para utilizar un autorizador de Lambda (consola)](configure-api-gateway-lambda-authorization.md#configure-api-gateway-lambda-authorization-method-console).

**Asociación del autorizador por usted (CloudFormation)**  
En la plantilla CloudFormation generada por Verified Permissions, en la sección `Conditions`, establezca `"Ref": "shouldAttachAuthorizer"` a `true`.

**Sin asociación del autorizador por usted (CloudFormation)**  
En la plantilla CloudFormation generada por Verified Permissions, en la sección `Conditions`, establezca `"Ref": "shouldAttachAuthorizer"` a `false`.  
Verified Permissions sigue creando un autorizador de Lambda por usted. El autorizador de Lambda comienza por `AVPAuthorizerLambda-`. Para obtener más instrucciones sobre cómo adjuntar el autorizador en un método, consulte [Configuración de un método para utilizar un autorizador de Lambda (AWS CLI)](configure-api-gateway-lambda-authorization.md#configure-api-gateway-lambda-authorization-method-cli).

## Llamada a un autorizador de Lambda mediante Verified Permissions
<a name="apigateway-lambda-authorizer-verified-permissions-call"></a>

Puede llamar a al autorizador de Lambda si proporciona una identidad o un token de acceso en el encabezado `Authorization`. Para obtener más información, consulte [Llamada a una API con un autorizador de Lambda de API Gateway](call-api-with-api-gateway-lambda-authorization.md).

API Gateway almacena en caché la política que devuelve el autorizador de Lambda durante 120 segundos. Puede modificar el TTL en la consola de API Gateway o mediante la AWS CLI.