Compartilhar via


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.

Importante

Para otimizar a segurança, a Microsoft recomenda o uso do Microsoft Entra ID com identidades gerenciadas para autorizar solicitações relativas a dados de blobs, filas de espera e tabelas sempre que possível. A autorização com o Microsoft Entra ID e identidades gerenciadas oferece ima segurança e facilidade de uso de qualidade superior à da autorização por Chave Compartilhada. Para saber mais sobre identidades gerenciadas, confira 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, confira Como autenticar aplicativos hospedados no Azure em recursos do Azure com o .NET.

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

Para os cenários em que as assinaturas de acesso compartilhado (SAS) são utilizadas, a Microsoft recomenda o uso de uma SAS de delegação de usuário. Uma SAS de delegação de usuário é protegida por credenciais do Microsoft Entra em vez da chave da conta. Para saber mais sobre assinaturas de acesso compartilhado, confira 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 o .NET, confira Criar uma SAS de delegação de usuário para um blob com o .NET.

Proteger suas chaves de acesso

As chaves de acesso à conta de armazenamento fornecem acesso total aos dados da conta de armazenamento e a capacidade de gerar tokens SAS. 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 total aos dados de uma conta de armazenamento. O acesso a chaves compartilhadas deve ser cuidadosamente limitado e monitorado. Use tokens de SAS de delegação de usuário com escopo de acesso limitado nos cenários em que uma 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

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. Uma autorização baseada no Microsoft Entra ID usando identidades gerenciadas deve ser usada para os cenários compatíveis com 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 para recursos registrados em seu locatário do Microsoft Entra.

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.

    Captura de tela mostrando como exibir as chaves de acesso no portal do Azure

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. Clique em Salvar.

Captura de tela mostrando como criar uma política de expiração de chave no portal do Azure

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.

    Captura de tela mostrando como selecionar a política interna para monitorar intervalos de rotação de chaves para suas contas de armazenamento

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

    Captura de tela mostrando como criar a atribuição de política

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.

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

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

Próximas etapas