1 of 20
2 of 20
3 of 20
4 of 20
5 of 20
6 of 20
7 of 20
8 of 20
9 of 20
10 of 20
11 of 20
12 of 20
13 of 20
14 of 20
15 of 20
16 of 20
17 of 20
18 of 20
19 of 20
20 of 20

site

doc

blog

success stories

Proteja conteúdo restrito contra acessos indevidos com Azion Secure Token

Edite no GitHub

Azion Secure Token é uma função serverless da plataforma de Edge Computing da Azion para o processamento e validação de tokens que pode ser empregada no controle de acesso a conteúdos restritos ou personalizados, tais como aulas, vídeos e imagens.

Embora o acesso a esses conteúdos se dê por meio de interfaces que exigem autenticação de usuário, é possível visualizar esses arquivos diretamente via sua URL, daí a facilidade de compartilhamento. Com a implementação da Edge Function Secure Token, mesmo que uma URL seja compartilhada, o acesso é concedido somente após a validação do token.

Algumas outras vantagens da Edge Function Secure Token:

  1. flexibilidade para o cliente desenvolver aplicações;
  2. infraestrutura de Edge Nodes distribuídos para processamento de tokens; e
  3. possibilidade de executar regras de negócio no Edge.

Como funciona

Na implementação de controle de acesso com Secure Token, a aplicação de origem e a function no Edge cumprem funções distintas:

Aplicação de origem: encarrega-se de especificar uma lógica para geração do token e, também, definir a maneira como os acessos dos usuários serão controlados – por exemplo, qual o método de autenticação (OAUTH, OpenID Connect, etc.).

O token representa um hash da URL do conteúdo sendo requisitado, contendo um período de validade do próprio token e uma chave secreta (Secret).

Veja exemplos de códigos de geração de Secure Token no Github para mais referências: https://github.com/aziontech/secure_token.

Edge Function Secure Token: executa em cada requisição recebida a validação do token gerado pela aplicação e enviado pelo usuário. Caso o token esteja expirado, a Secret não esteja correta ou o token não seja válido para a URL solicitada, o acesso ao conteúdo será negado.

É possível, ainda, combiná-la com outros elementos no Edge para definir o comportamento a ser adotado (autorizar o acesso ou encaminhar para a aplicação, usualmente uma página de login/sign-up).

Configurando a Function Secure Token

Edge Function Secure Token está disponível na biblioteca de functions da plataforma de Edge Computing da Azion e pode ser acessada pelo Real-Time Manager (RTM), no menu Edge Computing.

Para execução da function, ela tem de ser instanciada no Edge Application em que se deseja trabalhar e ter seus critérios de ativação e comportamentos definidos dentro do Rules Engine, conforme as estratégias já configuradas na aplicação de origem (ex.: proprietária com OAuth, OpenID, etc., ou de mercado, como Auth0, Keycloak, etc.).

Criando uma instância

Caminho: Real-Time Manager > Edge Computing > Edge Application > Functions.

A partir do RTM, acesse a Edge Application que irá rodar a sua function e, dentro da aba Functions, adicione outra function, desta vez declarando um nome significativo para ela.

Parâmetros: é necessário selecionar a function de sua instância; no caso, escolha Secure Token. Note que o código da função aparecerá no campo Code apenas para leitura e entendimento. Na aba Args, informe a chave secreta utilizada para geração da assinatura do token – vide exemplo abaixo – e salve a função.

{
   "secure_token_secret": "mysecretkey"
}

Exemplo de configuração dos parâmetros JSON Args

Definindo critérios de execução (Rules Engine)

Caminho: Real-Time Manager > Edge Computing > Edge Application > Rules Engine.

As regras (ou Rule Engines) determinam o conjunto de condições que precisam ser atendidas para a execução dos Behaviors. Você pode utilizar a Default Rule ou criar uma nova regra a fim de configurar os parâmetros de validação e os comportamentos para execução de sua function pela Edge Application.

Definindo critérios de validação (criteria): escolha as variáveis, operadores de comparação e strings para construção de sua regra de negócio, como no exemplo a seguir:

  • If: ${uri} starts with /classes (na sequência: operador lógico, variável, operador de comparação, string)

Aqui a regra é executada se a URI acessada iniciar com a string “/classes”.

Definindo comportamentos (behaviors): adicione os comportamentos que deseja executar caso as condições da regra sejam satisfeitas. Exemplo:

  • Then: Run Function MySecureToken (na sequência: operador lógico, ação, função)

Nesse exemplo, se as condições definidas nas regras forem satisfeitas, então será executada a function MySecureToken.

Código de erro retornado: se o token recebido for inválido, a function retornará um HTTP status code 403 ou 410, dependendo do erro encontrado.

Por fim, salve a sua Edge Application, e esta já estará pronta para executar a nova function.


Não encontrou o que procurava? Abra um ticket.