View a markdown version of this page

建立 CloudFront 連線函數以進行交互 TLS (檢視器) 驗證 - Amazon CloudFront

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立 CloudFront 連線函數以進行交互 TLS (檢視器) 驗證

您會分兩個階段建立 CloudFront Connection Function:

  1. 建立函數程式碼做為 JavaScript。您可以從 CloudFront 主控台使用預設範例或自行撰寫。如需詳細資訊,請參閱下列主題:

    • 寫入 mTLS 驗證的 CloudFront 連線函數程式碼

    • CloudFront Connection Function 事件結構和回應格式

    • 連線函數程式碼範例

  2. 使用 CloudFront 建立連線函數並包含您的程式碼。程式碼存在於函數內部 (而不是引用形式)。

CloudFront 主控台

建立連線函數
  1. 登入 AWS 管理主控台 ,並在 開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home

  2. 選擇建立函數

  3. 輸入 中唯一的函數名稱 AWS 帳戶,選擇連線函數做為函數類型,然後選擇繼續

  4. 新連線函數的詳細資訊頁面隨即出現。

    注意

    連線函數僅支援 JavaScript 執行期 2.0。若要在函數中使用 CloudFront Connection Function KeyValueStore 整合,您必須使用此執行時間版本。

  5. 函數程式碼區段中,選擇建置索引標籤,然後輸入您的連線函數程式碼。建置索引標籤中包含的範例程式碼說明連線函數程式碼的基本語法。

  6. 選擇儲存變更

  7. 如果連線函數程式碼使用 KeyValueStore 進行憑證撤銷檢查或裝置驗證,您必須建立 KeyValueStore 的關聯。

    您可以在第一次建立函數時關聯 KeyValueStore。或者,您可以稍後透過關聯連線函數來建立關聯。

    若要立即建立 KeyValueStore 的關聯,請遵循下列步驟:

    • 前往關聯 KeyValueStore 區段,然後選擇關聯現有的 KeyValueStore

    • 選取包含連線函數憑證資料的 KeyValueStore,然後選擇關聯 KeyValueStore

    CloudFront 會立即將存放區與該函數建立關聯。您無需儲存函數。

AWS CLI

如果您使用 AWS CLI,通常會先在 檔案中建立連線函數程式碼,然後使用 建立函數 AWS CLI。

建立連線函數
  1. 在 檔案中建立連線函數程式碼,並將其存放在電腦可連線的目錄中。

  2. 執行命令,如範例所示。此範例會使用 fileb:// 標記法來傳入檔案。它還會包括換行符號,讓命令更易於讀取。

    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
    注意
    • 執行時間 – 連線函數僅支援 JavaScript 執行時間 2.0 (cloudfront-js-2.0)。

    • KeyValueStoreAssociations – 如果您的連線函數使用 KeyValueStore 進行憑證驗證,您可以在第一次建立函數時關聯 KeyValueStore。或者,您可以稍後使用 update-connection-function 建立關聯。數量一律為 1,因為每個連線函數只能有一個與其相關聯的 KeyValueStore。

  3. 如果命令成功執行,您會看到如下所示的輸出。

    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

    大多數資訊都是從請求中複製的。其他資訊會由 CloudFront 新增。

    注意
    • ETag – 每次修改連線函數時,此值都會變更。您需要此值才能更新或發佈函數。

    • 階段 – 新的連線函數會在 DEVELOPMENT 階段啟動。您必須先發佈函數,將其移至 LIVE 階段,才能將其與分佈建立關聯。

    • 狀態 – 函數狀態為未發佈,直到您將其發佈至 LIVE 階段為止。