Proteja seu Armazenamento de Filas do Azure

Armazenamento de Filas do Azure fornece fila de mensagens entre os componentes da aplicação. Como as mensagens frequentemente carregam referências a recursos sensíveis – identificadores de objetos, URLs de retorno de chamada e estado da aplicação – você deve garantir tanto a autorização da fila quanto o tratamento do conteúdo das mensagens.

Note

Este artigo aborda práticas de segurança específicas do Armazenamento de Filas do Azure. Para orientações de segurança em nível de conta, veja Secure your Armazenamento do Azure account.

Gerenciamento de identidade e acesso

  • Use o Microsoft Entra ID com identidades gerenciadas para produtores de fila e consumidores: atribua os papéis integrados de Remetente de Mensagem de Informação da Fila de Armazenamento, Processador de Mensagens de Dados da Fila de Armazenamento e Leitor de Dados da Fila de Armazenamento à identidade gerenciada de cada serviço que interage com a fila. Escolha o papel que combine com a operação. Um serviço de envio de mensagens não deveria deter direitos de processador. Para mais informações, veja Autorizar acesso a filas usando o Microsoft Entra ID.

  • Definir o escopo das atribuições de função do controle de acesso baseado em função (RBAC) para a fila específica: há suporte para escopo no nível da fila para as funções de dados internas da fila. Atribua no nível da fila, em vez de na conta de armazenamento, quando um serviço precisar de acesso a apenas uma fila em uma conta com várias filas.

  • Restringir tokens de SAS a uma única fila e a operações específicas em mensagens: a assinatura de acesso compartilhado (SAS) para fila oferece suporte às permissões add, update, process e read separadamente. Conceda apenas o que o chamador precisa. Um receptor de webhook que enfileira eventos deve receber apenas add, não process. Para obter mais informações, confira Delegar acesso com uma assinatura de acesso compartilhado.

Proteção de dados

As mensagens são protegidas em repouso e em trânsito pelas configurações de criptografia da conta e de TLS, mas não têm controle de acesso individual além da autorização no nível da fila. Projete o conteúdo da mensagem para evitar concentrar dados sensíveis na fila.

  • Não coloque segredos ou credenciais nas mensagens da fila: Armazene segredos no Azure Key Vault e coloque uma referência (identificador secreto) na mensagem. Os consumidores recuperam o segredo no momento do processamento sob sua própria identidade. Qualquer coisa colocada em uma mensagem é visível para todos os principais com process ou read na fila e é gravada em logs de armazenamento.

  • Criptografe o conteúdo sensível das mensagens na camada de aplicação: para mensagens que precisem transportar dados sensíveis, criptografe a carga útil com uma chave do Key Vault antes de enfileirá-la. Isso adiciona uma camada independente da criptografia do lado do armazenamento e limita a exposição caso um consumidor seja comprometido. Para mais informações, veja Criptografia do lado do cliente para Armazenamento do Azure.

  • Defina um tempo de vida razoável (TTL): As mensagens persistem até serem processadas, expirarem ou a fila ser esvaziada. Uma TTL longa aumenta a janela durante a qual dados sensíveis obsoletos são recuperáveis. Ajuste o TTL à latência de processamento esperada mais uma margem de segurança.

Registro e monitoramento

  • Ative as configurações de diagnóstico para operações de fila: Enviar StorageRead, StorageWrite, e StorageDelete categorias para o Log Analytics para que as operações individuais da fila sejam auditáveis. Método de autorização de rastreamento (Entra ID, Chave Compartilhada, SAS, anônimo) para detectar uso indevido. Para mais informações, veja Monitoring Armazenamento de Filas do Azure.

  • Mova mensagens suspeitas para uma fila dedicada: configure seu consumidor para detectar mensagens que excedam o limite de contagem de remoção da fila e mova-as para uma fila <queue-name>-poison para investigação offline. O acúmulo de filas suspeitas é um sinal de segurança, não apenas operacional. Para ter mais informações, veja Lidar com mensagens suspeitas em funções acionadas pela fila.

  • Alerta sobre crescimento de filas de veneno: Configure alertas do Azure Monitor sobre a contagem de mensagens em cada fila de veneno para que um crescimento inesperado desencadeie a investigação.

  • Alerta sobre padrões incomuns de desenfileiramento e exclusão: picos de operações de DeleteMessage por identidades inesperadas, ou grandes volumes de atividade apenas de desenfileiramento sem processamento subsequente, podem indicar um invasor esvaziando uma fila para ocultar atividade. Alerte sobre desvios do perfil normal de tráfego da fila.

Próximas Etapas