Compreender as assinaturas de acesso partilhado
Como melhor prática, não deve partilhar chaves de contas de armazenamento com aplicações externas. Se estas aplicações precisarem de acesso aos seus dados, terá de proteger as ligações sem utilizar chaves de contas de armazenamento.
Para clientes não fidedignos, utilize uma assinatura de acesso partilhado (SAS). Uma SAS é uma cadeia de caracteres que contém um token de segurança que pode ser anexado a um URI. Você pode usar uma SAS para delegar acesso a objetos de armazenamento e especificar restrições, como as permissões e o intervalo de tempo de acesso.
Você pode dar a um cliente um token SAS, por exemplo, para que ele possa carregar imagens para um sistema de arquivos no armazenamento de Blob. Separadamente, você pode dar permissão a um aplicativo Web para ler essas imagens. Em ambos os casos, atribui apenas o acesso de que a aplicação precisa para desempenhar a tarefa.
Tipos de assinaturas de acesso partilhado
Você pode usar uma SAS de nível de serviço para permitir o acesso a recursos específicos em uma conta de armazenamento. Você usaria esse tipo de SAS, por exemplo, para permitir que um aplicativo recupere uma lista de arquivos em um sistema de arquivos ou baixe um arquivo.
Use uma SAS de nível de conta para permitir o acesso a qualquer coisa que uma SAS de nível de serviço possa permitir, além de recursos e habilidades adicionais. Por exemplo, você pode usar uma SAS no nível da conta para permitir a capacidade de criar sistemas de arquivos.
Normalmente, você usaria uma SAS para um serviço em que os usuários leem e gravam seus dados em sua conta de armazenamento. As contas que armazenam dados de utilizadores têm duas estruturas comuns:
- Os clientes carregam e transferem dados através de um serviço de proxy de front-end, o qual realiza a autenticação. Este serviço de proxy de front-end tem a vantagem de permitir a validação de regras de negócio. Mas, se o serviço precisar lidar com grandes quantidades de dados ou transações de alto volume, você pode achar complicado ou caro dimensionar esse serviço para atender à demanda.
- Um serviço leve autentica o cliente, conforme necessário. Em seguida, gera um SAS. Depois de receber o SAS, o cliente pode acessar os recursos da conta de armazenamento diretamente. O SAS define as permissões e o intervalo de acesso do cliente. Ele reduz a necessidade de rotear todos os dados através do serviço de proxy front-end.