選取您的 Cookie 偏好設定

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

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

限制對 AWS Elemental MediaStore 原始伺服器的存取

焦點模式
限制對 AWS Elemental MediaStore 原始伺服器的存取 - Amazon CloudFront

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

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

CloudFront 提供原始伺服器存取控制 (OAC),以限制對 AWS Elemental MediaStore 原始伺服器的存取。

建立新的原始伺服器存取控制

完成下列主題中說明的步驟,在 CloudFront 中設定新的原始存取控制。

先決條件

在建立和設定原始存取控制之前,您必須擁有具 MediaStore 原始伺服器的 CloudFront 分佈。

授予原始存取控制許可,以存取 MediaStore 原始伺服器

在您建立原始存取控制或於 CloudFront 分佈中進行設定之前,請確定 OAC 具有存取 MediaStore 原始伺服器的許可。在建立 CloudFront 分佈之後,但在將 OAC 新增至分佈組態中的 MediaStore 原始伺服器之前,請執行此作業。

如要授予存取 MediaStore 原始伺服器的 OAC 許可,請使用 MediaStore 容器政策,以允許 CloudFront 服務主體 (cloudfront.amazonaws.com) 存取原始伺服器。使用政策中的 Condition 元素,僅當請求代表包含 S3 原始伺服器的 CloudFront 分佈時,才允許 CloudFront 存取 MediaStore 容器。

下列是允許 CloudFront OAC 存取 MediaStore 原始伺服器的 MediaStore 容器政策範例。

範例 允許唯讀存取 CloudFront OAC 的 MediaStore 容器政策
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontServicePrincipalReadOnly", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": [ "mediastore:GetObject" ], "Resource": "arn:aws:mediastore:<region>:111122223333:container/<container name>/*", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/<CloudFront distribution ID>" }, "Bool": { "aws:SecureTransport": "true" } } } ] }
範例 允許讀取和寫入存取 CloudFront OAC 的 MediaStore 容器政策
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontServicePrincipalReadWrite", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": [ "mediastore:GetObject", "mediastore:PutObject" ], "Resource": "arn:aws:mediastore:<region>:111122223333:container/<container name>/*", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/<CloudFront distribution ID>" }, "Bool": { "aws:SecureTransport": "true" } } } ] }
注意

若要允許寫入存取權,您必須設定 Allowed HTTP methods (允許的 HTTP 方法),以將 PUT 包含在 CloudFront 分發的行為設定中。

建立原始伺服器存取控制

若要建立 OAC,您可以使用 AWS Management Console AWS CloudFormation、 AWS CLI、 或 CloudFront API。

Console
如要建立原始存取控制
  1. 登入 AWS Management Console ,並在 開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home

  2. 於左側導覽窗格中,選擇 Origin access (原始存取)。

  3. 選擇 Create control setting (建立控制設定)。

  4. Create control setting (建立控制設定) 表單上,執行下列動作:

    1. Details (詳細資訊) 窗格中,輸入 Name (名稱) 和 (選用) Description (描述),以用於原始存取控制。

    2. Settings (設定) 窗格中,建議您保留預設設定 (Sign requests (recommended)) (簽署請求 (建議使用))。如需詳細資訊,請參閱原始存取控制的進階設定

  5. Origin type (原始伺服器類型) 下拉式功能表中選擇 MediaStore。

  6. 選擇 Create (建立)。

    建立 OAC 之後,請記下 Name (名稱)。您需要於下列程序中進行使用。

如要將原始存取控制新增至分佈中的 MediaStore 原始伺服器
  1. https://console.aws.amazon.com/cloudfront/v4/home 中開啟 CloudFront 主控台。

  2. 選擇一個您想要新增 OAC 之具 MediaStore 原始伺服器的分佈,然後選擇 Origins (原始伺服器) 標籤。

  3. 選取您想要將 OAC 新增至的 MediaStore 原始伺服器,然後選擇 Edit (編輯)。

  4. 在原始伺服器的Protocol (通訊協定) 選取 HTTPS only (僅限 HTTPS)。

  5. Origin access control (原始存取控制) 下拉式功能表中,選擇您想要使用的 OAC。

  6. 選擇 Save changes (儲存變更)。

分佈開始部署至所有 CloudFront 邊緣節點。當邊緣節點接收到新組態時,其會簽署傳送至 MediaStore 儲存貯體原始伺服器的所有請求。

CloudFormation

若要使用 建立原始存取控制 (OAC) AWS CloudFormation,請使用 AWS::CloudFront::OriginAccessControl 資源類型。下列範例顯示 AWS CloudFormation 範本語法,採用 YAML 格式,用於建立原始伺服器存取控制。

Type: AWS::CloudFront::OriginAccessControl Properties: OriginAccessControlConfig: Description: An optional description for the origin access control Name: ExampleOAC OriginAccessControlOriginType: mediastore SigningBehavior: always SigningProtocol: sigv4

如需詳細資訊,請參閱《AWS CloudFormation 使用者指南》中的 AWS::CloudFront::OriginAccessControl

CLI

若要使用 AWS Command Line Interface (AWS CLI) 建立原始存取控制,請使用 aws cloudfront create-origin-access-control命令。您可以使用輸入檔案來提供命令的輸入參數,而不必分別將每個個別參數指定為命令列輸入。

如要建立原始存取控制 (包含輸入檔案的 CLI)
  1. 使用下列命令建立名為 origin-access-control.yaml 的檔案。這個檔案中包含 create-origin-access-control 命令的所有輸入參數。

    aws cloudfront create-origin-access-control --generate-cli-skeleton yaml-input > origin-access-control.yaml
  2. 開啟您剛才建立的 origin-access-control.yaml 檔案。編輯檔案以新增 OAC 的名稱、說明 (選用),並將 SigningBehavior 變更為 always。接著儲存檔案。

    如需其他 OAC 設定的相關資訊,請參閱 原始存取控制的進階設定

  3. 使用下列命令,利用 origin-access-control.yaml 檔案中的輸入參數建立原始存取控制。

    aws cloudfront create-origin-access-control --cli-input-yaml file://origin-access-control.yaml

    記下命令輸出中的 Id 值,您需要其將 OAC 新增至 CloudFront 分佈中的 MediaStore 原始伺服器。

如要將 OAC 附加至現有分佈 (包含輸入檔案的 CLI) 中的 MediaStore 原始伺服器
  1. 使用下列命令來儲存您想要新增之 CloudFront 分佈的分佈組態。分佈必須具有 MediaStore 原始伺服器。

    aws cloudfront get-distribution-config --id <CloudFront distribution ID> --output yaml > dist-config.yaml
  2. 開啟您剛才建立且命名為 dist-config.yaml 的檔案。編輯檔案,進行下列變更:

    • Origins 物件中,將 OAC 的 ID 新增至名為 OriginAccessControlId 的欄位。

    • 從名為 OriginAccessIdentity 的欄位中移除值(如果存在)。

    • ETag 欄位重新命名為 IfMatch,但不要變更欄位的值。

    完成後儲存檔案。

  3. 使用下列命令來更新分佈,以使用原始存取控制。

    aws cloudfront update-distribution --id <CloudFront distribution ID> --cli-input-yaml file://dist-config.yaml

分佈開始部署至所有 CloudFront 邊緣節點。當邊緣節點接收到新組態時,其會簽署傳送至 MediaStore 原始伺服器的所有請求。

API

如要使用 CloudFront API 建立原始存取控制,請使用 CreateOriginAccessControl。如需有關您在此 API 呼叫中指定欄位的詳細資訊,請參閱 AWS SDK 或其他 API 用戶端的 API 參考文件。

建立原始存取控制之後,您可以使用下列其中一個 API 呼叫,將其連接至分佈中的 MediaStore 原始伺服器:

對於這兩個 API 呼叫,請於原始伺服器內部的 OriginAccessControlId 欄位中提供原始存取控制 ID。如需在這些 API 呼叫中指定之其他欄位的詳細資訊,請參閱 分佈設定參考和 AWS SDK 或其他 API 用戶端的 API 參考文件。

如要建立原始存取控制
  1. 登入 AWS Management Console ,並在 開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home

  2. 於左側導覽窗格中,選擇 Origin access (原始存取)。

  3. 選擇 Create control setting (建立控制設定)。

  4. Create control setting (建立控制設定) 表單上,執行下列動作:

    1. Details (詳細資訊) 窗格中,輸入 Name (名稱) 和 (選用) Description (描述),以用於原始存取控制。

    2. Settings (設定) 窗格中,建議您保留預設設定 (Sign requests (recommended)) (簽署請求 (建議使用))。如需詳細資訊,請參閱原始存取控制的進階設定

  5. Origin type (原始伺服器類型) 下拉式功能表中選擇 MediaStore。

  6. 選擇 Create (建立)。

    建立 OAC 之後,請記下 Name (名稱)。您需要於下列程序中進行使用。

如要將原始存取控制新增至分佈中的 MediaStore 原始伺服器
  1. https://console.aws.amazon.com/cloudfront/v4/home 中開啟 CloudFront 主控台。

  2. 選擇一個您想要新增 OAC 之具 MediaStore 原始伺服器的分佈,然後選擇 Origins (原始伺服器) 標籤。

  3. 選取您想要將 OAC 新增至的 MediaStore 原始伺服器,然後選擇 Edit (編輯)。

  4. 在原始伺服器的Protocol (通訊協定) 選取 HTTPS only (僅限 HTTPS)。

  5. Origin access control (原始存取控制) 下拉式功能表中,選擇您想要使用的 OAC。

  6. 選擇 Save changes (儲存變更)。

分佈開始部署至所有 CloudFront 邊緣節點。當邊緣節點接收到新組態時,其會簽署傳送至 MediaStore 儲存貯體原始伺服器的所有請求。

原始存取控制的進階設定

CloudFront 來原始存取控制功能包含僅適用於特定使用案例的進階設定。除非您對進階設定有特定需求,否則請使用建議的設定。

原始伺服器存取控制包含名為簽署行為的設定 (在 主控台中) 或 SigningBehavior(在 API、CLI 和 中 AWS CloudFormation)。此設定提供下列選項:

永遠簽署原始請求 (建議設定)

我們建議使用此設定,於主控台中名為Sign requests (recommended) (簽署請求 (建議使用)),或於 API、CLI 和 AWS CloudFormation中的 always。使用此設定時,CloudFront 一律會簽署傳送至 MediaStore 原始伺服器的所有請求。

絕不簽署原始伺服器請求

此設定於主控台中命名為 Do not sign requests (請勿簽署請求),或 API、CLI 和 AWS CloudFormation中的 never。使用此設定,關閉使用此原始存取控制之所有分佈中的所有原始伺服器的原始存取控制。與從所有使用其原始伺服器和分佈中逐一移除原始存取控制相比,此可節省時間和精力。使用此設定時,CloudFront 不會簽署傳送至 MediaStore 原始伺服器的任何請求。

警告

如要使用此設定,MediaStore 原始伺服器必須可公開存取。如果您對無法公開存取的 MediaStore 原始伺服器使用此設定,CloudFront 將無法存取該原始伺服器。MediaStore 原始伺服器會將錯誤傳回 CloudFront,而 CloudFront 會將這些錯誤傳遞給檢視器。如需詳細資訊,請參閱透過 HTTPS 的公有讀取存取的 MediaStore 容器政策範例。

請勿覆寫檢視器 (用戶端) Authorization 標題

此設定於主控台中命名為 Do not override authorization header (請勿覆寫授權標頭),或於 API、CLI 和 AWS CloudFormation中的 no-override。如果您想要 CloudFront 僅於對應的檢視器請求不包含 Authorization 標題時簽署原始伺服器請求,請使用此設定。利用此設定,當檢視器請求存在時,CloudFront 會傳遞來自檢視器請求的 Authorization 標題,但在檢視器請求不包含 Authorization 標題時對原始伺服器請求進行簽名 (新增其自己的 Authorization 標題)。

警告

如要從檢視器請求傳遞 Authorization 標題,您必須Authorization 標題新增至快取政策中,適用於使用與此原始存取控制相關聯之 MediaStore 原始伺服器的所有快取行為。

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