Assinaturas de Acesso Compartilhado (SAS)

Implementar segurança do Azure para desenvolvedores

Anushika Agarwal

Cloud Data Engineer

O que é uma assinatura de acesso compartilhado?

  • Concede acesso limitado a recursos de armazenamento
  • Não expõe a chave da conta de armazenamento

SAS

Implementar segurança do Azure para desenvolvedores

Analogia: SAS como ficha de máquina de vendas

  • Token válido por tempo limitado (ex.: 30 segundos)

  • Token permite apenas uma ação específica (ex.: uma Coca-Cola)

Exemplo de máquina de vendas com SAS

Implementar segurança do Azure para desenvolvedores

Como uma SAS é protegida?

  • Assinada com a chave da conta de armazenamento

Chave da conta de armazenamento

  • Ou com o Microsoft Entra ID

Microsoft Entra ID

Implementar segurança do Azure para desenvolvedores

Tipos de SAS

  • User delegation SAS
    • Usa credenciais Entra da Microsoft
    • Funciona com Blob e Data Lake Storage

Tokens SAS

  • Service SAS
    • Usa a chave da conta de armazenamento
    • Acesso a um serviço: Blob, Queue, Table ou File
  • Account SAS
    • Usa a chave da conta de armazenamento
    • Acesso a vários serviços
    • Operações em nível de serviço
Implementar segurança do Azure para desenvolvedores

Cenário real

  • Cenário:

    • PeopleSphere compartilha relatórios de folha de pagamento com uma auditoria externa
  • Tipo de SAS: User Delegation SAS

  • Acesso com escopo:

    • Auditor vê só os relatórios necessários
  • Com prazo:

    • Acesso expira automaticamente
  • Autenticação segura:

    • Credenciais Azure da PeopleSphere

User Delegation SAS

Implementar segurança do Azure para desenvolvedores

Entendendo a estrutura da SAS

Componentes de uma SAS

  1. URI - Caminho do recurso
  2. Token - Regras de acesso e assinatura

Token SAS

Implementar segurança do Azure para desenvolvedores

Componentes do token

Token SAS

  • sp: Permissões (ex.: r = read, w = write)
  • st / se: Início e expiração
  • spr: Protocolo (ex.: apenas https)
  • sr: Tipo de recurso (b = blob, f = file)
  • sv: Versão da API de armazenamento
  • sig: Assinatura usada na validação
Implementar segurança do Azure para desenvolvedores

Boas práticas ao usar SAS

  • Sempre use HTTPS

  • Prefira User Delegation SAS
  • Defina prazos de expiração curtos

Expiração curta

  • Conceda permissões mínimas

Conceder acesso mínimo

  • Evite SAS para acessos de alto risco

Dados altamente sensíveis

Implementar segurança do Azure para desenvolvedores

Vamos praticar!

Implementar segurança do Azure para desenvolvedores

Preparing Video For Download...