Criar um repositório de chaves do AWS CloudHSM
Você pode criar um ou vários armazenamentos de chaves do AWS CloudHSM em sua conta. Cada armazenamento de chaves do AWS CloudHSM está associado a um cluster do AWS CloudHSM na mesma Conta da AWS e região. Antes de criar o armazenamento de chaves do AWS CloudHSM, você precisa organizar os pré-requisitos. Antes de usar o armazenamento de chaves do AWS CloudHSM, você deve conectá-lo ao cluster do AWS CloudHSM.
Observações
O KMS não pode se comunicar por IPv6 com repositórios de chaves do AWS CloudHSM.
Se você tentar criar um armazenamento de chaves do AWS CloudHSM com os mesmos valores de propriedade de um armazenamento de chaves do AWS CloudHSM existente desconectado, o AWS KMS não criará um novo armazenamento de chaves do AWS CloudHSM e não gerará uma exceção nem exibirá um erro. Em vez disso, o AWS KMS reconhecerá a duplicata como a possível consequência de uma nova tentativa e retornará o ID do armazenamento de chaves do AWS CloudHSM existente.
Não é necessário conectar seu armazenamento de chaves do AWS CloudHSM imediatamente. Você pode deixá-lo em um estado desconectado até estar pronto para usá-lo. No entanto, para verificar se ele está configurado corretamente, convém conectá-lo, visualizar o estado da conexão e desconectá-lo.
Organizar os pré-requisitos
Cada armazenamento de chaves do AWS CloudHSM é baseado em um cluster do AWS CloudHSM. Para criar um armazenamento de chaves do AWS CloudHSM, você deve especificar um cluster do AWS CloudHSM ativo que ainda não está associado a outro armazenamento de chaves. Você também precisa criar um usuário de criptografia (CU) dedicado nos HSMs do cluster que o AWS KMS pode usar para criar e gerenciar chaves em seu nome.
Antes de criar um armazenamento de chaves do AWS CloudHSM, faça o seguinte:
- Selecionar um cluster do AWS CloudHSM
-
Todo armazenamento de chaves do AWS CloudHSM é associado, precisamente, a um cluster do AWS CloudHSM. Quando você cria AWS KMS keys no repositório de chaves do AWS CloudHSM, o AWS KMS cria os metadados de chave do KMS, como um ID e um nome do recurso da Amazon (ARN) no AWS KMS. Ele cria o material de chaves nos HSMs do cluster associado. Você pode criar um novo cluster do AWS CloudHSM ou usar um existente. O AWS KMS não requer acesso exclusivo ao cluster.
O cluster do AWS CloudHSM que você seleciona fica permanentemente associado ao armazenamento de chaves do AWS CloudHSM. Depois de criar o armazenamento de chaves do AWS CloudHSM, você pode alterar o ID do cluster associado, mas o cluster que você especificar deverá compartilhar um histórico de backup com o cluster original. Para usar um cluster não relacionado, você precisa criar um novo armazenamento de chaves do AWS CloudHSM.
O cluster do AWS CloudHSM que você selecionar deve ter as seguintes características:
-
O cluster deve estar ativo.
Você deve criar o cluster, iniciá-lo, instalar o software cliente do AWS CloudHSM para a sua plataforma e ativar o cluster. Para obter instruções detalhadas, consulte Conceitos básicos do AWS CloudHSM no Guia do usuário do AWS CloudHSM.
-
O TLS mútuo (mTLS) não está habilitado.
O KMS não é compatível com mTLS para clusters. Essa configuração não deve ser habilitada.
-
O cluster deve estar na mesma conta e região que o armazenamento de chaves do AWS CloudHSM. Você não pode associar um armazenamento de chaves do AWS CloudHSM em uma região a um cluster em uma região diferente. Para criar uma infraestrutura de chaves em várias regiões, você deverá criar armazenamentos de chaves do AWS CloudHSM e clusters em cada região.
-
Não é possível associar o cluster a outro armazenamento personalizado de chaves na mesma conta e região. É necessário associar cada armazenamento de chaves do AWS CloudHSM na conta e região a um cluster diferente do AWS CloudHSM. Você não pode especificar um cluster que já esteja associado a um armazenamento de chaves personalizado, tampouco um cluster que compartilhe um histórico de backup com um cluster associado. Os clusters que compartilham um histórico de backup têm o mesmo certificado do cluster. Para visualizar o certificado de cluster de um cluster, use o console do AWS CloudHSM ou a operação DescribeClusters.
Se você fizer backup de um cluster do AWS CloudHSM em uma região diferente, ele será considerado um cluster diferente e você poderá associar o backup a um armazenamento personalizado de chaves na região dele. No entanto, mesmo que tenham a mesma chave de reserva, as chaves do KMS nos dois armazenamentos personalizados de chaves não são interoperáveis. O AWS KMS vincula metadados ao texto cifrado, de modo que só é possível descriptografá-los com a chave do KMS que os criptografaram.
-
O cluster deve ser configurado com sub-redes privadas em pelo menos duas zonas de disponibilidade na região. Como o AWS CloudHSM não é compatível com todas as zonas de disponibilidade, recomendamos que você crie sub-redes privadas em todas as zonas de disponibilidade na região. Você não pode reconfigurar as sub-redes para um cluster existente, mas pode criar um cluster a partir de um backup com diferentes sub-redes na configuração do cluster.
Importante
Depois de criar seu armazenamento de chaves do AWS CloudHSM, não exclua nenhuma das sub-redes privadas configuradas para seu cluster do AWS CloudHSM. Se o AWS KMS não conseguiu localizar todas as sub-redes na configuração do cluster, as tentativas de se conectar ao armazenamento de chaves personalizadas falharão com um estado de erro de conexão
SUBNET_NOT_FOUND. Para obter detalhes, consulte Como corrigir uma falha de conexão. -
O grupo de segurança do cluster (
cloudhsm-cluster-) deve incluir regras de entrada e de saída que permitam tráfego TCP por IPv4 nas portas 2223 a 2225. O Source (Origem) nas regras de entrada e o Destination (Destino) nas regras de saída deve corresponder ao ID do grupo de segurança. Essas regras são definidas por padrão quando você cria o cluster. Não as exclua nem as altere.<cluster-id>-sg -
O cluster deve conter pelo menos dois HSMs ativos em diferentes zonas de disponibilidade. Para verificar o número de HSMs, use o console do AWS CloudHSM ou a operação DescribeClusters. Se necessário, você pode adicionar um HSM.
-
- Localizar o certificado da âncora de confiança
-
Quando você cria um armazenamento de chaves personalizado, é necessário carregar o certificado da âncora de confiança para o cluster do AWS CloudHSM para o AWS KMS. O AWS KMS precisa do certificado da âncora de confiança para conectar o armazenamento de chaves do AWS CloudHSM ao cluster do AWS CloudHSM.
Cada cluster do AWS CloudHSM ativo tem um certificado da âncora de confiança. Ao inicializar o cluster, você gera esse certificado, salve-o no
customerCA.crtarquivo e copie-o em hosts que se conectam ao cluster. - Criar o usuário de criptografia
kmsuserpara o AWS KMS -
Para administrar o armazenamento de chaves do AWS CloudHSM, o AWS KMS faz login na conta do usuário de criptografia kmsuser no cluster selecionado. Antes de criar o armazenamento de chaves do AWS CloudHSM, você deve criar o usuário de criptografia do
kmsuser. Ao criar o armazenamento de chaves do AWS CloudHSM, você fornece a senha dokmsuserpara o AWS KMS. Quando você conecta o armazenamento de chaves do AWS CloudHSM ao cluster do AWS CloudHSM associado, o AWS KMS faz login no cluster comokmsusere alterna a senha dokmsuserImportante
Não especifique a opção
2FAao criar o CU dokmsuser. Se você fizer isso, o AWS KMS não poderá fazer login, e o armazenamento de chaves do AWS CloudHSM não poderá ser conectado a esse cluster do AWS CloudHSM. Ao especificar o código de autenticação de dois fatores, você não pode desfazê-lo. Em vez disso, você deve excluir o CU e recriá-lo.Observações
Os procedimentos a seguir usam a ferramenta de linha de comando do AWS CloudHSM Client SDK 5, a CLI do CloudHSM. A CLI do CloudHSM substitui
key-handleporkey-reference.Em 1.º de janeiro de 2025, o AWS CloudHSM encerrará o suporte às ferramentas de linha de comando do Client SDK 3, ao CloudHSM Management Utility (CMU) e ao Key Management Utility (KMU). Para obter mais informações sobre as diferenças entre as ferramentas de linha de comando do Client SDK 3 e a ferramenta de linha de comando do Client SDK 5, consulte Migrate from Client SDK 3 CMU and KMU to Client SDK 5 CloudHSM CLI no Guia do usuário do AWS CloudHSM.
-
Siga os procedimentos de conceitos básicos conforme descritos no tópico Getting started with CloudHSM Command Line Interface (CLI) do Guia do usuário do AWS CloudHSM.
-
Use o comando user create para criar um usuário de criptografia chamado
kmsuser.A senha deve conter de 7 a 32 caracteres alfanuméricos. Ela diferencia maiúsculas de minúsculas e não pode conter caracteres especiais.
O exemplo de comando a seguir cria um usuário de criptografia
kmsuser.aws-cloudhsm >user create --username kmsuser --role crypto-userEnter password: Confirm password: { "error_code": 0, "data": { "username": "kmsuser", "role": "crypto-user" } }
-
Criar um novo repositório de chaves do AWS CloudHSM
Após reunir os pré-requisitos necessários, você pode criar um novo repositório de chaves do AWS CloudHSM console do AWS KMS ou usar a operação CreateCustomKeyStore.
Ao criar um armazenamento de chaves do AWS CloudHSM no Console de gerenciamento da AWS, você pode adicionar e criar os pré-requisitos como parte de seu fluxo de trabalho. No entanto, o processo é mais rápido quando eles são organizados com antecedência.
-
Faça login no Console de gerenciamento da AWS e abra o console do AWS Key Management Service (AWS KMS) em https://console.aws.amazon.com/kms
. -
Para alterar a Região da AWS, use o seletor de regiões no canto superior direito da página.
-
No painel de navegação, selecione Custom key stores (Repositórios de chaves personalizados), AWS CloudHSM key stores (Repositórios de chaves do ).
-
Selecione Create key store (Criar armazenamento de chaves).
-
Digite um nome amigável para o armazenamento de chaves personalizado. O nome deve ser exclusivo entre todos os outros armazenamentos de chaves personalizados de sua conta.
Importante
Não inclua informações confidenciais ou sigilosas nesse campo. Esse campo pode ser exibido em texto simples nos logs do CloudTrail e em outras saídas.
-
Selecione um cluster do AWS CloudHSM para o armazenamento de chaves do AWS CloudHSM. Ou, para criar um novo cluster do AWS CloudHSM, escolha o link Create an AWS CloudHSM cluster (Criar um cluster do ).
O menu exibe clusters do AWS CloudHSM em sua conta e região que ainda não estão associados a um armazenamento de chaves do AWS CloudHSM. O cluster deve cumprir os requisitos para associação com um armazenamento de chaves personalizado.
-
Escolha Choose file (Escolher arquivo) e carregue o certificado da âncora de confiança para o cluster do AWS CloudHSM que você escolheu. Esse é o arquivo
customerCA.crtque você criou ao inicializar o cluster. -
Insira a senha do usuário de criptografia kmsuser (CU) que você criou no cluster selecionado.
-
Escolha Criar.
Se o procedimento for bem-sucedido, o novo armazenamento de chaves do AWS CloudHSM será exibido na lista de armazenamentos de chaves do AWS CloudHSM na conta e região. Se ele for malsucedido, será exibida uma mensagem de erro descrevendo o problema e fornecendo ajuda para corrigi-lo. Se precisar de ajuda adicional, consulte Solucionar problemas de um armazenamento de chaves personalizado.
Se você tentar criar um armazenamento de chaves do AWS CloudHSM com os mesmos valores de propriedade de um armazenamento de chaves do AWS CloudHSM existente desconectado, o AWS KMS não criará um novo armazenamento de chaves do AWS CloudHSM e não gerará uma exceção nem exibirá um erro. Em vez disso, o AWS KMS reconhecerá a duplicata como a possível consequência de uma nova tentativa e retornará o ID do armazenamento de chaves do AWS CloudHSM existente.
Próximo: os novos armazenamentos de chaves do AWS CloudHSM não são conectados automaticamente. Antes de criar AWS KMS keys no armazenamento de chaves do AWS CloudHSM, conecte o armazenamento de chaves personalizado ao cluster do AWS CloudHSM associado.
Você pode usar a operação CreateCustomKeyStore para criar um novo armazenamento de chaves do AWS CloudHSM associado a um cluster do AWS CloudHSM na conta e região. Estes exemplos usam a AWS Command Line Interface (AWS CLI), mas você pode usar qualquer linguagem de programação compatível.
A operação CreateCustomKeyStore exige os seguintes valores de parâmetros.
-
CustomKeyStoreName: um nome amigável para o armazenamento de chaves personalizado que é exclusivo na conta.
Importante
Não inclua informações confidenciais ou sigilosas nesse campo. Esse campo pode ser exibido em texto simples nos logs do CloudTrail e em outras saídas.
-
CloudHsmClusterId: o ID de cluster de um cluster do AWS CloudHSM que atende aos requisitos de um armazenamento de chaves do AWS CloudHSM.
-
KeyStorePassword: a senha da conta de CU
kmsuserno cluster especificado. -
TrustAnchorCertificate: o conteúdo do arquivo
customerCA.crtque você criou quando inicializou o cluster.
O exemplo a seguir usa um ID de cluster fictício. Antes de executar o comando, substitua-o por um ID de cluster válido.
$aws kms create-custom-key-store --custom-key-store-nameExampleCloudHSMKeyStore\ --cloud-hsm-cluster-idcluster-1a23b4cdefg\ --key-store-passwordkmsPswd\ --trust-anchor-certificate<certificate-goes-here>
Se estiver usando a AWS CLI, você pode especificar o arquivo do certificado da âncora de confiança, em vez de seu conteúdo. No exemplo a seguir, o arquivo customerCA.crt no diretório raiz.
$aws kms create-custom-key-store --custom-key-store-nameExampleCloudHSMKeyStore\ --cloud-hsm-cluster-idcluster-1a23b4cdefg\ --key-store-passwordkmsPswd\ --trust-anchor-certificatefile://customerCA.crt
Quando a operação é bem-sucedida, CreateCustomKeyStore retorna o ID do armazenamento de chaves personalizado, conforme exibido na resposta de exemplo a seguir.
{ "CustomKeyStoreId": cks-1234567890abcdef0 }
Se a operação falhar, corrija o erro indicado pela exceção e tente novamente. Para obter ajuda adicional, consulte Solucionar problemas de um armazenamento de chaves personalizado.
Se você tentar criar um armazenamento de chaves do AWS CloudHSM com os mesmos valores de propriedade de um armazenamento de chaves do AWS CloudHSM existente desconectado, o AWS KMS não criará um novo armazenamento de chaves do AWS CloudHSM e não gerará uma exceção nem exibirá um erro. Em vez disso, o AWS KMS reconhecerá a duplicata como a possível consequência de uma nova tentativa e retornará o ID do armazenamento de chaves do AWS CloudHSM existente.
Próximo: para usar o armazenamento de chaves do AWS CloudHSM, conecte-o ao cluster do AWS CloudHSM.