Creación de funciones de conexión de CloudFront para la validación de TLS mutua (espectador)
Se crea una función de conexión de CloudFront en dos etapas:
-
Crear el código de función como JavaScript. Puede utilizar el ejemplo predeterminado de la consola de CloudFront o escribir el suyo propio. Para obtener más información, consulte los temas siguientes:
-
Escritura de código de la función de conexión de CloudFront para la validación de mTLS
-
Estructura de eventos y formato de respuesta de la función de conexión de CloudFront
-
Ejemplos de código de función de conexión
-
-
Utilice CloudFront para crear la función de conexión e incluir el código. El código existe dentro de la función (no como referencia).
Consola de CloudFront
Creación de una función de conexión
Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFront en https://console.aws.amazon.com/cloudfront/v4/home
. -
Seleccione Creación de función.
-
Ingrese un nombre de función que sea único en la Cuenta de AWS, elija Función de conexión como tipo de función y, a continuación, elija Continuar.
-
Aparece la página de detalles de la nueva función de conexión.
nota
Las funciones de conexión solo admiten tiempo de ejecución 2.0 de JavaScript. Para utilizar la integración de KeyValueStore de la función de conexión de CloudFront en la función, debe utilizar esta versión de tiempo de ejecución.
-
En la sección Código de función, elija la pestaña Compilación e ingrese el código de función de conexión. El código de ejemplo que se incluye en la pestaña Compilación ilustra la sintaxis básica del código de la función de conexión.
-
Seleccione Save changes (Guardar cambios).
-
Si el código de la función de conexión utiliza KeyValueStore para comprobar la revocación de certificados o la validación de dispositivos, debe asociar un KeyValueStore.
Puede asociar KeyValueStore cuando crea en primer lugar la función. O bien, puede asociarlo más adelante, mediante la asociación de funciones de conexión.
Para asociar un KeyValueStore ahora, siga estos pasos:
-
Vaya a la sección Asociar KeyValueStore y elija Asociar KeyValueStore existente.
-
Seleccione el KeyValueStore que contiene los datos del certificado para la función de conexión y, a continuación, elija Asociar KeyValueStore.
CloudFront asocia inmediatamente el almacén a la función. No necesita guardar la función.
-
AWS CLI
Si utiliza la AWS CLI, normalmente crea primero el código de la función de conexión en un archivo y, a continuación, crea la función con la AWS CLI.
Creación de una función de conexión
-
Cree el código de la función de conexión en un archivo y guárdelo en un directorio al que se pueda conectar el equipo.
-
Ejecute el comando como se muestra en el ejemplo. En este ejemplo, se utiliza la notación
fileb://para transmitir el archivo. También incluye saltos de línea para que el comando sea más legible.aws cloudfront create-connection-function \ --name CertificateValidator \ --connection-function-config '{ "Comment":"Device certificate validation", "Runtime":"cloudfront-js-2.0", "KeyValueStoreAssociations":{ "Quantity":1, "Items":[{ "KeyValueStoreARN":"arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }] } }' \ --connection-function-code fileb://certificate-validator.jsnota
-
Tiempo de ejecución: las funciones de conexión solo admiten el tiempo de ejecución 2.0 de JavaScript (cloudfront-js-2.0).
-
KeyValueStoreAssociations: si la función de conexión usa KeyValueStore para la validación de certificados, puede asociar KeyValueStore en la creación inicial de la función. O bien, puede asociarlo más adelante, mediante update-connection-function. La cantidad siempre es 1, porque cada función de conexión solo puede tener asociado un KeyValueStore.
-
-
Si el comando se ejecuta correctamente, verá un resultado parecido al siguiente.
ETag: ETVABCEXAMPLE ConnectionFunctionSummary: ConnectionFunctionConfig: Comment: Device certificate validation Runtime: cloudfront-js-2.0 KeyValueStoreAssociations: Quantity: 1 Items: - KeyValueStoreARN: arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ConnectionFunctionMetadata: CreatedTime: '2024-09-04T16:32:54.292000+00:00' ConnectionFunctionARN: arn:aws:cloudfront::111122223333:connection-function/CertificateValidator LastModifiedTime: '2024-09-04T16:32:54.292000+00:00' Stage: DEVELOPMENT Name: CertificateValidator Status: UNPUBLISHED Location: https://cloudfront.amazonaws.com/2020-05-31/connection-function/arn:aws:cloudfront:::connection-function/CertificateValidatorLa mayor parte de la información se repite desde la solicitud. CloudFront agrega el resto de información.
nota
-
ETag: este valor cambia cada vez que se modifica la función de conexión. Necesitará este valor para actualizar o publicar la función.
-
Etapa: las nuevas funciones de conexión comienzan en la etapa de DESARROLLO. Debe publicar la función para moverla al escenario ACTIVA antes de asociarla a una distribución.
-
Estado: el estado de la función es NO PUBLICADA hasta que la publique en la etapa ACTIVA.
-