Usando a Rede de Entrega de Conteúdo do Azure com SAS

Quando você configura uma conta de armazenamento para a Rede de Entrega de Conteúdo do Azure para usar em cache de conteúdo, por padrão, qualquer pessoa que conheça as URLs de seus contêineres de armazenamento pode acessar os arquivos que você carregou. Para proteger os arquivos em sua conta de armazenamento, você pode definir o acesso de seus contêineres de armazenamento de público para privado. No entanto, se o fizer, ninguém poderá aceder aos seus ficheiros.

Se quiser conceder acesso limitado a contêineres de armazenamento privado, você pode usar o recurso SAS (Assinatura de Acesso Compartilhado) da sua conta de Armazenamento do Azure. Uma SAS é um URI que concede direitos de acesso restritos aos recursos de Armazenamento do Azure sem expor a sua chave de conta. Você pode fornecer uma SAS para clientes nos quais não confia com a chave da conta de armazenamento, mas aos quais deseja delegar acesso a determinados recursos da conta de armazenamento. Ao distribuir um URI de Assinatura de Acesso Compartilhado para esses clientes, você concede a eles acesso a um recurso por um período de tempo especificado.

Com uma SAS, você pode definir vários parâmetros de acesso a um blob, como tempos de início e expiração, permissões (leitura/gravação) e intervalos de IP. Este artigo descreve como usar o SAS com a Rede de Entrega de Conteúdo do Azure. Para obter mais informações sobre SAS, incluindo como criá-lo e suas opções de parâmetro, consulte Usando assinaturas de acesso compartilhado (SAS).

Configurar a Rede de Entrega de Conteúdo do Azure para trabalhar com SAS de armazenamento

As duas opções a seguir são recomendadas para usar o SAS com a Rede de Entrega de Conteúdo do Azure. Todas as opções pressupõem que você já tenha criado uma SAS funcional (consulte os pré-requisitos).

Pré-requisitos

Para começar, crie uma conta de armazenamento e, em seguida, gere uma SAS para o seu ativo. Você pode gerar dois tipos de assinaturas de acesso armazenadas: uma SAS de serviço ou uma SAS de conta. Para obter mais informações, consulte Tipos de assinaturas de acesso compartilhado.

Depois de gerar um token SAS, você pode acessar seu arquivo de armazenamento de blob anexando ?sv=<SAS token> à sua URL. Este URL tem o seguinte formato:

https://<account name>.blob.core.windows.net/<container>/<file>?sv=<SAS token>

Por exemplo:

https://democdnstorage1.blob.core.windows.net/container1/demo.jpg?sv=2017-07-29&ss=b&srt=co&sp=r&se=2038-01-02T21:30:49Z&st=2018-01-02T13:30:49Z&spr=https&sig=QehoetQFWUEd1lhU5iOMGrHBmE727xYAbKJl5ohSiWI%3D

Para obter mais informações sobre como definir parâmetros, consulte Considerações sobre parâmetros SAS e Parâmetros de assinatura de acesso compartilhado.

Captura de ecrã das definições SAS da rede de distribuição de conteúdos.

Opção 1: Usando SAS com passagem para armazenamento de blob da Rede de Entrega de Conteúdo do Azure

Essa opção é a mais simples e usa um único token SAS, que é passado da Rede de Entrega de Conteúdo do Azure para o servidor de origem.

  1. Selecione um ponto de extremidade, selecione Regras de cache e, em seguida, selecione Armazenar em cache todos os URLs exclusivos na lista Cache de cadeia de caracteres de consulta.

    Captura de tela das regras de cache da rede de distribuição de conteúdo.

  2. Depois de configurar o SAS em sua conta de armazenamento, você deve usar o token SAS com as URLs do ponto de extremidade da rede de entrega de conteúdo e do servidor de origem para acessar o arquivo.

    A URL do ponto de extremidade da rede de entrega de conteúdo resultante tem o seguinte formato: https://<endpoint hostname>.azureedge.net/<container>/<file>?sv=<SAS token>

    Por exemplo:

    https://demoendpoint.azureedge.net/container1/demo.jpg?sv=2017-07-29&ss=b&srt=c&sp=r&se=2027-12-19T17:35:58Z&st=2017-12-19T09:35:58Z&spr=https&sig=kquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3D

  3. Ajuste a duração do cache usando regras de cache ou adicionando Cache-Control cabeçalhos no servidor de origem. Como a Rede de Entrega de Conteúdo do Azure trata o token SAS como uma cadeia de caracteres de consulta simples, como prática recomendada, você deve configurar uma duração de cache que expira no tempo de expiração do SAS ou antes dele. Caso contrário, se um arquivo for armazenado em cache por um período maior do que o SAS está ativo, o arquivo poderá ser acessível a partir do servidor de origem da Rede de Entrega de Conteúdo do Azure após o tempo de expiração do SAS ter decorrido. Se essa situação ocorrer e você quiser tornar o arquivo armazenado em cache inacessível, deverá executar uma operação de limpeza no arquivo para limpá-lo do cache. Para obter informações sobre como definir a duração do cache na Rede de Entrega de Conteúdo do Azure, consulte Controlar o comportamento de cache da Rede de Entrega de Conteúdo do Azure com regras de cache.

Opção 2: Usando a autenticação de token de segurança da rede de entrega de conteúdo com uma regra de regravação

Para usar a autenticação de token de segurança da Rede de Entrega de Conteúdo do Azure, você deve ter um perfil CDN Premium do Azure do Edgio . Esta opção é a mais segura e personalizável. O acesso para cliente é baseado nos parâmetros de segurança definidos no token de segurança. Depois de criar e configurar o token de segurança, ele é necessário em todas as URLs de ponto de extremidade da rede de entrega de conteúdo. No entanto, devido à regra de reconfiguração de URL, o token SAS não é necessário no ponto de extremidade da rede de entrega de conteúdo. Se o token SAS se tornar inválido posteriormente, a Rede de Entrega de Conteúdo do Azure não poderá revalidar o conteúdo do servidor de origem.

  1. Crie um token de segurança da Rede de Entrega de Conteúdo do Azure e ative-o usando o mecanismo de regras para o ponto de extremidade da rede de entrega de conteúdo e o caminho onde seus usuários podem acessar o arquivo.

    Um URL de ponto de extremidade de token de segurança tem o seguinte formato:

    https://<endpoint hostname>.azureedge.net/<container>/<file>?<security_token>

    Por exemplo:

    https://sasstoragedemo.azureedge.net/container1/demo.jpg?a4fbc3710fd3449a7c99986bkquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3D

    As opções de parâmetro para uma autenticação de token de segurança são diferentes das opções de parâmetro para um token SAS. Se você optar por usar um tempo de expiração ao criar um token de segurança, deverá defini-lo com o mesmo valor do tempo de expiração do token SAS. Isso garante que o tempo de expiração seja previsível.

  2. Use o mecanismo de regras para criar uma regra de Reconfiguração de URL para habilitar o acesso do token SAS a todos os blobs no contêiner. As novas regras demoram até 4 horas a propagar-se.

    O exemplo de regra de reconfiguração de URL a seguir usa um padrão de expressão regular com um grupo de captura e um ponto de extremidade chamado sasstoragedemo:

    Origem:

    (container1/.*)

    Destino:

    $1&sv=2017-07-29&ss=b&srt=c&sp=r&se=2027-12-19T17:35:58Z&st=2017-12-19T09:35:58Z&spr=https&sig=kquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3DCaptura de ecrã da regra de reescrita de URL da rede de distribuição de conteúdos - esquerda.Captura de ecrã da regra de reescrita de URL da rede de distribuição de conteúdo - à direita.

  3. Se você renovar a SAS, certifique-se de atualizar a regra de reconfiguração de URL com o novo token SAS.

Considerações sobre parâmetros SAS

Como os parâmetros SAS não são visíveis para a Rede de Entrega de Conteúdo do Azure, a Rede de Entrega de Conteúdo do Azure não pode alterar seu comportamento de entrega com base neles. As restrições de parâmetros definidas aplicam-se apenas a solicitações que a Rede de Entrega de Conteúdo do Azure faz ao servidor de origem, não a solicitações do cliente para a Rede de Entrega de Conteúdo do Azure. Essa distinção é importante considerar ao definir parâmetros SAS. Se esses recursos avançados forem necessários e você estiver usando a Opção 2, defina as restrições apropriadas no token de segurança da Rede de Entrega de Conteúdo do Azure.

Nome do parâmetro SAS Description
Iniciar A hora em que a Rede de Entrega de Conteúdo do Azure pode começar a acessar o arquivo de blob. Devido à distorção do relógio (quando um sinal de relógio chega em horários diferentes para componentes diferentes), escolha um horário 15 minutos antes se quiser que o ativo esteja disponível imediatamente.
Fim O tempo após o qual a Rede de Entrega de Conteúdo do Azure não pode mais acessar o arquivo de blob. Os arquivos armazenados anteriormente em cache na Rede de Entrega de Conteúdo do Azure ainda estão acessíveis. Para controlar o tempo de expiração do arquivo, defina o tempo de expiração apropriado no token de segurança da Rede de Entrega de Conteúdo do Azure ou limpe o ativo.
Endereços IP permitidos Opcional. Se você estiver usando a CDN do Azure do Edgio, poderá definir esse parâmetro para os intervalos definidos na Rede de Entrega de Conteúdo do Azure a partir dos Intervalos IP do Servidor de Borda do Edgio.
Protocolos permitidos Os protocolos permitiam um pedido feito com a conta SAS. A configuração HTTPS é recomendada.

Próximos passos

Para obter mais informações sobre SAS, consulte os seguintes artigos:

Para obter mais informações sobre como configurar a autenticação de token, consulte Protegendo ativos da Rede de Entrega de Conteúdo do Azure com autenticação de token.