Entender as assinaturas de acesso compartilhado

Concluído

Como prática recomendada, você não deve compartilhar as chaves de conta de armazenamento com aplicativos de terceiros externos. Se esses aplicativos precisarem de acesso aos seus dados, será necessário proteger as conexões sem usar chaves de conta de armazenamento.

Para clientes não confiáveis, use uma SAS (Assinatura de Acesso Compartilhado). 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 fornecer um token SAS a um cliente para que ele possa, por exemplo, carregar imagens em um sistema de arquivos no Armazenamento de Blobs. Separadamente, você pode dar a um aplicativo Web a permissão para ler essas imagens. Em ambos os casos, você pode permitir somente o acesso que o aplicativo precisa para realizar a tarefa.

Tipos de assinaturas de acesso compartilhado

Você pode usar uma SAS no nível do serviço para permitir o acesso a recursos específicos em uma conta de armazenamento. Você poderia usar esse tipo de SAS, por exemplo, para permitir que um aplicativo recuperasse uma lista de arquivos em um sistema de arquivos ou baixasse um arquivo.

Use uma SAS no nível da conta para permitir acesso a tudo que uma SAS no nível do serviço permite, além de recursos e habilidades adicionais. Por exemplo, você pode usar uma SAS no nível da conta para permitir a habilidade de criar sistemas de arquivos.

Normalmente, você usa uma SAS para um serviço no qual os usuários leem e gravam dados em sua conta de armazenamento. As contas que armazenam dados de usuário têm dois designs típicos:

  • Os clientes fazem upload e baixam dados por meio de um serviço de proxy de front-end, que executa a autenticação. Esse serviço de proxy de front-end tem a vantagem de permitir a validação de regras de negócios. Mas, se o serviço precisar lidar com grandes quantidades de dados ou transações de alto volume, poderá ser complicado ou caro dimensionar esse serviço de acordo com a demanda.

Diagram showing a client-side front-end proxy service operation.

  • Um serviço leve autentica o cliente, conforme a necessidade. Em seguida, ele gera uma SAS. Depois de receber a SAS, o cliente pode acessar diretamente os recursos da conta de armazenamento. A SAS define as permissões e o intervalo de acesso do cliente. Ela reduz a necessidade de encaminhar todos os dados por meio do serviço de proxy de front-end.

Diagram showing a server-side SAS operation.