Crie funções de conexão do CloudFront para validação de TLS mútua (visualizador) - Amazon CloudFront

Crie funções de conexão do CloudFront para validação de TLS mútua (visualizador)

A função de conexão do CloudFront é criada em dois estágios:

  1. Crie o código da função como JavaScript. É possível usar o exemplo padrão do console do CloudFront ou crie seu próprio. Para obter mais informações, consulte os tópicos a seguir.

    • Escrever o código da função de conexão do CloudFront para validação de mTLS

    • Estrutura de eventos e formato de resposta da função de conexão do CloudFront

    • Exemplo de código de função de conexão

  2. Use o CloudFront para criar a função de conexão e incluir o código. O código existe dentro da função (não como referência).

Console do CloudFront

Como criar uma função de conexão
  1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home.

  2. Escolha a opção Criar função.

  3. Insira um nome de função que seja exclusivo dentro da Conta da AWS, escolha Função de conexão como o tipo de função e selecione Continuar.

  4. A página de detalhes da nova função de conexão é exibida.

    nota

    É possível usar funções de conexão somente com o Runtime 2.0 do JavaScript. Para usar a integração entre o KeyValueStore e a função de conexão do CloudFront na função, é necessário usar essa versão de runtime.

  5. Na seção Código da função, selecione a guia Compilar e insira o código da função de conexão. O exemplo de código incluído na guia “Compilar” ilustra a sintaxe básica do código da função de conexão.

  6. Escolha Salvar alterações.

  7. Se o código da função de conexão usar KeyValueStore para verificação de revogação de certificados ou validação de dispositivos, será necessário associar um KeyValueStore.

    É possível associar o KeyValueStore durante a criação inicial da função. Ou é possível associá-lo posteriormente, associando funções de conexão.

    Para associar um KeyValueStore agora, siga estas etapas:

    • Acesse a seção Associar KeyValueStore e selecione Associar KeyValueStore existente.

    • Selecione o KeyValueStore que contém os dados do certificado para sua função de conexão e escolha Associar KeyValueStore.

    O CloudFront associa imediatamente o armazenamento à função. Não é necessário salvar a função.

AWS CLI

Quando usamos a CLI, costumamos primeiro criar o código da função em um arquivo e, depois, criar a função com a AWS CLI.

Como criar uma função de conexão
  1. Crie o código da função de conexão em um arquivo e armazene-o em um diretório ao qual o computador possa se conectar.

  2. Execute o comando conforme mostrado no exemplo. Este exemplo usa a notação fileb:// para transmitir o arquivo. Ele também inclui quebras de linha para tornar o comando mais legível.

    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.js
    nota
    • Runtime: as funções de conexão são compatíveis somente com o Runtime 2.0 do JavaScript (cloudfront-js-2.0).

    • KeyValueStoreAssociations: se a função de conexão usar o KeyValueStore para validação de certificados, será possível associar o KeyValueStore durante a criação inicial da função. Ou é possível associá-lo posteriormente, usando update-connection-function. A quantidade é sempre 1 porque cada função de conexão pode ter apenas um KeyValueStore associado a ela.

  3. Quando o comando é bem-sucedido, a saída é semelhante à seguinte:

    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/CertificateValidator

    A maioria das informações é repetida a partir da solicitação. Outras informações são adicionadas pelo CloudFront.

    nota
    • ETag: esse valor muda sempre que a função de conexão é modificada. Esse valor é necessário para atualizar ou publicar a função.

    • Estágio: as novas funções de conexão começam no estágio DESENVOLVIMENTO. Antes de associar a função a uma distribuição, é necessário publicá-la para movê-la para o estágio ATIVO.

    • Status: o status da função se mantém como NÃO PUBLICADA até que ela seja publicada no estágio ATIVO.