As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Melhores práticas de gerenciamento de chaves para AWS KMS
Ao usar AWS Key Management Service (AWS KMS), há algumas decisões fundamentais de design que você deve tomar. Isso inclui o uso de um modelo centralizado ou descentralizado para gerenciamento e acesso de chaves, o tipo de chaves a serem usadas e o tipo de armazenamento de chaves a ser usado. As seções a seguir ajudam você a tomar decisões adequadas para sua organização e seus casos de uso. Esta seção termina com considerações importantes para desativar e excluir chaves KMS, incluindo ações que você deve tomar para ajudar a proteger seus dados e chaves.
Esta seção contém os seguintes tópicos:
Escolha de um modelo centralizado ou descentralizado
AWS recomenda que você use várias Contas da AWS e gerencie essas contas como uma única organização em AWS Organizations. Há duas abordagens amplas para o gerenciamento AWS KMS keys em ambientes com várias contas.
A primeira abordagem é uma abordagem descentralizada, na qual você cria chaves em cada conta que usa essas chaves. Quando você armazena as chaves do KMS nas mesmas contas dos recursos que elas protegem, é mais fácil delegar permissões a administradores locais que entendem os requisitos de acesso para seus AWS diretores e chaves. Você pode autorizar o uso de chaves usando apenas uma política de chaves ou pode combinar uma política de chaves e políticas baseadas em identidade no AWS Identity and Access Management (IAM).
A segunda abordagem é uma abordagem centralizada, na qual você mantém as chaves KMS em uma ou algumas designadas. Contas da AWS Você permite que outras contas usem as chaves somente para operações criptográficas. Você gerencia as chaves, seu ciclo de vida e suas permissões a partir da conta centralizada. Você permite que outras Contas da AWS pessoas usem a chave, mas não permite outras permissões. As contas externas não conseguem gerenciar nada sobre o ciclo de vida da chave ou a permissão de acesso. Esse modelo centralizado pode ajudar a minimizar o risco de exclusão não intencional de chaves ou aumento de privilégios por administradores ou usuários delegados.
A opção escolhida depende de vários fatores. Considere o seguinte ao escolher uma abordagem:
-
Você tem um processo automático ou manual para provisionar o acesso à chave e aos recursos? Isso inclui recursos como pipelines de implantação e modelos de infraestrutura como código (IaC). Essas ferramentas podem ajudar você a implantar e gerenciar recursos (como chaves do KMS, políticas de chaves, funções do IAM e políticas do IAM) em muitos Contas da AWS. Se você não tiver essas ferramentas de implantação, uma abordagem centralizada para o gerenciamento de chaves pode ser mais gerenciável para sua empresa.
-
Você tem controle administrativo sobre tudo o Contas da AWS que contém recursos que usam chaves KMS? Nesse caso, um modelo centralizado pode simplificar o gerenciamento e eliminar a necessidade de mudar Contas da AWS para gerenciar chaves. Observe, no entanto, que as funções do IAM e as permissões do usuário para usar chaves ainda precisam ser gerenciadas por conta.
-
Você precisa oferecer acesso para usar suas chaves KMS a clientes ou parceiros que tenham recursos próprios Contas da AWS ? Para essas chaves, uma abordagem centralizada pode reduzir a carga administrativa de seus clientes e parceiros.
-
Você tem requisitos de autorização para acesso a AWS recursos que são melhor resolvidos por meio de uma abordagem de acesso centralizada ou local? Por exemplo, se diferentes aplicativos ou unidades de negócios forem responsáveis por gerenciar a segurança de seus próprios dados, uma abordagem descentralizada para o gerenciamento de chaves é melhor.
-
Você está excedendo as cotas de recursos de serviço para? AWS KMS Como essas cotas são definidas por Conta da AWS, um modelo descentralizado distribui a carga entre as contas, multiplicando efetivamente as cotas de serviço.
nota
O modelo de gerenciamento de chaves é irrelevante quando se considera as cotas de solicitação porque essas cotas são aplicadas ao principal da conta que faz uma solicitação contra a chave, não à conta que possui ou gerencia a chave.
Em geral, recomendamos que você comece com uma abordagem descentralizada, a menos que possa articular a necessidade de um modelo de chave KMS centralizado.
Escolha de chaves gerenciadas pelo cliente, chaves AWS gerenciadas ou chaves AWS próprias
As chaves KMS que você cria e gerencia para uso em seus próprios aplicativos criptográficos são conhecidas como chaves gerenciadas pelo cliente. Serviços da AWS pode usar chaves gerenciadas pelo cliente para criptografar os dados que o serviço armazena em seu nome. As chaves gerenciadas pelo cliente são recomendadas se você quiser ter controle total sobre o ciclo de vida e o uso de suas chaves. Há um custo mensal para ter uma chave gerenciada pelo cliente em sua conta. Além disso, as solicitações para usar ou gerenciar a chave incorrem em um custo de uso. Para obter mais informações, consulte Preços do AWS KMS
Se você quiser AWS service (Serviço da AWS) criptografar seus dados, mas não quiser as despesas gerais ou os custos do gerenciamento de chaves, você pode usar uma chave AWS gerenciada. Esse tipo de chave existe na sua conta, mas só pode ser usado em determinadas circunstâncias. Ele só pode ser usado no contexto em AWS service (Serviço da AWS) que você está operando e só pode ser usado por diretores na conta que contém a chave. Você não pode gerenciar nada sobre o ciclo de vida ou as permissões dessas chaves. Alguns Serviços da AWS usam chaves AWS gerenciadas. O formato de um alias de chave AWS gerenciada éaws/<service
code>
. Por exemplo, uma aws/ebs
chave só pode ser usada para criptografar volumes do Amazon Elastic Block Store (Amazon EBS) na mesma conta da chave e só pode ser usada por diretores do IAM nessa conta. Uma chave AWS gerenciada só pode ser usada por usuários nessa conta e para recursos nessa conta. Você não pode compartilhar recursos criptografados sob uma chave AWS gerenciada com outras contas. Se isso for uma limitação para seu caso de uso, recomendamos usar uma chave gerenciada pelo cliente; você pode compartilhar o uso dessa chave com qualquer outra conta. Você não é cobrado pela existência de uma chave AWS gerenciada em sua conta, mas é cobrado por qualquer uso desse tipo de chave pela AWS service (Serviço da AWS) pessoa atribuída à chave.
Uma chave AWS gerenciada é um tipo de chave herdada que não está mais sendo criada para novas a Serviços da AWS partir de 2021. Em vez disso, os novos (e os antigos) Serviços da AWS estão usando AWS uma chave própria para criptografar seus dados por padrão. AWS chaves de propriedade são uma coleção de chaves KMS que um AWS service (Serviço da AWS) possui e gerencia para uso em várias Contas da AWS. Embora essas chaves não estejam na sua Conta da AWS, AWS service (Serviço da AWS) você pode usá-las para proteger os recursos da sua conta.
Recomendamos que você use chaves gerenciadas pelo cliente quando o controle granular for mais importante e use chaves AWS próprias quando a conveniência for mais importante.
A tabela a seguir descreve as principais diferenças de política, registro, gerenciamento e preços entre cada tipo de chave. Para obter mais informações sobre os tipos de chaves, consulte AWS KMS conceitos.
Consideração | Chaves gerenciadas pelo cliente | AWS chaves gerenciadas | AWS chaves de propriedade |
---|---|---|---|
Política de chave | Controlada exclusivamente pelo cliente | Controlada pelo serviço; visível para o cliente | Controlado exclusivamente e visível apenas pelo AWS service (Serviço da AWS) que criptografa seus dados |
Registro em log | AWS CloudTrail rastreamento de clientes ou armazenamento de dados de eventos | CloudTrail rastreamento de clientes ou armazenamento de dados de eventos | Não visível para o cliente |
Gerenciamento do ciclo de vida | O cliente gerencia a rotação, a exclusão e Região da AWS | AWS service (Serviço da AWS) gerencia rotação (anual), exclusão e região | AWS service (Serviço da AWS) gerencia rotação (anual), exclusão e região |
Preços | Taxa mensal pela existência da chave (proporcional por hora); o chamador é cobrado pelo uso da API | Sem cobrança pela existência da chave; o chamador é cobrado pelo uso da API | Sem cobranças para o cliente |
Escolhendo uma loja de AWS KMS chaves
Um armazenamento de chaves é um local seguro para armazenar e usar material de chave criptográfica. A melhor prática do setor para armazenamentos de chaves é usar um dispositivo conhecido como módulo de segurança de hardware (HSM) que foi validado pelo Programa de Validação de Módulo Criptográfico dos Padrões Federais de Processamento de Informações (FIPS) 140 do NIST no nível de segurança 3
AWS KMS suporta vários tipos de armazenamento de chaves para ajudar a proteger seu material de chaves ao usá-lo AWS KMS para criar e gerenciar suas chaves de criptografia. Todas as opções de armazenamento de chaves fornecidas pela AWS KMS são continuamente validadas de acordo com o FIPS 140 no nível de segurança 3. Eles foram projetados para impedir que qualquer pessoa, incluindo AWS operadores, acesse suas chaves de texto simples ou as use sem sua permissão. Para obter mais informações sobre os tipos disponíveis de armazenamentos de chaves, consulte Armazenamentos de chaves na AWS KMS documentação.
O armazenamento de chaves AWS KMS padrão é a melhor opção para a maioria das cargas de trabalho. Se você precisar escolher um tipo diferente de armazenamento de chaves, considere cuidadosamente se os requisitos regulatórios ou outros (como internos) exigem essa escolha e avalie cuidadosamente os custos e benefícios.
Excluindo e desativando chaves KMS
A exclusão de uma chave KMS pode ter um impacto significativo. Antes de excluir uma chave KMS que você não pretende mais usar, considere se é adequado definir o estado da chave como Desativado. Enquanto uma chave está desativada, ela não pode ser usada para operações criptográficas. Ele ainda existe e você pode reativá-lo no futuro, se necessário. AWS As chaves desativadas continuam incorrendo em taxas de armazenamento. Recomendamos que você desative as chaves em vez de excluí-las até ter certeza de que a chave não protege nenhum dado ou chave de dados.
Importante
A exclusão de uma chave deve ser planejada com cuidado. Os dados não podem ser descriptografados se a chave correspondente tiver sido excluída. AWS não tem como recuperar uma chave excluída depois que ela foi excluída. Assim como em outras operações críticas em AWS, você deve aplicar uma política que limite quem pode programar chaves para exclusão e exigir autenticação multifator (MFA) para exclusão de chaves.
Para ajudar a evitar a exclusão acidental da chave, AWS KMS impõe um período de espera mínimo padrão de sete dias após a execução de uma DeleteKey
chamada antes de excluir a chave. Você pode definir o período de espera para um valor máximo de 30 dias. Durante o período de espera, a chave ainda está armazenada AWS KMS no estado de exclusão pendente. Ele não pode ser usado para operações de criptografia ou descriptografia. Qualquer tentativa de usar uma chave que esteja no estado de exclusão pendente para criptografia ou decodificação é registrada. AWS CloudTrail Você pode definir um CloudWatch alarme da Amazon para esses eventos em seus CloudTrail registros. Se você receber alarmes sobre esses eventos, poderá optar por cancelar o processo de exclusão, se necessário. Até que o período de espera expire, você pode recuperar a chave do estado Exclusão pendente e restaurá-la para o estado Desativado ou Ativado.
A exclusão de uma chave multirregional exige que você exclua as réplicas antes da cópia original. Para obter mais informações, consulte Excluindo chaves multirregionais.
Se você estiver usando uma chave com material de chave importado, poderá excluir o material de chave importado imediatamente. Isso é diferente de excluir uma chave KMS de várias maneiras. Quando você executa a DeleteImportedKeyMaterial
ação, AWS KMS exclui o material da chave e o estado da chave muda para Importação pendente. Depois de excluir o material da chave, a chave fica imediatamente inutilizável. Não há período de espera. Para habilitar o uso da chave novamente, você precisa importar o mesmo material de chave novamente. O período de espera para a exclusão da chave KMS também se aplica às chaves KMS com material de chave importado.
Se as chaves de dados estiverem protegidas por uma chave KMS e estiverem ativamente em uso Serviços da AWS, elas não serão afetadas imediatamente se a chave KMS associada for desativada ou se o material da chave importada for excluído. Por exemplo, digamos que uma chave com material importado tenha sido usada para criptografar um objeto com SSE-KMS. Você está fazendo o upload do objeto em um bucket do Amazon Simple Storage Service (Amazon S3). Antes de fazer o upload do objeto no bucket, você importa o material para sua chave. Depois que o objeto é carregado, você exclui o material da chave importada dessa chave. O objeto permanece no bucket em um estado criptografado, mas ninguém pode acessar o objeto até que o material da chave excluída seja reimportado para a chave. Embora esse fluxo exija automação precisa para importar e excluir o material chave de uma chave, ele pode fornecer um nível adicional de controle em um ambiente.
AWS oferece orientação prescritiva para ajudá-lo a monitorar e corrigir (se necessário) a exclusão programada das chaves KMS. Para obter mais informações, consulte Monitorar e corrigir a exclusão programada de AWS KMS chaves.