Gerenciar chaves de acesso à conta de armazenamento

Quando você cria uma conta de armazenamento, o Azure gera duas chaves de acesso de conta de armazenamento de 512 bits para essa conta. Essas chaves podem ser usadas para autorizar o acesso aos dados em sua conta de armazenamento por meio da autorização de Chave Compartilhada ou por meio de tokens SAS assinados com a chave compartilhada.

A Microsoft recomenda que utilize o Azure Key Vault para gerir as suas chaves de acesso e que rode e regenere regularmente as suas chaves. Usar o Azure Key Vault facilita a rotação de chaves sem interrupção de seus aplicativos. Também pode rodar manualmente as suas chaves.

Importante

Para uma segurança ideal, a Microsoft recomenda o uso do Microsoft Entra ID com identidades gerenciadas para autorizar solicitações contra dados de blob, fila e tabela, sempre que possível. A autorização com ID do Microsoft Entra e identidades gerenciadas oferece segurança superior e facilidade de uso em relação à autorização de chave compartilhada. Para saber mais sobre identidades gerenciadas, consulte O que são identidades gerenciadas para recursos do Azure. Para obter um exemplo de como habilitar e usar uma identidade gerenciada para um aplicativo .NET, consulte Autenticando aplicativos hospedados pelo Azure em recursos do Azure com .NET.

Para recursos hospedados fora do Azure, como aplicativos locais, você pode usar identidades gerenciadas por meio do Azure Arc. Por exemplo, os aplicativos executados em servidores habilitados para Azure Arc podem usar identidades gerenciadas para se conectar aos serviços do Azure. Para saber mais, consulte Autenticar em recursos do Azure com servidores habilitados para Azure Arc.

Para cenários em que as assinaturas de acesso compartilhado (SAS) são usadas, a Microsoft recomenda o uso de uma SAS de delegação de usuário. Uma SAS de delegação de usuário é protegida com credenciais do Microsoft Entra em vez da chave da conta. Para saber mais sobre assinaturas de acesso compartilhado, consulte Conceder acesso limitado a dados com assinaturas de acesso compartilhado. Para obter um exemplo de como criar e usar uma SAS de delegação de usuário com .NET, consulte Criar uma SAS de delegação de usuário para um blob com .NET.

Proteja as suas chaves de acesso

As chaves de acesso da conta de armazenamento fornecem acesso total aos dados da conta de armazenamento e a capacidade de gerar tokens SAS. Tenha sempre o cuidado de proteger as suas chaves de acesso. Use o Azure Key Vault para gerenciar e girar suas chaves com segurança. O acesso à chave compartilhada concede ao usuário acesso total aos dados de uma conta de armazenamento. O acesso às chaves partilhadas deve ser cuidadosamente limitado e monitorizado. Use tokens SAS de delegação de usuário com escopo limitado de acesso em cenários em que a autorização baseada em ID do Microsoft Entra não pode ser usada. Evite codificar chaves de acesso ou salvá-las em qualquer lugar em texto simples acessível a outras pessoas. Rode as chaves se acreditar que podem ter sido comprometidas.

Importante

Para impedir que os usuários acessem dados em sua conta de armazenamento com Chave Compartilhada, você pode não permitir a autorização de Chave Compartilhada para a conta de armazenamento. O acesso granular aos dados com o mínimo de privilégios necessários é recomendado como uma prática recomendada de segurança. A autorização baseada em ID do Microsoft Entra usando identidades gerenciadas deve ser usada para cenários que oferecem suporte a OAuth. Kerberos ou SMTP devem ser usados para Arquivos do Azure sobre SMB. Para Arquivos do Azure sobre REST, os tokens SAS podem ser usados. O acesso à chave partilhada deve ser desativado se não for necessário para impedir a sua utilização inadvertida. Para obter mais informações, consulte Impedir autorização de chave compartilhada para uma conta de armazenamento do Azure.

Para proteger uma conta de Armazenamento do Azure com políticas de Acesso Condicional do Microsoft Entra, você deve não permitir a autorização de Chave Compartilhada para a conta de armazenamento.

Se você desabilitou o acesso à chave compartilhada e está vendo a autorização de chave compartilhada relatada nos logs de diagnóstico, isso indica que o acesso confiável está sendo usado para acessar o armazenamento. Para obter mais detalhes, consulte Acesso confiável para recursos registrados em seu locatário do Microsoft Entra.

Ver chaves de acesso à conta

Você pode exibir e copiar suas chaves de acesso de conta com o portal do Azure, PowerShell ou CLI do Azure. O portal do Azure também fornece uma cadeia de conexão para sua conta de armazenamento que você pode copiar.

Para exibir e copiar as chaves de acesso ou a cadeia de conexão da conta de armazenamento do portal do Azure:

  1. No portal do Azure, vá para sua conta de armazenamento.

  2. Em Segurança + rede, selecione Chaves de acesso. As chaves de acesso da conta são apresentadas, bem como a cadeia de ligação completa para cada chave.

  3. Selecione Mostrar teclas para mostrar suas teclas de acesso e cadeias de conexão e para habilitar botões para copiar os valores.

  4. Em key1, localize o valor da chave . Selecione o botão Copiar para copiar a chave da conta.

  5. Como alternativa, você pode copiar toda a cadeia de conexão. Em key1, localize o valor da cadeia de conexão . Selecione o botão Copiar para copiar a cadeia de conexão.

    Captura de ecrã a mostrar como ver chaves de acesso no portal do Azure

Você pode usar qualquer uma das duas chaves para acessar o Armazenamento do Azure, mas, em geral, é uma boa prática usar a primeira chave e reservar o uso da segunda chave para quando estiver girando chaves.

Para exibir ou ler as chaves de acesso de uma conta, o usuário deve ser um Administrador de Serviço ou uma função do Azure que inclua Microsoft.Storage /storageAccounts/listkeys/action. Algumas funções internas do Azure que incluem essa ação são as funções Proprietário, Colaborador e Operador de Chave da Conta de Armazenamento. Para obter mais informações sobre a função de Administrador de Serviços, consulte Funções do Azure, Funções do Microsoft Entra e Funções de administrador de assinatura clássicas. Para obter informações detalhadas sobre funções internas para o Armazenamento do Azure, consulte a seção Armazenamento em Funções internas do Azure para o Azure RBAC.

Usar o Azure Key Vault para gerenciar suas chaves de acesso

A Microsoft recomenda usar o Azure Key Vault para gerenciar e girar suas chaves de acesso. Seu aplicativo pode acessar com segurança suas chaves no Cofre da Chave, para que você possa evitar armazená-las com o código do aplicativo. Para obter mais informações sobre como usar o Key Vault para gerenciamento de chaves, consulte os seguintes artigos:

Rodar manualmente as teclas de acesso

A Microsoft recomenda que você alterne suas chaves de acesso periodicamente para ajudar a manter sua conta de armazenamento segura. Se possível, use o Azure Key Vault para gerenciar suas chaves de acesso. Se não estiver a utilizar o Cofre da Chave, terá de rodar as chaves manualmente.

Duas chaves de acesso são atribuídas para que você possa girar suas chaves. Ter duas chaves garante que seu aplicativo mantenha o acesso ao Armazenamento do Azure durante todo o processo.

Aviso

Regenerar suas chaves de acesso pode afetar quaisquer aplicativos ou serviços do Azure que dependem da chave da conta de armazenamento. Todos os clientes que usam a chave de conta para acessar a conta de armazenamento devem ser atualizados para usar a nova chave, incluindo serviços de mídia, nuvem, aplicativos móveis e de área de trabalho e aplicativos de interface gráfica do usuário para o Armazenamento do Azure, como o Gerenciador de Armazenamento do Azure.

Além disso, girar ou regenerar chaves de acesso revoga assinaturas de acesso compartilhado (SAS) que são geradas com base nessa chave. Após a rotação da chave de acesso, você deve regenerar os tokens SAS de conta e serviço para evitar interrupções nos aplicativos. Observe que os tokens SAS de delegação de usuário são protegidos com credenciais do Microsoft Entra e não são afetados pela rotação de chaves.

Se planeia rodar manualmente as chaves de acesso, a Microsoft recomenda que defina uma política de expiração de chaves. Para obter mais informações, consulte Criar uma política de expiração de chave.

Depois de criar a política de expiração de chaves, você pode usar a Política do Azure para monitorar se as chaves de uma conta de armazenamento foram giradas dentro do intervalo recomendado. Para obter detalhes, consulte Verificar violações da política de expiração de chaves.

Para alternar as chaves de acesso da sua conta de armazenamento no portal do Azure:

  1. Atualize as cadeias de conexão no código do aplicativo para fazer referência à chave de acesso secundária da conta de armazenamento.
  2. Navegue até sua conta de armazenamento no portal do Azure.
  3. Em Segurança + rede, selecione Chaves de acesso.
  4. Para regenerar a chave de acesso primária da sua conta de armazenamento, selecione o botão Regenerar junto à chave de acesso primária.
  5. Atualize as cadeias de ligação no código para fazer referência à nova chave de acesso primária.
  6. Regenere a chave de acesso secundária da mesma forma.

Atenção

A Microsoft recomenda usar apenas uma das chaves em todos os seus aplicativos ao mesmo tempo. Se você usar a Chave 1 em alguns lugares e a Chave 2 em outros, não poderá girar suas chaves sem que algum aplicativo perca o acesso.

Para alternar as chaves de acesso de uma conta, o usuário deve ser um Administrador de Serviço ou uma função do Azure que inclua Microsoft.Storage /storageAccounts/regeneratekey/action. Algumas funções internas do Azure que incluem essa ação são as funções Proprietário, Colaborador e Operador de Chave da Conta de Armazenamento. Para obter mais informações sobre a função de Administrador de Serviços, consulte Funções do Azure, Funções do Microsoft Entra e Funções de administrador de assinatura clássicas. Para obter informações detalhadas sobre as funções internas do Azure para o Armazenamento do Azure, consulte a seção Armazenamento em Funções internas do Azure para o Azure RBAC.

Criar uma política de expiração de chave

Uma política de expiração de chave permite definir um lembrete para a rotação das chaves de acesso da conta. O lembrete é exibido se o intervalo especificado tiver decorrido e as teclas ainda não tiverem sido giradas. Depois de criar uma política de expiração de chaves, você pode monitorar a conformidade das contas de armazenamento para garantir que as chaves de acesso à conta sejam alternadas regularmente.

Nota

Antes de criar uma política de expiração de chaves, talvez seja necessário alternar cada uma das chaves de acesso da conta pelo menos uma vez.

Para criar uma política de expiração de chave no portal do Azure:

  1. No portal do Azure, vá para sua conta de armazenamento.
  2. Em Segurança + rede, selecione Chaves de acesso. As chaves de acesso da conta são apresentadas, bem como a cadeia de ligação completa para cada chave.
  3. Selecione o botão Definir lembrete de rotação. Se o botão Definir lembrete de rotação estiver acinzentado, você precisará girar cada uma das chaves. Siga os passos descritos em Rodar manualmente as teclas de acesso para rodar as chaves.
  4. Em Definir um lembrete para girar as teclas de acesso, marque a caixa de seleção Ativar lembretes de rotação de teclas e defina uma frequência para o lembrete.
  5. Selecione Guardar.

Captura de ecrã a mostrar como criar uma política de expiração de chave no portal do Azure

Verificar se há violações da política de expiração de chaves

Você pode monitorar suas contas de armazenamento com o Azure Policy para garantir que as chaves de acesso da conta tenham sido alternadas dentro do período recomendado. O Armazenamento do Azure fornece uma política interna para garantir que as chaves de acesso da conta de armazenamento não tenham expirado. Para obter mais informações sobre a política interna, consulte As chaves de conta de armazenamento não devem expirar em Lista de definições de política internas.

Atribuir a política interna para um escopo de recurso

Siga estas etapas para atribuir a política interna ao escopo apropriado no portal do Azure:

  1. No portal do Azure, procure Política para exibir o painel Política do Azure.

  2. Na seção Criação, selecione Atribuições.

  3. Escolha Atribuir política.

  4. Na guia Noções básicas da página Atribuir política, na seção Escopo, especifique o escopo da atribuição de política. Selecione o botão Mais para escolher a assinatura e o grupo de recursos opcionais.

  5. Para o campo Definição de política , selecione o botão Mais e insira as chaves da conta de armazenamento no campo Pesquisar . Selecione a definição de política chamada As chaves de conta de armazenamento não devem expirar.

    Captura de ecrã a mostrar como selecionar a política incorporada para monitorizar os intervalos de rotação das chaves para as suas contas de armazenamento

  6. Selecione Rever + criar para atribuir a definição de política ao âmbito especificado.

    Captura de ecrã a mostrar como criar a atribuição de política

Monitorar a conformidade com a política de expiração de chaves

Para monitorar suas contas de armazenamento quanto à conformidade com a política de expiração de chaves, siga estas etapas:

  1. No painel Política do Azure, localize a definição de política interna para o escopo especificado na atribuição de política. Você pode pesquisar por As chaves de conta de armazenamento não devem ter expirado na caixa Pesquisar para filtrar a política interna.

  2. Selecione o nome da política com o escopo desejado.

  3. Na página Atribuição de políticas para a política interna, selecione Exibir conformidade. Todas as contas de armazenamento na assinatura especificada e no grupo de recursos que não atendem aos requisitos de política aparecem no relatório de conformidade.

    Captura de tela mostrando como exibir o relatório de conformidade para a política interna de expiração de chave

Para colocar uma conta de armazenamento em conformidade, gire as chaves de acesso da conta.

Próximos passos