AWS Elemental MediaPackage v2 オリジンへのアクセスの制限
CloudFront には、MediaPackage v2 オリジンへのアクセスを制限するためのオリジンアクセスコントロール (OAC) が用意されています。
注記
CloudFront OAC は、MediaPackage v2 のみをサポートしています。MediaPackage v1 はサポートされていません。
新しい OAC の作成
CloudFront で新しい OAC を設定するには、以下のトピックに示す手順を実行します。
前提条件
OAC を作成して設定する前に、MediaPackage v2 オリジンを持つ CloudFront ディストリビューションが必要です。詳細については、「MediaStore コンテナまたは MediaPackage チャネルを使用する」を参照してください。
MediaPackage v2 オリジンへのアクセス許可を OAC に付与する
CloudFront ディストリビューションで OAC を作成または設定する前に、OAC に MediaPackage v2 オリジンへのアクセス許可があることを確認してください。これは、CloudFront ディストリビューションを作成した後で、ディストリビューション設定で MediaPackage v2 オリジンに OAC を追加する前に行います。
MediaPackage v2 オリジンへのアクセス許可を OAC に付与するには、IAM ポリシーを使用して、CloudFront サービスプリンシパル (cloudfront.amazonaws.com
) にオリジンへのアクセスを許可します。ポリシーの Condition
要素は、MediaPackage v2 オリジンを含む CloudFront ディストリビューションを対象とするリクエストに限り、MediaPackage v2 オリジンへのアクセスを CloudFront に許可します。
例 : CloudFront ディストリビューションへの読み取り専用アクセスを許可する IAM ポリシー
次のポリシーは、CloudFront ディストリビューション (
) に MediaPackage v2 オリジンへのアクセスを許可します。オリジンは、E1PDK09ESKHJWT
Resource
要素に指定された ARN です。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontServicePrincipal", "Effect": "Allow", "Principal": {"Service": "cloudfront.amazonaws.com"}, "Action": "mediapackagev2:GetObject", "Resource": "arn:aws:mediapackagev2:us-east-1:123456789012:channelGroup/
channel-group-name
/channel/channel-name
/originEndpoint/origin_endpoint_name
", "Condition": { "StringEquals": {"AWS:SourceArn": "arn:aws:cloudfront::123456789012:distribution/E1PDK09ESKHJWT
"} } } ] }
注記
MediaPackage v2 オリジンへのアクセス許可がないディストリビューションを作成した場合は、CloudFront コンソールで [ポリシーをコピー] を選択し、[エンドポイントのアクセス許可を更新] を選択できます。次に、コピーしたアクセス許可をエンドポイントにアタッチできます。詳細については、「AWS Elemental MediaPackage ユーザーガイド」の「エンドポイントポリシーフィールド」を参照してください。
OAC の作成
OAC を作成するには、AWS Management Console、AWS CloudFormation、AWS CLI、または CloudFront API を使用できます。
オリジンアクセスコントロールの詳細設定
CloudFront OAC 機能には、特定のユースケースのみを対象とした詳細設定が含まれています。詳細設定が特に必要でない限り、推奨設定を使用してください。
OAC には、[署名動作] (コンソール) または SigningBehavior
(API、CLI、AWS CloudFormation) という名前の設定が含まれています。この設定では、次のオプションを使用できます。
- オリジンリクエストに常に署名する (推奨設定)
-
コンソールの [Sign requests (recommended)] (署名リクエスト (推奨))、または API、CLI、および AWS CloudFormation の
always
という設定を使用することをお勧めします。この設定の場合、CloudFront は MediaPackage v2 オリジンに送信するすべてのリクエストに常に署名します。 - オリジンリクエストに署名しない
-
この設定は、コンソールでは [リクエストに署名しない]、または API、CLI、およびAWS CloudFormation では
never
です。この設定を使用して、この OAC を使用するすべてのディストリビューションですべてのオリジンの OAC をオフにします。OAC を使用するすべてのオリジンとディストリビューションから OAC を 1 つずつ削除する場合と比べて、この設定で時間と労力を節約できます。この設定の場合、CloudFront は MediaPackage v2 オリジンに送信するいずれのリクエストにも署名しません。警告
この設定を使用するには、MediaPackage v2 オリジンがパブリックにアクセス可能である必要があります。この設定を、パブリックにアクセスできない MediaPackage v2 オリジンで使用すると、CloudFront はオリジンにアクセスできません。MediaPackage v2 オリジンは CloudFront にエラーを返し、CloudFront はこれらのエラーをビューワーに渡します。詳細については、「AWS Elemental MediaPackage ユーザーガイド」の「MediaPackage のポリシーとアクセス許可」で MediaPackage v2 ポリシーの例を参照してください。
- ビューワー (クライアント) の
Authorization
ヘッダーを上書きしない -
この設定は、コンソールでは [認証ヘッダーを上書きしない] で、API、CLI、および AWS CloudFormation では
no-override
です。この設定は、対応するビューワーリクエストにAuthorization
ヘッダーに含まれていない場合にのみ、CloudFront がオリジンリクエストに署名するよう指定する場合に使用します。この設定では、ビューワーリクエストが存在するが、ビューワーリクエストにAuthorization
ヘッダーが含まれていないときにオリジンリクエストに署名する (独自のAuthorization
ヘッダーを追加) ときに、CloudFront はビューワーリクエストからAuthorization
ヘッダーを渡します。警告
ビューワーリクエストから
Authorization
ヘッダーを渡すには、このオリジンアクセスコントロールに関連付けられた MediaPackage v2 オリジンを使用するすべてのキャッシュ動作で、Authorization
ヘッダーをキャッシュポリシーに追加する必要があります。