Proteja o seu Armazenamento de Filas do Azure

O Armazenamento de Filas do Azure fornece fila de mensagens entre componentes da aplicação. Como as mensagens frequentemente transportam referências a recursos sensíveis – identificadores de objetos, URLs de retorno de chamada e estado da aplicação – deve garantir tanto a autorização da fila como 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 ao nível da conta, consulte Secure your Armazenamento do Azure account.

Gestão de identidade e acesso

  • Utilize o Microsoft Entra ID com identidades geridas para produtores e consumidores de filas: Atribua as funções incorporadas de Remetente de Mensagens de Dados da Fila de Armazenamento, Processador de Mensagens de Dados da Fila de Armazenamento e Leitor de Dados da Fila de Armazenamento à identidade gerida de cada serviço que interage com a fila. Escolha o papel que corresponda à operação. Um serviço de envio de mensagens não deveria deter direitos de processador. Para mais informações, consulte Autorizar acesso a filas usando o Microsoft Entra ID.

  • Definir as atribuições de funções de controlo de acesso baseado em papéis (RBAC) à fila específica: O âmbito ao nível da fila é suportado para os papéis de dados da fila incorporados. Atribua ao nível da fila, em vez de ao nível da conta de armazenamento, quando um serviço precisar de acesso a apenas uma fila numa conta com várias filas.

  • Restringir os tokens SAS a uma única fila e a operações específicas de mensagens: A assinatura de acesso partilhado (SAS) para filas suporta, separadamente, as permissões add, update, process e read. Conceda apenas o que o chamador precisa. Um receptor webhook que enfileie eventos deve obter add apenas, não process. Para obter mais informações, consulte Delegar acesso com uma assinatura de acesso compartilhado.

Proteção de dados

As mensagens são protegidas em repouso e em trânsito pelas definições de encriptação e de TLS da conta, mas não têm controlo de acesso individual além da autorização ao nível da fila. Desenhe 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 de segredo) na mensagem. Os consumidores recuperam o segredo no momento do processamento sob a sua própria identidade. Tudo o que for colocado numa mensagem é visível para todas as entidades principais com process ou read na fila e fica registado nos registos de armazenamento.

  • Encriptar cargas úteis de mensagens sensíveis na camada de aplicação: Para mensagens que devem transportar dados sensíveis, encripte a carga útil com uma chave do Key Vault antes de entrar em fila. Isto adiciona uma camada independente da encriptação do lado do armazenamento e limita a exposição caso um consumidor seja comprometido. Para mais informações, consulte Encriptação do lado do cliente para Armazenamento do Azure.

  • Defina um tempo de vida (TTL) razoável: 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. Ajusta o TTL à latência de processamento esperada mais uma margem de segurança.

Registo e monitorização

  • Ative as definiçõ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 rastreio (Entra ID, Chave Partilhada, SAS, anónimo) para detetar uso indevido. Para mais informações, consulte Monitorização do Armazenamento de Filas do Azure.

  • Transferir mensagens de veneno para uma fila de envenenamento dedicada: Configure o seu consumidor para detetar mensagens que excedam o limite de contagem de dequeue e move-as para uma <queue-name>-poison fila para investigação offline. A acumulação de filas de veneno é um sinal de segurança, não apenas operacional. Para mais informações, consulte Lidar com mensagens suspeitas em funções acionadas por fila.

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

  • Alerta sobre padrões invulgares de remoção da fila e eliminação: Picos de operações DeleteMessage provenientes de identidades inesperadas, ou volumes elevados de atividade de remoção da fila sem qualquer processamento subsequente, podem indicar que um atacante esteja a esvaziar uma fila para ocultar atividade. Alerta sobre desvios do perfil normal de tráfego da fila.

Passos seguintes