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:
-
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
-
-
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).
Tópicos
Console do CloudFront
Como criar uma função de conexão
Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home
. -
Escolha a opção Criar função.
-
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.
-
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.
-
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.
-
Escolha Salvar alterações.
-
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
-
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.
-
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.jsnota
-
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.
-
-
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/CertificateValidatorA 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.
-