Pergunta

Dado um arquivo armazenado no armazenamento do Azure (blobs, tabelas ou filas - não importa), é possível permitir o acesso a todos, mas apenas com base em permissões?

Por exemplo, tenho um grande armazenamento de imagens e um banco de dados contendo usuários e autorizações. Quero que o usuário X possa acessar apenas as imagens Y e Z. Portanto, o URL será geralmente inacessível, a menos que você forneça algum tipo de token de segurança temporário junto com ele. Como isso é possível? Sei que posso fechar o armazenamento do mundo exterior e permitir o acesso a ele apenas por meio de um aplicativo verificando essas coisas, mas isso exigiria que o aplicativo também fosse no Azure, e o aplicativo local não será capaz de entregar Qualquer conteúdo do Azure Storage.

É do meu entendimento que a maioria dos CDNs fornece essa capacidade, e eu espero que o Azure também forneça uma solução para isso!

Itamar.

Foi útil?

Solução

Eu não acho que você possa alcançar esse nível de filtragem de acesso. Os únicos métodos que eu conhecem são descritos neste artigo do MSDN

Gerenciando o acesso a recipientes e blobs

E aqui um blog que descreve uma pequena parte do código para implementá -lo

Usando políticas de acesso no nível do contêiner no Windows Azure Storage

Não tenho certeza se isso atenderia à sua necessidade. Se eu entendesse corretamente, faria da seguinte maneira: 1. Organize seu conteúdo em contêiner que corresponda às funções 2. Na sua premissa, verifique se o usuário tiver acesso e se sim gerar o URL certo para dar a ele um acesso temporário ao recurso.

É claro que isso só funciona se os usuários precisarem passar por um ponto central para obter acesso ao conteúdo na blob. Se eles marcarem o link gerado, ele falhará assim que a data de vencimento for passada.

Boa sorte.

Outras dicas

Isso é realmente possível de implementar com o armazenamento do blob. Considere (a) uma interface do usuário que é como explorador e (b) que os usuários já são autenticados (podem usar o serviço de controle de acesso, mas não precisam).

A interface do usuário do tipo Explorer pode expor os recursos apropriados ao usuário autenticado. O acesso subjacente a esses recursos seria controlado pela assinatura de acesso compartilhado na granularidade apropriada para os objetos - por exemplo, restringir apenas um arquivo em uma pasta, ou toda a pasta, ou capacidade de criar um arquivo em uma pasta, etc. , todos podem ser expressos.

Essa interface do usuário do tipo Explorer, mas precisaria de acesso à lógica que apresentasse os arquivos certos para um determinado usuário, além de criar as assinaturas de acesso compartilhado apropriadas, conforme necessário. Observe que essa lógica não precisaria ser hospedada no Azure, mas precisaria apenas de acesso à chave de armazenamento adequada (no portal do Azure).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top