Gerenciar chaves de acesso da 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 a 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 usar o Azure Key Vault para gerenciar suas chaves de acesso e girar e regenerar suas chaves com frequência. O uso do Azure Key Vault facilita a rotação das chaves sem interrupções em seus aplicativos. Você também pode girar suas chaves manualmente.

Proteger suas chaves de acesso

As chaves de acesso da conta de armazenamento fornecem acesso total à configuração de uma conta de armazenamento, bem como aos dados. Sempre tenha cuidado para proteger as suas chaves de acesso. Utilize o Azure Key Vault para gerenciar e girar suas chaves com segurança. O acesso à chave compartilhada concede a um usuário acesso completo à configuração de uma conta de armazenamento e seus dados. O acesso a chaves compartilhadas deve ser cuidadosamente limitado e monitorado. Use tokens SAS com escopo limitado de acesso em cenários, em que a autorização baseada no Microsoft Entra ID não pode ser usada. Evite fazer hard-coding das chaves de acesso ou salvá-las em qualquer lugar como texto simples que seja acessível a outras pessoas. Gire suas chaves se achar que elas foram comprometidas.

Importante

A Microsoft recomenda usar o Microsoft Entra ID para autorizar solicitações em dados de fila, de blob e de tabela, se possível, em vez de usar as chaves de conta (autorização de chave compartilhada). A autorização com o Microsoft Entra ID fornece segurança superior e facilidade de uso em relação à autorização da chave compartilhada. Para obter mais informações sobre como usar a autorização do Microsoft Entra dos aplicativos, confira Como autenticar aplicativos do .NET com os serviços do Azure. Para compartilhamentos de arquivos do Azure do SMB, a Microsoft recomenda usar a integração do AD DS (Serviços de Domínio do Active Directory) local ou a autenticação Kerberos do Microsoft Entra.

Para impedir que os usuários acessem dados em sua conta de armazenamento com a Chave Compartilhada, você pode cancelar a autorização da Chave Compartilhada para a conta de armazenamento. O acesso granular a dados com privilégios mínimos necessários é recomendado como uma prática recomendada de segurança. A autorização baseada no Microsoft Entra ID deve ser usada para cenários que dão suporte ao OAuth. O Kerberos ou o SMTP deve ser usado para Arquivos do Azure via SMB. Para Arquivos do Azure via REST, podem ser usados os tokens SAS. O acesso de chave compartilhada deve ser desabilitado se não for necessário para impedir seu uso inadvertido. Para obter mais informações, veja Impedir a autorização de chave compartilhada para uma conta do Armazenamento do Microsoft Azure.

Para proteger uma conta de Armazenamento do Microsoft Azure com as políticas de Acesso Condicional do Microsoft Entra, você não deve 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 da Chave Compartilhada relatada nos logs de diagnóstico, isso indica que o acesso confiável está sendo utilizado para acessar o armazenamento. Para obter mais detalhes, consulte Acesso confiável aos recursos registrados em sua assinatura.

Exibir chaves de acesso da conta

Você pode exibir e copiar as chaves de acesso da conta pelo portal do Azure, PowerShell ou CLI do Azure. O portal do Azure também fornece uma cadeia de conexão da 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 no portal do Azure:

  1. No portal do Microsoft Azure, acesse sua conta de armazenamento.

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

  3. Selecione Mostrar chaves para exibir as chaves de acesso e as cadeias de conexão e para habilitar os botões para copiar os valores.

  4. Na chave1, encontre o valor da Chave. Selecione o botão Copiar para copiar a chave de conta.

  5. Como alternativa, você pode copiar a cadeia de conexão inteira. Em chave1, encontre o valor da Cadeia de conexão. Selecione o botão Copiar para copiar a cadeia de conexão.

    Screenshot showing how to view access keys in the Azure portal

Você pode usar qualquer uma das duas chaves para acessar o Armazenamento do Azure, mas, em geral, é recomendável usar a primeira e deixar a segunda para quando você for girar as chaves.

Para exibir ou ler as chaves de acesso de uma conta, o usuário precisa ser um administrador de serviço ou deve ter atribuída uma função do Azure que inclua a Microsoft.Storage/storageAccounts/listkey. Algumas das funções internas do Azure que incluem essa ação são as funções de Proprietário, Colaboradore a função de serviço de Operador da chave da conta de armazenamento. Para obter mais informações sobre a função Administrador de serviços, confira Funções do Azure, funções do Microsoft Entra e funções de administrador clássico de assinaturas. 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 a RBAC do Azure.

Usar o Azure Key Vault para gerenciar chaves de acesso

A Microsoft recomenda o uso do Azure Key Vault para gerenciar e girar as suas chaves de acesso. O seu aplicativo pode acessar as suas chaves no Key Vault com segurança. Assim você evitar armazená-las junto com o código do aplicativo. Para obter mais informações sobre como usar o Azure Key Vault, consulte os seguintes artigos:

Girar as chaves de acesso manualmente

A Microsoft recomenda que você gire as chaves de acesso periodicamente para manter a sua conta de armazenamento em segurança. Se possível, use o Azure Key Vault para gerenciar as suas chaves de acesso. Se você não estiver usando o Key Vault, será necessário girar suas chaves manualmente.

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

Aviso

A regeneração das chaves de acesso pode afetar todos os aplicativos ou serviços do Azure que dependem da chave de 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 os serviços de mídia, nuvem, aplicativos para área de trabalho e móveis e aplicativos de interface gráfica do usuário para o Armazenamento do Azure, tais como o Gerenciador de Armazenamento do Azure.

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

Se você planeja girar as chaves de acesso manualmente, a Microsoft recomenda definir uma política de expiração de chave. Para obter mais informações, confira Criar uma política de expiração de chave.

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

Para girar 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 fazerem 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 primária da sua conta de armazenamento, selecione o botão Regenerar ao lado da chave primária.
  5. Atualize as cadeias de conexão no código para referenciar a nova chave de acesso primária.
  6. Regenere a chave de acesso secundária da mesma maneira.

Cuidado

A Microsoft recomenda usar apenas uma das chaves em todos os aplicativos ao mesmo tempo. Se você usar a Chave 1 em alguns lugares e a Chave 2 em outros, nãos será possível alternar as chaves sem que algum aplicativo perca o acesso.

Para exibir ou ler as chaves de acesso de uma conta, o usuário precisa ser um administrador de serviço ou deve ter atribuída uma função do Azure que inclua a Microsoft.Storage/storageAccounts/listkey. Algumas das funções internas do Azure que incluem essa ação são as funções de Proprietário, Colaboradore a função de serviço de Operador da chave da conta de armazenamento. Para obter mais informações sobre a função Administrador de serviços, confira Funções do Azure, funções do Microsoft Entra e funções de administrador clássico de assinaturas. 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 a RBAC do Azure.

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 à conta. O lembrete será 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 chave, você pode monitorar suas contas de armazenamento para garantir que as chaves de acesso à conta sejam giradas regularmente.

Observação

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

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

  1. No portal do Microsoft Azure, acesse sua conta de armazenamento.
  2. Em Segurança + rede, selecione Chaves de acesso. Suas chaves de acesso da conta são exibidas, bem como a cadeia de conexã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 esmaecido, você precisará girar cada uma das chaves. Siga as etapas descritas em Girar manualmente as chaves de acesso para girar as chaves.
  4. Em Definir um lembrete para girar as chaves de acesso, marque a caixa de seleção Habilitar lembretes de rotação de chaves e defina uma frequência para o lembrete.
  5. Selecione Salvar.

Screenshot showing how to create a key expiration policy in the Azure portal

Verificação de violações da política de expiração de chave

Você pode monitorar suas contas de armazenamento com o Azure Policy para garantir que as chaves de acesso à conta tenham sido giradas dentro do período recomendado. O Armazenamento do Microsoft Azure fornece uma política interna para garantir que as chaves de acesso à conta de armazenamento não expirem. Para obter mais informações sobre a política interna, consulte Chaves de conta de armazenamento não devem expirar na 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, pesquise Política para exibir o painel do Azure Policy.

  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 opcional.

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

    Screenshot showing how to select the built-in policy to monitor key rotation intervals for your storage accounts

  6. Selecione Revisar + criar para atribuir a definição de política ao escopo especificado.

    Screenshot showing how to create the policy assignment

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

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

  1. No painel do Azure Policy, localize a definição de política interna para o escopo especificado na atribuição de política. Você pode pesquisar Chaves de conta de armazenamento não devem expirar 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ítica para a política interna, selecione Exibir conformidade. Todas as contas de armazenamento no grupo de recursos e assinatura especificados que não atenderem aos requisitos de política aparecerão no relatório de conformidade.

    Screenshot showing how to view the compliance report for the key expiration built-in policy

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

Próximas etapas