Restringir o acesso a uma origem da AWS Elemental MediaPackage v2
O CloudFront fornece controle de acesso à origem (OAC) para restringir o acesso a uma origem do MediaPackage v2.
nota
O OAC do CloudFront só é compatível com o MediaPackage v2. O MediaPackage v1 não é compatível.
Criar um novo OAC
Conclua as etapas descritas nos tópicos a seguir para configurar um novo OAC no CloudFront.
Tópicos
Pré-requisitos
Antes de criar e configurar o controle de acesso à origem, você deve ter uma distribuição do CloudFront com uma origem do MediaPackage v2. Para ter mais informações, consulte Usar um contêiner do MediaStore ou um canal do MediaPackage.
Conceder permissão de controle de acesso à origem para acessar a origem do MediaPackage v2
Antes de criar um controle de acesso à origem ou configurá-lo em uma distribuição do CloudFront, o OAC deve ter permissão para acessar a origem do MediaPackage v2. Faça isso depois de criar uma distribuição do CloudFront, mas antes de adicionar o OAC à origem do MediaPackage v2 na configuração de distribuição.
Para conceder permissão ao OAC para acessar a origem do MediaPackage v2, use uma política do IAM para possibilitar que a entidade principal de serviço do CloudFront (cloudfront.amazonaws.com
) acesse a origem. O elemento Condition
na política permite que o CloudFront acesse a origem do MediaPackage v2 somente quando a solicitação for em nome da distribuição do CloudFront que contém a origem do MediaPackage v2.
exemplo : política do IAM que permite acesso somente leitura a uma distribuição do CloudFront
A política a seguir permite que a distribuição do CloudFront (
) acesse a origem do MediaPackage v2. A origem é o ARN especificado para o elemento E1PDK09ESKHJWT
Resource
.
{ "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
"} } } ] }
nota
Se você criar uma distribuição que não tenha permissão para sua origem do MediaPackage v2, é possível escolher Copy policy (Copiar política) no console do CloudFront e, depois, escolher Update endpoint permissions (Atualizar permissões de endpoint). Em seguida, é possível anexar a permissão copiada ao endpoint. Para ter mais informações, consulte Endpoint policy fields (Campos de política de endpoint) no Guia do usuário do AWS Elemental MediaPackage.
Criar o OAC
Para criar um OAC, é possível usar o AWS Management Console, o AWS CloudFormation, a AWS CLI ou a API do CloudFront.
Configurações avançadas para controle de acesso à origem
O atributo de OAC do CloudFront inclui configurações avançadas destinadas somente a casos de uso específicos. Use as configurações recomendadas, a menos que você precise usar as configurações avançadas para uma necessidade específica.
O OAC contém uma configuração chamada Signing behavior (Comportamento de assinatura) (no console) ou SigningBehavior
(na API, na CLI e no AWS CloudFormation). Essa configuração fornece as seguintes opções:
- Always sign origin requests (recommended setting) [Sempre assinar solicitações de origem (configuração recomendada)]
-
Recomendamos usar essa configuração, chamada Sign requests (recommended) [Assinar solicitações (recomendado)] no console, ou
always
na API, na CLI e no AWS CloudFormation. Com essa configuração, o CloudFront sempre assina todas as solicitações enviadas à origem do MediaPackage v2. - Never sign origin requests (Nunca assinar solicitações de origem)
-
Essa configuração é chamada Do not sign requests (Não assinar solicitações) no console ou
never
na API, na CLI e no AWS CloudFormation. Use essa configuração para desativar o OAC para todas as origens em todas as distribuições que usam esse OAC. Isso pode economizar tempo e esforço em comparação com a remoção individual de um OAC de todas as origens e distribuições que o usam. Com essa configuração, o CloudFront não assina nenhuma solicitação enviada à origem do MediaPackage v2.Atenção
Para usar essa configuração, a origem do MediaPackage v2 deve estar acessível de forma pública. Se você usar essa configuração com uma origem do MediaPackage v2 que não esteja acessível de forma pública, o CloudFront não poderá acessar a origem. A origem do MediaPackage v2 retorna erros ao CloudFront e o CloudFront transmite esses erros aos visualizadores. Para ter mais informações, consulte o exemplo de política do MediaPackage v2 para Políticas e permissões no MediaPackage no Guia do usuário do AWS Elemental MediaPackage.
- Não substituir o cabeçalho
Authorization
do visualizador (cliente) -
Essa configuração é chamada Do not override authorization header (Não substituir o cabeçalho de autorização) no console ou
no-override
na API, na CLI e no AWS CloudFormation. Use essa configuração quando quiser que o CloudFront assine solicitações de origem somente quando a solicitação do visualizador correspondente não incluir um cabeçalhoAuthorization
. Com essa configuração, o CloudFront transmite o cabeçalhoAuthorization
da solicitação do visualizador quando houver, mas assina a solicitação de origem (adicionando seu próprio cabeçalhoAuthorization
) quando a solicitação do visualizador não inclui um cabeçalhoAuthorization
.Atenção
Para transmitir o cabeçalho
Authorization
da solicitação do visualizador, você deve adicionar o cabeçalhoAuthorization
a uma política de cache para todos os comportamentos de cache que usam origens do MediaPackage v2 associadas a esse controle de acesso à origem.