26 de fevereiro de 20263 min de leitura

Aprimorando a Segurança no Azure Storage: Restrição de SAS via Microsoft Entra ID

O uso de Shared Access Signatures (SAS) é uma prática comum para delegar acesso temporário e escopado a recursos do Azure Storage, eliminando a necessidade de expor account keys (chaves de conta). No entanto, o paradigma tradicional de SAS sempre trouxe um desafio inerente: uma vez gerado, o token é, por natureza, desvinculado de uma identidade específica. Quem detém o token, detém o acesso.

Para elevar o nível de segurança, a Microsoft anunciou a public preview da user-bound user delegation SAS. Esta funcionalidade permite que um token SAS seja restrito a uma identidade específica do Microsoft Entra ID (antigo Azure AD). Para times de engenharia e arquitetos de nuvem, essa é uma mudança tática importante, pois reforça o princípio do least privilege e melhora a auditabilidade do acesso a dados.

O Impacto Técnico

Até hoje, o User Delegation (UD) SAS permitia que usuários recuperassem uma chave delegada atrelada à sua identidade Entra ID para gerar tokens com validade máxima de 7 dias. O novo modelo de user-bound adiciona uma camada de verificação: o delegator (quem gera o token) especifica o security principal do usuário final. Consequentemente, para consumir esse token, o usuário final não apenas precisa possuir a string do token, mas também autenticar-se via Entra ID utilizando a identidade que foi vinculada ao momento da criação.

Essa abordagem mitiga drasticamente o risco de vazamento de tokens em logs ou repositórios de código, já que o token por si só é insuficiente para acessar o recurso sem a prova de identidade do usuário vinculado. O suporte a cenários cross-tenant também está presente, facilitando a colaboração externa mantendo o controle de acesso, desde que a configuração allowCrossTenantDelegationSas esteja devidamente habilitada no nível da conta de armazenamento.

Considerações Práticas e Implementação

Esta funcionalidade está disponível em todas as contas de armazenamento GPv2 nas regiões públicas. Não há custos adicionais pela adoção da policy de vinculação; o modelo de precificação permanece atrelado às transações de read/write padrão do Azure Storage.

Para implementar essa estratégia, o fluxo de trabalho exige atenção especial às RBAC roles:

  1. Permissões: O delegator deve possuir as roles apropriadas (Storage Service Data Contributor e Storage Service Delegator).
  2. Coleta de IDs: O processo exige a obtenção do OAuth object ID e do tenant ID do usuário final.
  3. Geração: Na criação do token, é necessário injetar esses campos no momento da construção da SAS string.

Pontos de Atenção:

  • Integração: Certifique-se de que suas aplicações que consomem esses tokens estão integradas corretamente aos SDKs que suportam essa validação.
  • Governança: A recomendação best practice continua sendo passar esses tokens via Key Vault ou através do fluxo de autenticação da aplicação, automatizando a gestão para evitar manipulação manual de strings.

Para times que operam em escala e com alta sensibilidade a dados, esta é a evolução natural do controle de acesso no Azure. A transição para tokens vinculados a identidades é um passo indispensável para reduzir ataques de movimentação lateral e garantir que a superfície de exposição seja mínima.


Artigo originalmente publicado em Azure Updates - Latest from Azure Charts.

Gostou? Compartilhe:
Precisa de ajuda?Fale com nossos especialistas 👋
Avatar Walcew - Headset