Opções de autorização para o Armazenamento do Azure

Concluído

Antes de aprimorar o aplicativo Web de imagem de diagnóstico do paciente da sua empresa, você gostaria de entender todas as opções de acesso seguro. Uma SAS (assinatura de acesso compartilhado) fornece uma forma segura de permitir o acesso de clientes a recursos. No entanto, essa não é a única maneira de conceder acesso. Em algumas situações, outras opções podem ser melhores para sua organização.

Sua empresa pode usar mais do que apenas o método SAS de autenticação.

Nesta unidade, você examina as diferentes maneiras de autenticar o acesso aos arquivos armazenados no Armazenamento do Azure.

Acessar o Armazenamento do Azure

Os clientes acessam arquivos armazenados no Armazenamento do Azure por HTTP/HTTPS. O Azure verifica cada solicitação do cliente quanto à autorização para acessar os dados armazenados. Quatro opções estão disponíveis para acessar o armazenamento de blobs:

  • Acesso público
  • Microsoft Entra ID
  • Chave compartilhada
  • Assinatura de acesso compartilhado (SAS)

Acesso público

O acesso público também é conhecido como acesso de leitura público anônimo para contêineres e blobs.

Há duas configurações separadas que afetam o acesso público:

  • A conta de armazenamento. Configure a conta de armazenamento para permitir acesso público definindo a propriedade AllowBlobPublicAccess. Quando definida como true, os dados de blob só serão disponibilizados para acesso público se a configuração de acesso público do contêiner também estiver definida.

  • O contêiner. Só será possível habilitar o acesso anônimo se ele tiver sido permitido para a conta de armazenamento. Um contêiner tem duas configurações possíveis para acesso público: acesso de leitura público para blobs ou acesso de leitura público para um contêiner e seus blobs. O acesso anônimo é controlado no nível do contêiner, não em blobs individuais. Portanto, se você quiser proteger alguns dos arquivos, precisará colocá-los em um contêiner separado que não permita o acesso público de leitura.

É necessário configurar a conta de armazenamento e o contêiner para habilitar o acesso público anônimo. Essa abordagem oferece a vantagem de você não precisar compartilhar chaves com os clientes que precisam de acesso aos seus arquivos. Você também não precisa gerenciar uma SAS.

Microsoft Entra ID

Use o Microsoft Entra como opção para acessar com segurança o armazenamento do Azure sem armazenar nenhuma credencial em seu código. A autorização do AD usa uma abordagem de duas etapas. Primeiro, você autenticará uma entidade de segurança que, se tiver êxito, retornará um token do OAuth 2.0. Esse token é passado para o Armazenamento do Azure para habilitar a autorização ao recurso solicitado.

Ao executar um aplicativo com identidades gerenciadas ou usando entidades de segurança, use essa forma de autenticação.

Chave compartilhada

O Armazenamento do Azure cria duas chaves de acesso de 512 bits para cada conta de armazenamento criada. Você compartilha essas chaves para permitir aos clientes acesso à conta de armazenamento. Essas chaves permitem a qualquer pessoa acesso equivalente a acesso de raiz ao seu armazenamento.

É recomendável gerenciar as chaves de armazenamento com o Azure Key Vault porque ele facilita a troca de chaves mediante um agendamento regular para manter a conta de armazenamento segura.

Assinatura de acesso compartilhado

Uma SAS permite que você conceda acesso granular a arquivos no Armazenamento do Azure, como acesso somente leitura ou leitura/gravação, com um tempo de término definido após o qual a SAS não permite mais que o cliente acesse os recursos escolhidos. Uma assinatura de acesso compartilhado é uma chave que concede permissão a um recurso de armazenamento e deve ser protegida da mesma maneira que uma chave de conta.

O Armazenamento do Azure dá suporte a três tipos de assinaturas de acesso compartilhado:

  • SAS de delegação de usuário: Uma SAS de delegação de usuário é protegida com credenciais do Microsoft Entra, porque o token OAuth 2.0 usado para assinar a SAS é solicitado em nome do usuário. Ele só pode ser usado para armazenamento de Blobs.
  • SAS de serviço: uma SAS de serviço é protegida usando uma chave de conta de armazenamento. Uma SAS de serviço delega acesso a um recurso em qualquer um dos quatro serviços de Armazenamento do Azure: blobs, fila, tabela ou arquivo.
  • SAS de conta: uma SAS de conta é protegida com uma chave de conta de armazenamento. Uma SAS da conta tem os mesmos controles que uma SAS de serviço, mas também pode controlar o acesso a operações de nível de serviço, como Obter Estatísticas de Serviço.

Você pode criar uma SAS ad hoc especificando todas as opções que precisa controlar, como hora de início, hora de término e permissões.

Para criar uma SAS de serviço, há outra opção que a associa a uma política de acesso armazenada. Uma política de acesso armazenada pode ser associada a até cinco SASs ativas. É possível controlar o acesso e o término no nível da política de acesso armazenada. Essa abordagem é boa se você precisar ter controle granular para alterar a expiração ou revogar uma SAS. A única maneira de revogar ou alterar uma SAS conforme o necessário é alterar as chaves da conta de armazenamento.

Verificar seus conhecimentos

1.

Sua organização tem um sistema interno para compartilhar observações e informações de consulta do paciente. Você pode proteger o acesso de um usuário com base em sua associação em um grupo do Microsoft Entra. Qual tipo de autorização é mais compatível com esse cenário e por quê?

2.

Seu site estático voltado para o público armazena todas as suas imagens de interface do usuário públicas no armazenamento de blobs. O site precisa exibir os elementos gráficos sem nenhum tipo de autorização. Qual é a melhor opção?