選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

指定可以建立已簽署 URLs簽署者

焦點模式
指定可以建立已簽署 URLs簽署者 - Amazon CloudFront

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

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

若要建立已簽署 URL 或已簽署 Cookie,您需要 簽署者。簽署者是您在 CloudFront 中建立的受信任金鑰群組,或是包含 CloudFront 金鑰對 AWS 的帳戶。建議您使用具有已簽署 URL 和已簽署 Cookie 信任的金鑰群組。如需詳細資訊,請參閱 在信任的金鑰群組 (建議) 和 之間進行選擇 AWS 帳戶

簽署者有兩個用途:

  • 一旦您將簽署者新增至您的分佈,CloudFront 就會開始請求檢視器使用已簽署的 URL 或已簽署的 Cookie 來存取您的檔案。

  • 當您建立已簽署 URL 或已簽署 Cookie 時,您可以使用簽署者金鑰對中的私有金鑰對 URL 或 Cookie 的一部分進行簽署。當有人請求受限制的檔案時,CloudFront 會將 URL 或 Cookie 中的簽章與未簽署的 URL 或 Cookie 進行比較,以確認檔案未遭竄改。CloudFront 也可以驗證 URL 或 Cookie 是否有效,也就是好比說到期日期時間到期了嗎?

當您指定簽署者時,您也可以透過將簽署者新增至快取行為,以間接指定需要簽署 URL 或簽署 Cookie 的檔案。如果分佈只有一個快取行為,則使用者必須使用已簽署 URL 或已簽署 Cookie 來存取該分佈中的任何檔案。如果您建立多個快取行為,並將簽署者新增到一些快取行為,而非其他快取行為,則可以請求檢視器使用已簽署 URL 或已簽署 Cookie 來存取這些物件,而非其他檔案。

若要指定允許建立已簽署 URL 或已簽署 Cookie 的簽署者 (私有金鑰),並將帳戶新增到 CloudFront 分佈中,請執行以下任務:

  1. 決定是否使用信任的金鑰群組或 AWS 帳戶 做為簽署者。建議您使用信任的金鑰群組。如需詳細資訊,請參閱 在信任的金鑰群組 (建議) 和 之間進行選擇 AWS 帳戶

  2. 針對您在步驟 1 中選擇的簽署者,建立公有-私有金鑰對。如需詳細資訊,請參閱 為您的簽署者建立金鑰對

  3. 如果您使用 .NET 或 Java 建立已簽署 URL 或已簽署 Cookie,請重新格式化私有金鑰。如需詳細資訊,請參閱 重新格式化私有金鑰 (僅限 .NET 和 Java)

  4. 在您要為其建立已簽署 URL 或已簽署 Cookie 的分佈中,指定簽署者。如需詳細資訊,請參閱將簽署者新增至分佈

在信任的金鑰群組 (建議) 和 之間進行選擇 AWS 帳戶

若要使用已簽署 URL 或已簽署 Cookie,您需要 簽署者。簽署者是您在 CloudFront 中建立的受信任金鑰群組,或包含 CloudFront 金鑰對的 AWS 帳戶 。基於下列原因,建議您使用信任的金鑰群組:

  • 使用 CloudFront 金鑰群組時,您不需要使用 AWS 帳戶根使用者來管理 CloudFront 簽章 URLs和簽章 Cookie 的公有金鑰。 AWS 最佳實務建議您不必使用根使用者。

  • 透過 CloudFront 金鑰群組,您可以使用 CloudFront API 管理公有金鑰、金鑰群組和受信任的簽署者。您可以使用 API 自動化金鑰建立和金鑰輪換。當您使用 AWS 根使用者時,您必須使用 AWS Management Console 來管理 CloudFront 金鑰對,因此您無法自動化程序。

  • 由於您可以使用 CloudFront API 管理金鑰群組,因此您也可以使用 AWS Identity and Access Management (IAM) 許可原則來限制不同使用者可執行的動作。例如,您可以允許使用者上傳公有金鑰,但不能刪除公有金鑰。或者,您可以允許使用者刪除公有金鑰,但只有在符合特定條件時,例如使用多因素驗證、從特定網路傳送請求,或是在特定日期和時間範圍內傳送請求。

  • 透過 CloudFront 金鑰群組,您可以將較多數目的公有金鑰與您的 CloudFront 分佈產生關聯,讓您在使用和管理公有金鑰方面擁有更大的彈性。根據預設,您最多可以將四個金鑰群組與單一分佈產生關聯,而且一個金鑰群組中最多可以有五個公有金鑰。

    當您使用 AWS 帳戶根使用者管理 CloudFront 金鑰對時,每個 AWS 帳戶最多只能有兩個作用中的 CloudFront 金鑰對。

為您的簽署者建立金鑰對

您用來建立 CloudFront 已簽署 URL 或已簽署 Cookie 的每個簽署者都必須具有公有-私有金鑰對。簽署者使用其私有金鑰來簽署 URL 或 Cookie,並且 CloudFront 會使用公有金鑰來驗證簽章。

建立金鑰對的方式視您使用信任的金鑰群組做為簽署者 (建議使用) 或是 CloudFront 金鑰對而定。如需詳細資訊,請參閱下列區段。您建立的金鑰對必須符合下列需求:

  • 它必須是一個 SSH-2 RSA 金鑰對。

  • 它必須是 base64 編碼的 PEM 格式。

  • 它必須是 2048 位元金鑰對。

為了協助保護應用程式的安全,建議您定期輪換金鑰對。如需詳細資訊,請參閱 輪換金鑰對

為信任的金鑰群組建立金鑰對 (建議使用)

若要為信任的金鑰群組建立金鑰對,請執行下列步驟:

  1. 建立公有-私有金鑰對。

  2. 將公有金鑰上傳至 CloudFront 。

  3. 將公有金鑰新增至 CloudFront 金鑰群組。

如需詳細資訊,請參閱下列程序。

建立一組金鑰對
注意

下列步驟會使用 OpenSSL 做為建立金鑰對的一種方式來示範。還有許多其他方法可以建立 RSA 金鑰對。

  1. 下列範例命令會使用 OpenSSL 產生長度為 2048 位元的 RSA 金鑰對,並儲存至名為 private_key.pem 的檔案。

    openssl genrsa -out private_key.pem 2048
  2. 產生的檔案同時包含公有和私有金鑰。下列範例命令會從名為 private_key.pem 的檔案擷取公有金鑰。

    openssl rsa -pubout -in private_key.pem -out public_key.pem

    您稍後會在下列程序中上傳公有金鑰 (在 public_key.pem 檔案中)。

將公有金鑰上傳至 CloudFront
  1. 登入 AWS Management Console ,並在 開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home

  2. 在導覽功能表中,選擇公有金鑰

  3. 選擇建立公有金鑰

  4. 建立公有金鑰視窗中,執行下列動作:

    1. 金鑰名稱中,輸入識別公有金鑰的名稱。

    2. 對於 Key value (鍵值),貼上公有金鑰。如果您遵循上述程序中的步驟,則公有金鑰位於名為 public_key.pem 的檔案中。若要複製並貼上公有金鑰的內容,您可以:

      • 在 macOS 或 Linux cat 命令列上使用這個命令,如下所示:

        cat public_key.pem

        複製該命令的輸出,然後將其貼 Key value (鍵值) 欄位中。

      • 使用像「記事本」(在 Windows 上) 或「文字編輯」(在 macOS 上) 等純文字編輯器開啟 public_key.pem 檔案。複製檔案內容,然後將其貼到 Key value (鍵值) 欄位中。

    3. (選用) 對於註解,請新增註解以描述公有金鑰。

    完成時,請選擇新增

  5. 記錄公有金鑰 ID。您稍後在建立已簽署 URL 或已簽署 Cookie 時使用它,以做為 Key-Pair-Id 欄位的值。

將公有金鑰新增至金鑰群組
  1. https://console.aws.amazon.com/cloudfront/v4/home 中開啟 CloudFront 主控台。

  2. 在導覽功能表中,選擇金鑰群組

  3. 選擇新增金鑰群組

  4. 建立金鑰群組頁面上,執行下列動作:

    1. 金鑰群組名稱中,輸入識別金鑰群組的名稱。

    2. (選用) 在註解中,輸入註解以描述金鑰群組。

    3. 公有金鑰中,選取要新增至金鑰群組的公有金鑰,然後選擇新增。針對您要新增至金鑰群組的每個公有金鑰重複此步驟。

  5. 選擇建立金鑰對

  6. 記錄金鑰群組名稱。稍後您可以使用它來將金鑰群組與 CloudFront 分佈中的快取行為產生關聯。(在 CloudFront API 中,您可以使用金鑰群組 ID,將金鑰群組與快取行為產生關聯。)

重要

建議您建立信任金鑰群組的公有金鑰,而不是遵循下列步驟。如需建立已簽署 URL 和已簽署 Cookie 之公有金鑰的建議方式,請參閱為信任的金鑰群組建立金鑰對 (建議使用)

您可以使用下列方式建立 CloudFront 金鑰對:

  • 在 中建立金鑰對, AWS Management Console 並下載私有金鑰。請參見下列步驟:

  • 使用諸如 OpenSSL 的應用程式建立 RSA 金鑰對,並將公有金鑰上傳到 AWS Management Console。如需有關建立 RSA 金鑰對的詳細資訊,請參閱 為信任的金鑰群組建立金鑰對 (建議使用)

在 中建立 CloudFront 金鑰對 AWS Management Console
  1. AWS Management Console 使用帳戶根使用者的登入資料 AWS 登入 。

    重要

    IAM 使用者無法建立 CloudFront 金鑰對。您必須使用根使用者登入資料登入,才能建立金鑰對。

  2. 選擇您的帳戶名稱,然後選擇我的安全登入資料

  3. 選擇 CloudFront 金鑰對

  4. 確認您沒有多個作用中的金鑰對。如果您已經有兩個使用中的金鑰對,則無法建立金鑰對。

  5. 選擇建立新的金鑰對

    注意

    您也可以選擇建立自己的金鑰對並上傳公有金鑰。CloudFront 金鑰對支援 1024、2048 或 4096 位元金鑰。

  6. 建立金鑰對的對話方塊中,選擇下載私有金鑰檔案,然後將檔案儲存在電腦上。

    重要

    在安全的位置儲存 CloudFront 金鑰對的私有金鑰,並設定該檔案的許可,以便只有所需的管理員可以讀取該金鑰。如果有人取得您的私有金鑰,他們可以產生有效已簽章的 URL 和已簽章的 Cookie 並下載您的內容。您不能再次取得私有金鑰,因此如果您遺失或刪除它,則必須建立新的 CloudFront 金鑰對。

  7. 記錄您的金鑰對的金鑰對 ID。(在 中 AWS Management Console,這稱為存取金鑰 ID。) 您將在建立已簽署 URL 或已簽署 Cookie 時使用它。

重要

建議您建立信任金鑰群組的公有金鑰,而不是遵循下列步驟。如需建立已簽署 URL 和已簽署 Cookie 之公有金鑰的建議方式,請參閱為信任的金鑰群組建立金鑰對 (建議使用)

您可以使用下列方式建立 CloudFront 金鑰對:

  • 在 中建立金鑰對, AWS Management Console 並下載私有金鑰。請參見下列步驟:

  • 使用諸如 OpenSSL 的應用程式建立 RSA 金鑰對,並將公有金鑰上傳到 AWS Management Console。如需有關建立 RSA 金鑰對的詳細資訊,請參閱 為信任的金鑰群組建立金鑰對 (建議使用)

在 中建立 CloudFront 金鑰對 AWS Management Console
  1. AWS Management Console 使用帳戶根使用者的登入資料 AWS 登入 。

    重要

    IAM 使用者無法建立 CloudFront 金鑰對。您必須使用根使用者登入資料登入,才能建立金鑰對。

  2. 選擇您的帳戶名稱,然後選擇我的安全登入資料

  3. 選擇 CloudFront 金鑰對

  4. 確認您沒有多個作用中的金鑰對。如果您已經有兩個使用中的金鑰對,則無法建立金鑰對。

  5. 選擇建立新的金鑰對

    注意

    您也可以選擇建立自己的金鑰對並上傳公有金鑰。CloudFront 金鑰對支援 1024、2048 或 4096 位元金鑰。

  6. 建立金鑰對的對話方塊中,選擇下載私有金鑰檔案,然後將檔案儲存在電腦上。

    重要

    在安全的位置儲存 CloudFront 金鑰對的私有金鑰,並設定該檔案的許可,以便只有所需的管理員可以讀取該金鑰。如果有人取得您的私有金鑰,他們可以產生有效已簽章的 URL 和已簽章的 Cookie 並下載您的內容。您不能再次取得私有金鑰,因此如果您遺失或刪除它,則必須建立新的 CloudFront 金鑰對。

  7. 記錄您的金鑰對的金鑰對 ID。(在 中 AWS Management Console,這稱為存取金鑰 ID。) 您將在建立已簽署 URL 或已簽署 Cookie 時使用它。

重新格式化私有金鑰 (僅限 .NET 和 Java)

如果您正使用 .NET 或 Java 以建立已簽署 URL 或已簽署 Cookie,則無法在預設 PEM 格式中,使用金鑰對的私有金鑰來建立簽章。相反地,請執行下列動作:

  • .NET 框架 – 將私有金鑰轉換為 .NET 框架使用的 XML 格式。有幾種工具可用。

  • Java – 將私有金鑰轉換為 DER 格式。執行此操作的一種方法是使用以下 OpenSSL 命令。在下列命令中,private_key.pem 是包含 PEM 格式化的私有金鑰的檔案名稱,而且 private_key.der 是執行命令之後包含 DER 格式化的私有金鑰的檔案名稱。

    openssl pkcs8 -topk8 -nocrypt -in private_key.pem -inform PEM -out private_key.der -outform DER

    為了確保編碼器能正確運作,請將 Bouncy Castle Java 的密碼編譯 API 的 JAR 新增到專案中,然後再新增 Bouncy Castle 供應商。

將簽署者新增至分佈

簽署者是信任的金鑰群組 (建議使用) 或 CloudFront 金鑰對,可為分佈建立已簽署 URL 和已簽署 Cookie。若要在 CloudFront 分佈中使用已簽署 URL 或已簽署 Cookie,您必須指定簽署者。

簽署者與快取行為相關聯。在某些物件或不用於相同分佈之其他檔案下,這允許您要求簽章 URL 或簽章 Cookie。只有和對應快取行為相關聯的檔案,分佈才會要求已簽署的 URL 或 Cookie。

同樣地,簽署者只能為與對應快取行為相關聯的檔案簽署 URL 或 Cookie。例如,如果您有一個快取行為下的簽署者和不同快取行為下的不同簽署者,則這兩個簽署者都不能為與其他快取行為的相關檔案建立簽署 URL 或 Cookie。

重要

在您將簽署者新增至分佈之前,請執行下列動作:

  • 請仔細定義快取行為中的路徑模式,以及快取行為順序,這樣您就不會讓使用者意外地存取您的內容,也不會讓他們存取您希望所有人都能使用的內容。

    例如,假設請求與兩個快取行為的路徑模式相符合。第一個快取行為不需要已簽章的 URL 或已簽章的 Cookie,而第二個快取行為則需要。使用者將能夠在不使用已簽署的 URL 或已簽署的 Cookie 的情況下存取檔案,因為 CloudFront 處理與第一個符合相關聯的快取行為。

    如需喲歐冠路徑模式的詳細資訊,請參閱 路徑模式

  • 對於您已經用來分佈內容的分配內容,請在新增簽署者之前,確定您已準備好開始產生已簽署 URL 和已簽署 Cookie。當您新增簽署者時,CloudFront 會拒絕未包含有效的已簽署 URL 或已簽署 Cookie 請求。

您可以使用 CloudFront 主控台或 CloudFront API 會將簽署者新增至您的分佈。

Console

下列步驟說明如何將信任的金鑰群組新增為簽署者。您也可以新增 AWS 帳戶 做為信任的簽署者,但不建議這麼做。

使用主控台將簽署者新增至分佈
  1. 記錄要用作信任的簽署者之金鑰群組的金鑰群組 ID。如需詳細資訊,請參閱 為信任的金鑰群組建立金鑰對 (建議使用)

  2. https://console.aws.amazon.com/cloudfront/v4/home 中開啟 CloudFront 主控台。

  3. 使用已簽署 URL 或已簽署 Cookie,選擇要保護其檔案的分佈。

    注意

    若要將簽署者新增至新的發行套件,您可以指定建立發行套件時步驟 6 所述的相同設定。

  4. 選擇 Behaviors (動作) 索引標籤。

  5. 選取快取行為,其路徑模式符合您要使用已簽署 URL 或已簽署 Cookie 保護的檔案,然後選擇編輯

  6. 編輯行為頁面上,執行下列動作:

    1. 針對限制檢視器存取 (使用已簽署 URL 或已簽署 Cookie),按一下

    2. 針對 Trusted Key Groups or Trusted Signer (信任的金鑰群組或可信簽署者),選擇 Trusted Key Groups (信任的金鑰群組)。

    3. 信任的金鑰群組中,選擇要新增的金鑰群組,然後選擇新增。如果您要新增多個金鑰群組,請重複此步驟。

  7. 選擇是,編輯以更新快取行為。

API

您可以使用 CloudFront API 將信任的金鑰群組新增為簽署者。您可以將簽署者新增至現有分佈或新分佈。在任一情況下,請在 TrustedKeyGroups 元素中指定值。

您也可以新增 AWS 帳戶 做為信任的簽署者,但不建議這麼做。

請參閱 Amazon CloudFront API 參考中的下列主題:

下列步驟說明如何將信任的金鑰群組新增為簽署者。您也可以新增 AWS 帳戶 做為信任的簽署者,但不建議這麼做。

使用主控台將簽署者新增至分佈
  1. 記錄要用作信任的簽署者之金鑰群組的金鑰群組 ID。如需詳細資訊,請參閱 為信任的金鑰群組建立金鑰對 (建議使用)

  2. https://console.aws.amazon.com/cloudfront/v4/home 中開啟 CloudFront 主控台。

  3. 使用已簽署 URL 或已簽署 Cookie,選擇要保護其檔案的分佈。

    注意

    若要將簽署者新增至新的發行套件,您可以指定建立發行套件時步驟 6 所述的相同設定。

  4. 選擇 Behaviors (動作) 索引標籤。

  5. 選取快取行為,其路徑模式符合您要使用已簽署 URL 或已簽署 Cookie 保護的檔案,然後選擇編輯

  6. 編輯行為頁面上,執行下列動作:

    1. 針對限制檢視器存取 (使用已簽署 URL 或已簽署 Cookie),按一下

    2. 針對 Trusted Key Groups or Trusted Signer (信任的金鑰群組或可信簽署者),選擇 Trusted Key Groups (信任的金鑰群組)。

    3. 信任的金鑰群組中,選擇要新增的金鑰群組,然後選擇新增。如果您要新增多個金鑰群組,請重複此步驟。

  7. 選擇是,編輯以更新快取行為。

輪換金鑰對

建議您定期輪換 (變更) 已簽署網址和已簽署 Cookie 的金鑰對。若要輪換您用來建立已簽署 URL 或已簽署 Cookie 的金鑰對,而不會使尚未到期的無效 URL 或 Cookie,請執行以下任務:

  1. 建立新的金鑰對,並將公有金鑰新增至金鑰群組。如需詳細資訊,請參閱 為信任的金鑰群組建立金鑰對 (建議使用)

  2. 如果您在上一個步驟中建立了新的金鑰群組,請以簽署者的身分將金鑰群組新增到分佈中

    重要

    請勿從金鑰群組中移除任何現有的公有金鑰,或從分佈中移除任何金鑰群組。請僅加入新的。

  3. 使用新金鑰對中的私有金鑰來更新應用程式以建立簽章。確認已簽署 URL 或使用新私有金鑰簽署的 Cookie 正在運作。

  4. 等待直到已簽署 URL 或 Cookie 過期,而使用先前的金鑰對。然後從金鑰群組中移除舊的公有金鑰。如果您在步驟 2 中建立新的金鑰群組,請從分佈中移除舊的金鑰群組。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。