本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 CloudFront 連線函數以進行交互 TLS (檢視器) 驗證
您會分兩個階段建立 CloudFront Connection Function:
-
建立函數程式碼做為 JavaScript。您可以從 CloudFront 主控台使用預設範例或自行撰寫。如需詳細資訊,請參閱下列主題:
-
寫入 mTLS 驗證的 CloudFront 連線函數程式碼
-
CloudFront Connection Function 事件結構和回應格式
-
連線函數程式碼範例
-
-
使用 CloudFront 建立連線函數並包含您的程式碼。程式碼存在於函數內部 (而不是引用形式)。
CloudFront 主控台
建立連線函數
登入 AWS 管理主控台 並開啟位於 的 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home
。 -
選擇 Create function (建立函數)。
-
輸入 中唯一的函數名稱 AWS 帳戶,選擇連線函數做為函數類型,然後選擇繼續。
-
新連線函數的詳細資訊頁面隨即出現。
注意
連線函數僅支援 JavaScript 執行期 2.0。若要在函數中使用 CloudFront Connection Function KeyValueStore 整合,您必須使用此執行時間版本。
-
在函數程式碼區段中,選擇建置索引標籤,然後輸入您的連線函數程式碼。建置索引標籤中包含的範例程式碼說明 Connection Function 程式碼的基本語法。
-
選擇儲存變更。
-
如果連線函數程式碼使用 KeyValueStore 進行憑證撤銷檢查或裝置驗證,您必須建立 KeyValueStore 的關聯。
您可以在第一次建立函數時關聯 KeyValueStore。或者,您可以稍後透過關聯連線函數來建立關聯。
若要立即建立 KeyValueStore 的關聯,請遵循下列步驟:
-
前往關聯 KeyValueStore 區段,然後選擇關聯現有的 KeyValueStore。
-
選取包含連線函數憑證資料的 KeyValueStore,然後選擇關聯 KeyValueStore。
CloudFront 會立即將存放區與該函數建立關聯。您無需儲存函數。
-
AWS CLI
如果您使用 AWS CLI,通常會先在 檔案中建立連線函數程式碼,然後使用 建立函數 AWS CLI。
建立連線函數
-
在 檔案中建立連線函數程式碼,並將其存放在電腦可連線的目錄中。
-
執行命令,如範例所示。此範例會使用
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。
-
-
如果命令成功執行,您會看到如下所示的輸出。
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 階段為止。
-