

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

# Repositórios de chaves
<a name="key-store-overview"></a>

Um *repositório de chaves* é um local seguro para armazenar e usar chaves de criptografia. O armazenamento de chaves padrão AWS KMS também oferece suporte a métodos para gerar e gerenciar as chaves que ele armazena. Por padrão, o material da chave criptográfica AWS KMS keys que você cria AWS KMS é gerado e protegido por módulos de segurança de hardware (HSMs) que são o Programa de Validação do Módulo [Criptográfico FIPS 140-3](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4884). O material chave para suas chaves KMS nunca sai HSMs sem criptografia.

AWS KMS oferece suporte a vários tipos de armazenamentos de chaves para 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-3 no nível de segurança 3 e foram projetadas para impedir que qualquer pessoa, incluindo AWS operadores, acesse suas chaves de texto simples ou as use sem sua permissão.

## AWS KMS armazenamento de chaves padrão
<a name="default-key-store"></a>

Por padrão, uma chave KMS é criada usando o AWS KMS HSM padrão. Esse tipo de HSM pode ser considerado uma frota multilocatária HSMs que permite o armazenamento de chaves mais escalável, de menor custo e mais fácil de gerenciar do seu ponto de vista. Se você estiver criando uma chave KMS para uso em uma ou mais Serviços da AWS , para que o serviço possa criptografar seus dados em seu nome, você criará uma chave simétrica. Se você estiver usando uma chave do KMS para o design de sua própria aplicação, poderá optar por criar uma chave de criptografia simétrica, uma chave assimétrica ou uma chave de HMAC.

Na opção de armazenamento de chaves padrão, AWS KMS cria sua chave e a criptografa com as chaves que o serviço gerencia internamente. Em seguida, várias cópias de versões criptografadas de suas chaves serão armazenadas em sistemas projetados visando durabilidade. Gerar e proteger seu material de chaves no tipo de armazenamento de chaves padrão permite que você aproveite ao máximo a escalabilidade, a disponibilidade e a durabilidade AWS KMS com a menor carga operacional e o menor custo dos armazenamentos de AWS chaves.

## AWS KMS armazenamento de chaves padrão com material de chave importado
<a name="imported-key-material"></a>

Em vez de solicitar AWS KMS a geração e o armazenamento das únicas cópias de uma determinada chave, você pode optar por importar o material da chave AWS KMS, permitindo gerar sua própria chave de criptografia simétrica de 256 bits, chave RSA ou curva elíptica (ECC) ou chave de Código de Autenticação de Mensagens Baseadas em Hash (HMAC) e aplicá-la a um identificador de chave KMS (KeyID). Às vezes, isso é chamado de *traga sua própria chave* (BYOK). O material de chaves importado do seu sistema de gerenciamento de chaves local deve ser protegido usando uma chave pública emitida por AWS KMS, um algoritmo de empacotamento criptográfico compatível e um token de importação baseado em tempo fornecido pela. AWS KMS Esse processo verifica se sua chave criptografada e importada só pode ser descriptografada por um HSM do AWS KMS após ter deixado seu ambiente.

O material de chaves importado pode ser útil se você tiver requisitos específicos no sistema que gera chaves ou se quiser uma cópia externa da chave AWS como backup. Observe que você será responsável pela disponibilidade e durabilidade gerais do material de chave importado. Embora AWS KMS tenha uma cópia de sua chave importada e permaneça altamente disponível enquanto você precisar dela, as chaves importadas oferecem uma API especial para exclusão — DeleteImportedKeyMaterial. Essa API excluirá imediatamente todas as cópias do material de chave importado que AWS KMS possui, sem AWS a opção de recuperar a chave. Além disso, você pode definir um prazo de validade em uma chave importada, após o qual a chave ficará inutilizável. Para tornar a chave útil novamente AWS KMS, você precisará reimportar o material da chave e atribuí-lo ao mesmo KeyID. Essa ação de exclusão para chaves importadas é diferente das chaves padrão que são AWS KMS geradas e armazenadas para você em seu nome. No caso padrão, o processo de exclusão de chaves tem um período de espera obrigatório durante o qual o uso de uma chave programada para exclusão é bloqueado pela primeira vez. Essa ação permite que você veja erros de acesso negado nos registros de qualquer aplicativo ou AWS serviço que possa precisar dessa chave para acessar os dados. Se você receber essas solicitações de acesso, poderá optar por cancelar a exclusão programada e reativar a chave. Somente após um período de espera configurável (entre 7 e 30 dias), o KMS excluirá o material de chave, o keyID e todos os metadados associados à chave. Para obter mais informações sobre disponibilidade e durabilidade, consulte [Protecting imported key material](import-keys-protect.md) no *AWS KMS Developer Guide*.

É necessário ter ciência de algumas limitações adicionais com o material de chave importado. Como o AWS KMS não é capaz de gerar novo material de chave, não há como configurar a alternância automática de chaves importadas. Você precisará criar uma nova chave do KMS com uma nova keyId e, em seguida, importar o novo material de chave para obter uma alternância efetiva. Além disso, textos cifrados criados AWS KMS sob uma chave simétrica importada não podem ser facilmente descriptografados usando sua cópia local da chave externa. AWS Isso ocorre porque o formato de criptografia autenticado usado pelo AWS KMS acrescenta metadados adicionais ao texto cifrado para fornecer garantias durante a operação de descriptografia de que o texto cifrado foi criado pela chave KMS esperada em uma operação de criptografia anterior. A maioria dos sistemas criptográficos externos não saberá como analisar esses metadados para obter acesso ao texto cifrado bruto e usar sua cópia de uma chave simétrica. Textos cifrados criados sob chaves assimétricas importadas (por exemplo, RSA ou ECC) podem ser usados fora da AWS KMS parte correspondente (pública ou privada) da chave porque não há metadados adicionais adicionados ao texto cifrado. AWS KMS 

## AWS KMS lojas de chaves personalizadas
<a name="custom-key-store-overview"></a>

No entanto, se você precisar de ainda mais controle do HSMs, poderá criar um armazenamento de chaves personalizado.

Um *armazenamento de chaves personalizado* é um armazenamento de chaves interno AWS KMS que é apoiado por um gerenciador de chaves externo AWS KMS, que você possui e gerencia. Os armazenamentos de chaves personalizados combinam a interface de gerenciamento de chaves conveniente e abrangente AWS KMS com a capacidade de possuir e controlar o material chave e as operações criptográficas. Ao usar uma chave do KMS em um armazenamento de chaves personalizado, as operações de criptografia são executadas pelo gerenciador de chaves usando chaves de criptografia. Como resultado, você assume mais responsabilidade pela disponibilidade e durabilidade das chaves criptográficas e pela operação do HSMs. 

Possuir sua propriedade HSMs pode ser útil para ajudar a atender a certos requisitos regulatórios que ainda não permitem que serviços web multilocatários, como o armazenamento de chaves KMS padrão, mantenham suas chaves criptográficas. Os armazenamentos de chaves personalizados não são mais seguros do que os armazenamentos de chaves KMS AWS gerenciados pelo HSMs usuário, mas têm implicações de gerenciamento e custo diferentes (e maiores). Como resultado, você assume mais responsabilidade pela disponibilidade e durabilidade das chaves criptográficas e pela operação do HSMs. Independentemente de você usar o armazenamento de chaves padrão com AWS KMS HSMs ou um armazenamento de chaves personalizado, o serviço foi projetado para que ninguém, incluindo AWS funcionários, possa recuperar suas chaves de texto simples ou usá-las sem sua permissão. AWS KMS suporta dois tipos de armazenamentos de chaves personalizados, armazenamentos de AWS CloudHSM chaves e armazenamentos de chaves externos.

**Recursos sem suporte**

AWS KMS não oferece suporte aos seguintes recursos em armazenamentos de chaves personalizadas.
+ [Chaves do KMS assimétricas](symmetric-asymmetric.md)
+ [Chaves do KMS de HMAC](hmac.md)
+ [Chaves do KMS com material de chave importado](importing-keys.md)
+ [Alternância automática de chaves](rotate-keys.md)
+ [Chaves de várias regiões](multi-region-keys-overview.md)

### AWS CloudHSM armazenamento de chaves
<a name="hsm-store"></a>

 Você pode criar uma chave KMS em um armazenamento de [AWS CloudHSM](https://aws.amazon.com/kms/pricing/)chaves, onde as chaves do usuário raiz são geradas, armazenadas e usadas em um AWS CloudHSM cluster que você possui e gerencia. As solicitações AWS KMS para usar uma chave para alguma operação criptográfica são encaminhadas ao seu AWS CloudHSM cluster para realizar a operação. Embora um AWS CloudHSM cluster seja hospedado por AWS, ele é uma solução de inquilino único gerenciada e operada diretamente por você. Você possui grande parte da disponibilidade e do desempenho das chaves KMS em um AWS CloudHSM cluster. Para ver se um armazenamento de chaves AWS CloudHSM personalizadas é adequado às suas necessidades, leia [Os armazenamentos de chaves AWS KMS personalizadas são adequados para você?](https://aws.amazon.com/blogs/security/are-kms-custom-key-stores-right-for-you/) no blog AWS de segurança.

### Armazenamento de chaves externas
<a name="external-store"></a>

 Você pode configurar AWS KMS para usar um Armazenamento de Chaves Externo (XKS), onde as chaves do usuário raiz são geradas, armazenadas e usadas em um sistema de gerenciamento de chaves fora do Nuvem AWS. As solicitações para o AWS KMS usar uma chave para alguma operação criptográfica são encaminhadas ao seu sistema hospedado externamente realizar a operação. Mais especificamente, as solicitações são encaminhadas para um XKS Proxy em sua rede, que então encaminha a solicitação para qualquer sistema criptográfico que você usa. O XKS Proxy tem uma especificação de código aberto com a qual qualquer pessoa pode se integrar. Muitos fornecedores comerciais de gerenciamento de chaves são compatíveis com a especificação XKS Proxy. Como um repositório de chaves externo é hospedado por você ou por terceiros, você é o proprietário de toda a disponibilidade, durabilidade e desempenho das chaves no sistema. Para ver se um armazenamento externo de chaves é adequado às suas necessidades, leia [Anunciando o armazenamento AWS KMS externo de chaves (XKS) no blog](https://aws.amazon.com/blogs/aws/announcing-aws-kms-external-key-store-xks/) de AWS notícias.

# AWS CloudHSM lojas principais
<a name="keystore-cloudhsm"></a>

Um armazenamento de AWS CloudHSM chaves é um [armazenamento de chaves personalizado](key-store-overview.md#custom-key-store-overview) apoiado por um [AWS CloudHSM cluster](https://docs.aws.amazon.com/cloudhsm/latest/userguide/). Quando você cria um AWS KMS key em um armazenamento de chaves personalizado, AWS KMS gera e armazena material de chave não extraível para a chave KMS em um AWS CloudHSM cluster que você possui e gerencia. Quando você usa uma chave KMS em um armazenamento de chaves personalizado, as [operações criptográficas](manage-cmk-keystore.md#use-cmk-keystore) são executadas HSMs no cluster. Esse recurso combina a conveniência e a ampla integração do AWS KMS com o controle adicional de um AWS CloudHSM cluster em seu Conta da AWS. 

AWS KMS fornece suporte completo de console e API para criar, usar e gerenciar seus armazenamentos de chaves personalizadas. Use as chaves do KMS no seu armazenamento de chaves personalizado da mesma maneira que você usa qualquer chave do KMS. Por exemplo, você pode usar as chaves do KMS para gerar chaves de dados e criptografar dados. Você também pode usar as chaves KMS em seu armazenamento de chaves personalizadas com AWS serviços que oferecem suporte a chaves gerenciadas pelo cliente.

**Eu preciso de um armazenamento de chaves personalizado?**

Para a maioria dos usuários, o armazenamento de AWS KMS chaves padrão, protegido por [módulos criptográficos validados pelo FIPS 140-3](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4884), atende aos requisitos de segurança. Não é necessário adicionar uma camada extra de responsabilidade de manutenção nem uma dependência em um serviço adicional. 

No entanto, você pode considerar a criação de um armazenamento de chaves personalizado se a sua organização tiver um dos seguintes requisitos:
+ Algumas chaves precisam ser explicitamente protegidas em um único HSM locatário ou em um HSM sobre o qual você tem controle direto.
+ Você precisa da capacidade de remover imediatamente o material chave do AWS KMS.
+ Você precisa ser capaz de auditar todo o uso de suas chaves, independentemente de AWS KMS ou AWS CloudTrail.

**Como funcionam os armazenamentos de chaves personalizados?**

Cada armazenamento de chaves personalizadas está associado a um AWS CloudHSM cluster no seu Conta da AWS. Quando você conecta o armazenamento de chaves personalizadas ao cluster, AWS KMS cria a infraestrutura de rede para suportar a conexão. Em seguida, ele faz login no AWS CloudHSM cliente-chave no cluster usando as credenciais de um [usuário criptográfico dedicado](#concept-kmsuser) no cluster.

Você cria e gerencia seus armazenamentos de chaves personalizadas AWS KMS e cria e gerencia seus clusters de HSM em AWS CloudHSM. Ao criar AWS KMS keys em um armazenamento de chaves AWS KMS personalizado, você visualiza e gerencia as chaves KMS em AWS KMS. No entanto, você também pode visualizar e gerenciar seu material de chaves no AWS CloudHSM, do mesmo modo que para outras chaves no cluster.

![\[Gerenciar chaves do KMS em um armazenamento de chaves personalizado\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/kms-hsm-view.png)


Você pode [criar chaves KMS de criptografia simétrica com o material de chaves](create-cmk-keystore.md) gerado AWS KMS em seu armazenamento de chaves personalizadas. Em seguida, use as mesmas técnicas para visualizar e gerenciar as chaves KMS em seu armazenamento de chaves personalizadas que você usa para as chaves KMS no AWS KMS armazenamento de chaves. É possível controlar o acesso com políticas de chaves e do IAM, criar etiquetas e aliases, habilitar e desabilitar as chaves do KMS e programar a exclusão de chaves. Você pode usar as chaves KMS para [operações criptográficas](manage-cmk-keystore.md#use-cmk-keystore) e usá-las com AWS serviços que se integram com o. AWS KMS

Além disso, você tem controle total sobre o AWS CloudHSM cluster, incluindo a criação, a exclusão HSMs e o gerenciamento de backups. Você pode usar o AWS CloudHSM cliente e as bibliotecas de software compatíveis para visualizar, auditar e gerenciar o material de chaves de suas chaves KMS. Embora o armazenamento de chaves personalizadas esteja desconectado, AWS KMS não é possível acessá-lo e os usuários não podem usar as chaves KMS no armazenamento de chaves personalizadas para operações criptográficas. Essa camada adicional de controle torna os armazenamentos de chaves personalizados uma excelente solução para as organizações que necessitam dela.

**Por onde começar?**

Para criar e gerenciar um armazenamento de AWS CloudHSM chaves, você usa recursos de AWS KMS AWS CloudHSM e.

1. Comece em AWS CloudHSM. [Crie um cluster do AWS CloudHSM ativo](https://docs.aws.amazon.com/cloudhsm/latest/userguide/getting-started.html) ou selecione um cluster existente. O cluster deve ter pelo menos dois ativos HSMs em diferentes zonas de disponibilidade. Crie uma [conta de usuário de criptografia (CU) dedicado](#concept-kmsuser) nesse cluster para o AWS KMS. 

1. Em AWS KMS, [crie um armazenamento de chaves personalizado](create-keystore.md) associado ao AWS CloudHSM cluster selecionado. AWS KMS fornece uma interface de gerenciamento completa que permite criar, visualizar, editar e excluir seus repositórios de chaves personalizados.

1. Quando você estiver pronto para usar seu armazenamento de chaves personalizadas, [conecte-o ao AWS CloudHSM cluster associado](connect-keystore.md). AWS KMS cria a infraestrutura de rede necessária para suportar a conexão. Ele faz login no cluster usando as credenciais da conta de usuário de criptografia dedicado para que possa gerar e gerenciar o material de chaves no cluster.

1. Agora, você pode [criar chaves do KMS de criptografia simétrica em seu armazenamento personalizado de chaves](create-cmk-keystore.md). Basta especificar esse armazenamento de chaves personalizado ao criar a chave do KMS.

Se você ficar preso em alguma etapa, é possível encontrar ajuda no tópico [Solucionar problemas de um armazenamento de chaves personalizado](fix-keystore.md). Se a sua pergunta não for respondida, use o link de comentários na parte inferior de cada página deste guia ou publique uma pergunta no [fórum de discussão do AWS Key Management Service](https://repost.aws/tags/TAMC3vcPOPTF-rPAHZVRj1PQ/aws-key-management-service).

**Cotas**

AWS KMS permite até [10 armazenamentos de chaves personalizadas](resource-limits.md) em cada Conta da AWS região, incluindo armazenamentos de [AWS CloudHSM chaves e armazenamentos](https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html) de [chaves externos](https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html), independentemente do estado da conexão. Além disso, há cotas de AWS KMS solicitação sobre o [uso de chaves KMS em um AWS CloudHSM armazenamento de chaves](requests-per-second.md#rps-key-stores).

**Preços**

Para obter informações sobre o custo dos armazenamentos de chaves AWS KMS personalizadas e das chaves gerenciadas pelo cliente em um repositório de chaves personalizadas, consulte [AWS Key Management Service preços](https://aws.amazon.com/kms/pricing/). Para obter informações sobre o custo dos AWS CloudHSM clusters e HSMs, consulte [AWS CloudHSM Preços](https://aws.amazon.com/cloudhsm/pricing/).<a name="cks-regions"></a>

**Regiões**

AWS KMS oferece suporte às AWS CloudHSM principais lojas em todos os Regiões da AWS lugares onde AWS KMS há suporte, exceto na Ásia-Pacífico (Melbourne), China (Pequim), China (Ningxia) e Europa (Espanha).

**Recursos sem suporte**

AWS KMS não oferece suporte aos seguintes recursos em armazenamentos de chaves personalizadas.
+ [Chaves do KMS assimétricas](symmetric-asymmetric.md)
+ [Chaves do KMS de HMAC](hmac.md)
+ [Chaves do KMS com material de chave importado](importing-keys.md)
+ [Alternância automática de chaves](rotate-keys.md)
+ [Chaves de várias regiões](multi-region-keys-overview.md)

## AWS CloudHSM conceitos-chave da loja
<a name="hsm-key-store-concepts"></a>

Este tópico explica alguns dos termos e conceitos usados nas AWS CloudHSM principais lojas.

### AWS CloudHSM armazenamento de chaves
<a name="concept-hsm-key-store"></a>

Um *armazenamento de AWS CloudHSM chaves* é um [armazenamento de chaves personalizado](key-store-overview.md#custom-key-store-overview) associado a um AWS CloudHSM cluster que você possui e gerencia. AWS CloudHSM os clusters são apoiados por módulos de segurança de hardware (HSMs) certificados em [FIPS 140-2 ou FIPS 140-3 Nível 3](https://docs.aws.amazon.com/cloudhsm/latest/userguide/compliance.html).

Quando você cria uma chave KMS em seu armazenamento de chaves, AWS KMS gera uma AWS CloudHSM chave simétrica Advanced Encryption Standard (AES) persistente e não exportável de 256 bits no cluster associado. AWS CloudHSM Esse material chave nunca deixa você HSMs sem criptografia. Quando você usa uma chave KMS em um armazenamento de AWS CloudHSM chaves, as operações criptográficas são executadas HSMs no cluster. 

AWS CloudHSM os armazenamentos de chaves combinam a interface conveniente e abrangente de gerenciamento de chaves AWS KMS com os controles adicionais fornecidos por um AWS CloudHSM cluster em seu Conta da AWS. Esse recurso integrado permite que você crie, gerencie e use chaves KMS AWS KMS enquanto mantém controle total sobre quem armazena seu material de chaves, incluindo o gerenciamento de clusters e backups. HSMs HSMs Você pode usar o AWS KMS console e APIs gerenciar o armazenamento de AWS CloudHSM chaves e suas chaves KMS. Você também pode usar o AWS CloudHSM console APIs, o software cliente e as bibliotecas de software associadas para gerenciar o cluster associado.

Você pode [visualizar e gerenciar](view-keystore.md) seu armazenamento de AWS CloudHSM chaves, [editar suas propriedades](update-keystore.md) e [conectá-lo](connect-keystore.md) e [desconectá-lo](disconnect-keystore.md) do AWS CloudHSM cluster associado. Se precisar [excluir um armazenamento de AWS CloudHSM chaves](delete-keystore.md#delete-keystore-console), primeiro exclua as chaves KMS no armazenamento de chaves agendando sua exclusão e aguardando até que o período de carência expire. AWS CloudHSM A exclusão do armazenamento de AWS CloudHSM chaves remove o recurso AWS KMS, mas isso não afeta seu AWS CloudHSM cluster.

### AWS CloudHSM agrupamento
<a name="concept-cluster"></a>

Cada armazenamento de AWS CloudHSM chaves está associado a um *AWS CloudHSM cluster*. Quando você cria um AWS KMS key em seu armazenamento de AWS CloudHSM chaves, AWS KMS cria seu material de chaves no cluster associado. Quando você usa uma chave do KMS no armazenamento de chaves do AWS CloudHSM , a operação de criptografia é realizada no cluster associado.

Cada AWS CloudHSM cluster pode ser associado a apenas um armazenamento de AWS CloudHSM chaves. O cluster que você escolher não pode ser associado a outro armazenamento de AWS CloudHSM chaves nem compartilhar um histórico de backup com um cluster associado a outro armazenamento de AWS CloudHSM chaves. O cluster deve estar inicializado e ativo, e deve estar na mesma Conta da AWS região do armazenamento de AWS CloudHSM chaves. Você pode criar um novo cluster ou usar um existente. AWS KMS não precisa do uso exclusivo do cluster. Para criar chaves KMS no armazenamento de AWS CloudHSM chaves, seu cluster associado deve conter pelo menos duas ativas HSMs. Todas as outras operações exigem apenas um HSM.

Você especifica o AWS CloudHSM cluster ao criar o armazenamento de AWS CloudHSM chaves e não pode alterá-lo. No entanto, você pode substituir qualquer cluster que compartilha um histórico de backup pelo cluster original. Isso permite a você excluir o cluster, se necessário, e substituí-lo por um cluster criado a partir de um de seus backups. Você mantém o controle total do AWS CloudHSM cluster associado para poder gerenciar usuários e chaves, criar e excluir HSMs, usar e gerenciar backups. 

Quando estiver pronto para usar seu armazenamento de AWS CloudHSM chaves, conecte-o ao AWS CloudHSM cluster associado. Você pode conectar e desconectar o armazenamento de chaves personalizado a qualquer momento. Se o armazenamento de chaves personalizado estiver conectado, você poderá criar e usar suas chaves do KMS. Quando ele é desconectado, você pode visualizar e gerenciar o armazenamento de AWS CloudHSM chaves e suas chaves KMS. Mas você não pode criar novas chaves KMS nem usar as chaves KMS no armazenamento de chaves para AWS CloudHSM operações criptográficas.

### Usuário de criptografia `kmsuser`
<a name="concept-kmsuser"></a>

Para criar e gerenciar o material de chaves no AWS CloudHSM cluster associado em seu nome, AWS KMS use um *[usuário AWS CloudHSM criptográfico](https://docs.aws.amazon.com/cloudhsm/latest/userguide/hsm-users.html#crypto-user) (UC)* dedicado no cluster chamado`kmsuser`. A `kmsuser` UC é uma conta de UC padrão que é automaticamente sincronizada com tudo HSMs no cluster e salva nos backups do cluster. 

Antes de criar seu armazenamento de AWS CloudHSM chaves, você [cria uma conta de `kmsuser` UC](create-keystore.md#before-keystore) em seu AWS CloudHSM cluster usando o comando [https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-user-cloudhsm-cli.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-user-cloudhsm-cli.html) na CLI do CloudHSM. Em seguida, ao [criar o armazenamento de AWS CloudHSM chaves](create-keystore.md), você fornece a senha da `kmsuser` conta para AWS KMS. Quando você [conecta o armazenamento de chaves personalizadas](connect-keystore.md), AWS KMS efetua login no cluster como a `kmsuser` UC e alterna sua senha. AWS KMS criptografa sua `kmsuser` senha antes de armazená-la com segurança. Quando a senha é alternada, a nova senha é criptografada e armazenada da mesma maneira.

AWS KMS permanece conectado `kmsuser` enquanto o armazenamento de AWS CloudHSM chaves estiver conectado. Você não deve usar essa conta CU para outros fins. No entanto, você mantém o controle final do CU da conta `kmsuser`. A qualquer momento, você pode [encontrar as chaves](find-key-material.md) que pertencem ao `kmsuser`. Se necessário, você pode [desconectar o repositório de chaves personalizado](disconnect-keystore.md), alterar a senha do `kmsuser`, [fazer login no cluster como `kmsuser`](fix-keystore.md#fix-login-as-kmsuser) e exibir e gerenciar as chaves pertencentes ao `kmsuser`.

Para obter instruções sobre como criar sua conta CU `kmsuser`, consulte [Criar o Usuário de criptografia `kmsuser`](create-keystore.md#before-keystore).

### Chaves KMS em um armazenamento de AWS CloudHSM chaves
<a name="concept-cmk-key-store"></a>

Você pode usar a AWS KMS API AWS KMS ou para criar um AWS KMS keys em um armazenamento de AWS CloudHSM chaves. Use a mesma técnica que você usaria em qualquer chave do KMS. A única diferença é que você deve identificar o armazenamento de AWS CloudHSM chaves e especificar que a origem do material da chave é o AWS CloudHSM cluster. 

Quando você [cria uma chave KMS em um armazenamento de chaves, AWS KMS cria a AWS CloudHSM chave](create-cmk-keystore.md) KMS AWS KMS e gera um material de chave simétrica Advanced Encryption Standard (AES) persistente e não exportável de 256 bits em seu cluster associado. Quando você usa a AWS KMS chave em uma operação criptográfica, a operação é executada no AWS CloudHSM cluster usando a chave AES baseada em cluster. Embora AWS CloudHSM ofereça suporte a chaves simétricas e assimétricas de diferentes tipos, os armazenamentos de chaves oferecem suporte somente a AWS CloudHSM chaves de criptografia simétricas AES.

Você pode visualizar as chaves KMS em um armazenamento de AWS CloudHSM chaves no AWS KMS console e usar as opções do console para exibir a ID personalizada do armazenamento de chaves. Você também pode usar a [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)operação para encontrar o ID do armazenamento de AWS CloudHSM chaves e o ID AWS CloudHSM do cluster.

As chaves KMS em um armazenamento de chaves funcionam exatamente como qualquer AWS CloudHSM chave KMS em. AWS KMS Os usuários autorizados precisam das mesmas permissões para usar e gerenciar as chaves do KMS. Você usa os mesmos procedimentos de console e operações de API para visualizar e gerenciar as chaves KMS em um armazenamento de AWS CloudHSM chaves. Isso inclui a habilitar e desabilitar chaves do KMS, criar e usar etiquetas e aliases e definir e alterar políticas de chaves e do IAM. Você pode usar as chaves KMS em um AWS CloudHSM armazenamento de chaves para operações criptográficas e usá-las com [AWS serviços integrados](service-integration.md) que oferecem suporte ao uso de chaves gerenciadas pelo cliente. No entanto, você não pode ativar a [rotação automática](rotate-keys.md) de chaves ou [importar material de chaves para uma chave](importing-keys.md) KMS em um armazenamento de chaves. AWS CloudHSM 

Você também usa o mesmo processo para [agendar a exclusão](deleting-keys.md#delete-cmk-keystore) de uma chave KMS em um armazenamento de AWS CloudHSM chaves. Depois que o período de espera expirar, AWS KMS exclui a chave KMS do KMS. Em seguida, ele se esforça ao máximo para excluir o material da chave KMS do AWS CloudHSM cluster associado. No entanto, pode ser necessário [excluir manualmente o material de chaves órfãs](fix-keystore.md#fix-keystore-orphaned-key) do cluster e de seus backups.

# Controle o acesso à sua loja de AWS CloudHSM chaves
<a name="authorize-key-store"></a>

Você usa políticas do IAM para controlar o acesso ao seu armazenamento de AWS CloudHSM chaves e ao seu AWS CloudHSM cluster. Você pode usar políticas de chaves, políticas de IAM e concessões para controlar o acesso ao AWS KMS keys em seu armazenamento de AWS CloudHSM chaves. Recomendamos que você forneça aos usuários, grupos e funções apenas as permissões que precisam para as tarefas que possivelmente executarão.

Para oferecer suporte aos seus AWS CloudHSM principais armazenamentos, AWS KMS precisa de permissão para obter informações sobre seus AWS CloudHSM clusters. Ele também precisa de permissão para criar a infraestrutura de rede que conecta seu armazenamento de AWS CloudHSM chaves ao AWS CloudHSM cluster. Para obter essas permissões, AWS KMS crie a função **AWSServiceRoleForKeyManagementServiceCustomKeyStores**vinculada ao serviço em seu. Conta da AWS Para obter mais informações, consulte [Autorização AWS KMS para gerenciar recursos AWS CloudHSM do Amazon EC2](authorize-kms.md).

Ao projetar seu armazenamento de AWS CloudHSM chaves, certifique-se de que os diretores que o usam e gerenciam tenham apenas as permissões necessárias. A lista a seguir descreve as permissões mínimas necessárias para os AWS CloudHSM principais gerentes e usuários da loja.
+ Os diretores que criam e gerenciam seu armazenamento de AWS CloudHSM chaves precisam da seguinte permissão para usar as operações da API do armazenamento de AWS CloudHSM chaves.
  + `cloudhsm:DescribeClusters`
  + `kms:CreateCustomKeyStore`
  + `kms:ConnectCustomKeyStore`
  + `kms:DeleteCustomKeyStore`
  + `kms:DescribeCustomKeyStores`
  + `kms:DisconnectCustomKeyStore`
  + `kms:UpdateCustomKeyStore`
  + `iam:CreateServiceLinkedRole`
+ Os diretores que criam e gerenciam o AWS CloudHSM cluster associado ao seu armazenamento de AWS CloudHSM chaves precisam de permissão para criar e inicializar um AWS CloudHSM cluster. Isso inclui permissão para criar ou usar uma Amazon Virtual Private Cloud (VPC), criar sub-redes e criar uma instância da Amazon. EC2 Talvez eles também precisem criar HSMs, excluir e gerenciar backups. Para obter as listas das permissões necessárias, consulte [Identity and access management for AWS CloudHSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/identity-access-management.html) (Gerenciamento de identidade e acesso para o ) no *Guia do usuário do AWS CloudHSM *.
+ Os diretores que criam e gerenciam AWS KMS keys em seu armazenamento de AWS CloudHSM chaves exigem [as mesmas permissões](create-keys.md#create-key-permissions) que aqueles que criam e gerenciam qualquer chave KMS em. AWS KMS A [política de chaves padrão](key-policy-default.md) para uma chave KMS em um armazenamento de AWS CloudHSM chaves é idêntica à política de chaves padrão para chaves KMS em. AWS KMS O [controle de acesso baseado em atributos](abac.md) (ABAC), que usa tags e aliases para controlar o acesso às chaves KMS, também é eficaz nas chaves KMS nos armazenamentos de chaves. AWS CloudHSM 
+ [Os diretores que usam as chaves KMS em seu AWS CloudHSM armazenamento de chaves para [operações criptográficas](manage-cmk-keystore.md#use-cmk-keystore) precisam de permissão para realizar a operação criptográfica com a chave KMS, como kms:Decrypt.](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) Você pode fornecer essas permissões em uma política de chaves, política do IAM. Porém, eles não precisam de nenhuma permissão adicional para usar uma chave KMS em um armazenamento de AWS CloudHSM chaves.

# Crie um armazenamento de AWS CloudHSM chaves
<a name="create-keystore"></a>

Você pode criar um ou vários armazenamentos de AWS CloudHSM chaves em sua conta. Cada armazenamento de AWS CloudHSM chaves está associado a um AWS CloudHSM cluster na mesma Conta da AWS região. Antes de criar o armazenamento de chaves do AWS CloudHSM , você precisa [organizar os pré-requisitos](#before-keystore). Então, antes de poder usar seu armazenamento de AWS CloudHSM chaves, você deve [conectá-lo](connect-keystore.md) ao AWS CloudHSM cluster.

**Observações**  
O KMS não pode se comunicar IPv6 com as AWS CloudHSM principais lojas.  
Se você tentar criar um armazenamento de AWS CloudHSM chaves com todos os mesmos valores de propriedade de um armazenamento de AWS CloudHSM chaves *desconectado* existente, AWS KMS não criará um novo armazenamento de AWS CloudHSM chaves e não gerará uma exceção nem exibirá um erro. Em vez disso, AWS KMS reconhece a duplicata como a provável consequência de uma nova tentativa e retorna a ID do armazenamento de chaves existente AWS CloudHSM .   
Você não precisa conectar seu armazenamento de AWS CloudHSM chaves 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](connect-keystore.md),[ visualizar o estado da conexão](view-keystore.md) e [desconectá-lo](disconnect-keystore.md).

**Topics**
+ [

## Organizar os pré-requisitos
](#before-keystore)
+ [

## Criar um novo repositório de AWS CloudHSM chaves
](#create-hsm-keystore)

## Organizar os pré-requisitos
<a name="before-keystore"></a>

Cada armazenamento de AWS CloudHSM chaves é apoiado por um AWS CloudHSM cluster. Para criar um armazenamento de AWS CloudHSM chaves, você deve especificar um AWS CloudHSM cluster ativo que ainda não esteja associado a outro armazenamento de chaves. Você também precisa criar um usuário criptográfico (UC) dedicado no cluster HSMs que AWS KMS possa ser usado para criar e gerenciar chaves em seu nome.

Antes de criar um armazenamento de AWS CloudHSM chaves, faça o seguinte:

**Selecione um AWS CloudHSM cluster**  
Cada armazenamento de AWS CloudHSM chaves está [associado a exatamente um AWS CloudHSM cluster](keystore-cloudhsm.md#concept-cluster). Quando você cria AWS KMS keys em seu armazenamento de AWS CloudHSM chaves, AWS KMS cria os metadados da chave KMS, como um ID e um nome de recurso da Amazon (ARN) em. AWS KMS Em seguida, ele cria o HSMs material chave no cluster associado. Você pode [criar um novo AWS CloudHSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/getting-started.html) cluster ou usar um existente. AWS KMS não exige acesso exclusivo ao cluster.  
O AWS CloudHSM cluster que você seleciona está permanentemente associado ao armazenamento de AWS CloudHSM chaves. Depois de criar o armazenamento de AWS CloudHSM chaves, você pode [alterar a ID](update-keystore.md) do cluster associado, mas o cluster especificado deve compartilhar um histórico de backup com o cluster original. Para usar um cluster não relacionado, você precisa criar um novo armazenamento de AWS CloudHSM chaves.  
O AWS CloudHSM cluster selecionado deve ter as seguintes características:  
+ **O cluster deve estar ativo**. 

  Você deve criar o cluster, inicializá-lo, instalar o software AWS CloudHSM cliente para sua plataforma e, em seguida, ativar o cluster. Para obter instruções detalhadas, consulte [Conceitos básicos do AWS CloudHSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/getting-started.html) 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** do armazenamento de AWS CloudHSM chaves. Você não pode associar um armazenamento de AWS CloudHSM chaves em uma região a um cluster em uma região diferente. Para criar uma infraestrutura chave em várias regiões, você deve criar armazenamentos e clusters de AWS CloudHSM chaves em cada região.
+ **Não é possível associar o cluster a outro armazenamento personalizado de chaves** na mesma conta e região. Cada armazenamento de AWS CloudHSM chaves na conta e na região deve estar associado a um AWS CloudHSM cluster diferente. 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 AWS CloudHSM console ou a [DescribeClusters](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html)operação.

  Se você [fizer backup de um cluster do AWS CloudHSM em uma região diferente](https://docs.aws.amazon.com/cloudhsm/latest/userguide/copy-backup-to-region.html), ele será considerado um cluster diferente e você poderá associar o backup a um armazenamento personalizado de chaves na região dele. No entanto, as chaves KMS nos dois armazenamentos de chaves personalizadas não são interoperáveis, mesmo que tenham a mesma chave de apoio. AWS KMS vincula os metadados ao texto cifrado para que eles possam ser descriptografados somente pela chave KMS que os criptografou.
+ O cluster deve ser configurado com [sub-redes privadas](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-subnets.html) em **pelo menos duas zonas de disponibilidade** na região. Como não AWS CloudHSM é compatível com todas as zonas de disponibilidade, recomendamos que você crie sub-redes privadas em todas as zonas de disponibilidade da região. Você não pode reconfigurar as sub-redes para um cluster existente, mas pode [criar um cluster a partir de um backup](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html) com diferentes sub-redes na configuração do cluster.
**Importante**  
Depois de criar seu armazenamento de AWS CloudHSM chaves, não exclua nenhuma das sub-redes privadas configuradas para seu AWS CloudHSM cluster. Se AWS KMS não conseguir encontrar todas as sub-redes na configuração do cluster, as tentativas de [conexão com o armazenamento de chaves personalizadas](connect-keystore.md) falharão com um estado de erro de `SUBNET_NOT_FOUND` conexão. Para obter detalhes, consulte [Como corrigir uma falha de conexão](fix-keystore.md#fix-keystore-failed).
+ O [grupo de segurança do cluster](https://docs.aws.amazon.com/cloudhsm/latest/userguide/configure-sg.html) (`cloudhsm-cluster-<cluster-id>-sg`) deve incluir regras de entrada e regras de saída que permitam a passagem do tráfego TCP nas portas IPv4 2223-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.
+ **O cluster deve conter pelo menos dois ativos HSMs** em diferentes zonas de disponibilidade. Para verificar o número de HSMs, use o AWS CloudHSM console ou a [DescribeClusters](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html)operação. Se necessário, você pode [adicionar um HSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/add-remove-hsm.html#add-hsm).

**Localizar o certificado da âncora de confiança**  
Ao criar um armazenamento de chaves personalizado, você deve carregar o certificado de âncora confiável para o AWS CloudHSM cluster. AWS KMS AWS KMS precisa do certificado de âncora confiável para conectar o armazenamento de AWS CloudHSM chaves ao AWS CloudHSM cluster associado.  
Cada AWS CloudHSM cluster ativo tem um *certificado de âncora confiável*. Ao [inicializar o cluster](https://docs.aws.amazon.com/cloudhsm/latest/userguide/initialize-cluster.html#sign-csr), você gera esse certificado, salve-o no `customerCA.crt` arquivo e copie-o em hosts que se conectam ao cluster.

**Crie o usuário `kmsuser` criptográfico para AWS KMS**  <a name="kmsuser-concept"></a>
Para administrar seu armazenamento de AWS CloudHSM chaves, faça AWS KMS login na conta de [usuário `kmsuser` criptográfico](keystore-cloudhsm.md#concept-kmsuser) (CU) no cluster selecionado. Antes de criar seu armazenamento de AWS CloudHSM chaves, você deve criar a `kmsuser` UC. Então, ao criar seu armazenamento de AWS CloudHSM chaves, você fornece a senha `kmsuser` para AWS KMS. Sempre que você conectar o armazenamento de AWS CloudHSM chaves ao AWS CloudHSM cluster associado, AWS KMS efetua login como `kmsuser` e alterna a senha `kmsuser`   
Não especifique a opção `2FA` ao criar o CU do `kmsuser`. Se você fizer isso, AWS KMS não poderá fazer login e seu armazenamento de AWS CloudHSM chaves não poderá ser conectado a esse AWS CloudHSM cluster. 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](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli.html). A CLI do CloudHSM substitui `key-handle` por `key-reference`.  
Em 1º de janeiro de 2025, 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](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-migrate-from-kmu-cmu.html) no *Guia do usuário do AWS CloudHSM *.

1. Siga os procedimentos de conceitos básicos conforme descritos no tópico [Getting started with CloudHSM Command Line Interface (CLI)](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-getting-started.html) do *Guia do usuário do AWS CloudHSM *.

1. Use o comando [https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-user-cloudhsm-cli.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-user-cloudhsm-cli.html) 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-user
   Enter password:
   Confirm password:
   {
    "error_code": 0,
    "data": {
      "username": "kmsuser",
      "role": "crypto-user"
    }
   }
   ```

## Criar um novo repositório de AWS CloudHSM chaves
<a name="create-hsm-keystore"></a>

Depois de [montar os pré-requisitos](#before-keystore), você pode criar um novo armazenamento de AWS CloudHSM chaves no AWS KMS console ou usando a operação. [CreateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html)

### Usando o AWS KMS console
<a name="create-keystore-console"></a>

Ao criar um armazenamento de AWS CloudHSM chaves no Console de gerenciamento da AWS, você pode adicionar e criar os [pré-requisitos](#before-keystore) como parte do seu fluxo de trabalho. No entanto, o processo é mais rápido quando eles são organizados com antecedência.

1. Faça login no console Console de gerenciamento da AWS e abra o AWS Key Management Service (AWS KMS) em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

1. No painel de navegação, selecione **Custom key stores** (Repositórios de chaves personalizados), **AWS CloudHSM key stores** (Repositórios de chaves do ).

1. Selecione **Create key store** (Criar armazenamento de chaves).

1. 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 em CloudTrail registros e outras saídas.

1. Selecione [um AWS CloudHSM cluster](keystore-cloudhsm.md#concept-cluster) para o armazenamento de AWS CloudHSM chaves. Ou, para criar um novo AWS CloudHSM cluster, escolha o link **Criar um AWS CloudHSM cluster**.

   O menu exibe os AWS CloudHSM clusters em sua conta e região que ainda não estão associados a um armazenamento de AWS CloudHSM chaves. O cluster deve [cumprir os requisitos](#before-keystore) para associação com um armazenamento de chaves personalizado. 

1. **Escolha Escolher arquivo** e, em seguida, carregue o certificado de âncora confiável para o AWS CloudHSM cluster que você escolheu. Esse é o arquivo `customerCA.crt` que você criou ao [inicializar o cluster](https://docs.aws.amazon.com/cloudhsm/latest/userguide/initialize-cluster.html#sign-csr).

1. Insira a senha [do usuário de criptografia `kmsuser`](keystore-cloudhsm.md#concept-kmsuser) (CU) que você criou no cluster selecionado. 

1. Escolha **Criar**.

Quando o procedimento for bem-sucedido, o novo armazenamento de AWS CloudHSM chaves aparecerá na lista de armazenamentos de AWS CloudHSM chaves na conta e na 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](fix-keystore.md).

Se você tentar criar um armazenamento de AWS CloudHSM chaves com todos os mesmos valores de propriedade de um armazenamento de AWS CloudHSM chaves *desconectado* existente, AWS KMS não criará um novo armazenamento de AWS CloudHSM chaves e não gerará uma exceção nem exibirá um erro. Em vez disso, AWS KMS reconhece a duplicata como a provável consequência de uma nova tentativa e retorna a ID do armazenamento de chaves existente AWS CloudHSM . 

**Próximo**: Os novos armazenamentos de AWS CloudHSM chaves não são conectados automaticamente. Antes de criar AWS KMS keys no armazenamento de AWS CloudHSM chaves, você deve [conectar o armazenamento de chaves personalizadas](connect-keystore.md) ao AWS CloudHSM cluster associado.

### Usando a AWS KMS API
<a name="create-keystore-api"></a>

Você pode usar a [CreateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html)operação para criar um novo armazenamento de AWS CloudHSM chaves associado a um AWS CloudHSM cluster na conta e na 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 personalizadas que é exclusivo na conta.
**Importante**  
Não inclua informações confidenciais ou sigilosas nesse campo. Esse campo pode ser exibido em texto simples em CloudTrail registros e outras saídas.
+ CloudHsmClusterId — O ID do cluster de um AWS CloudHSM cluster que [atende aos requisitos](#before-keystore) de um armazenamento de AWS CloudHSM chaves.
+ KeyStorePassword — A senha da conta `kmsuser` UC no cluster especificado. 
+ TrustAnchorCertificate — O conteúdo do `customerCA.crt` arquivo que você criou quando [inicializou o cluster](https://docs.aws.amazon.com/cloudhsm/latest/userguide/initialize-cluster.html).

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-name ExampleCloudHSMKeyStore \
        --cloud-hsm-cluster-id cluster-1a23b4cdefg \
        --key-store-password kmsPswd \
        --trust-anchor-certificate <certificate-goes-here>
```

Se você estiver usando o AWS CLI, poderá especificar o arquivo de certificado âncora confiável, 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-name ExampleCloudHSMKeyStore \
        --cloud-hsm-cluster-id cluster-1a23b4cdefg \
        --key-store-password kmsPswd \
        --trust-anchor-certificate file://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](fix-keystore.md).

Se você tentar criar um armazenamento de AWS CloudHSM chaves com todos os mesmos valores de propriedade de um armazenamento de AWS CloudHSM chaves *desconectado* existente, AWS KMS não criará um novo armazenamento de AWS CloudHSM chaves e não gerará uma exceção nem exibirá um erro. Em vez disso, AWS KMS reconhece a duplicata como a provável consequência de uma nova tentativa e retorna a ID do armazenamento de chaves existente AWS CloudHSM . 

**Próximo**: Para usar o armazenamento de AWS CloudHSM chaves, [conecte-o ao AWS CloudHSM cluster](connect-keystore.md).

# Exibir uma loja de AWS CloudHSM chaves
<a name="view-keystore"></a>

Você pode ver os AWS CloudHSM principais armazenamentos em cada conta e região usando o AWS KMS console ou a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação. 

## Usando o AWS KMS console
<a name="view-keystore-console"></a>

Ao visualizar os armazenamentos de AWS CloudHSM chaves no Console de gerenciamento da AWS, você pode ver o seguinte:
+ O nome e ID do armazenamento de chaves personalizado
+ O ID do AWS CloudHSM cluster associado
+ O número de HSMs no cluster
+ O estado da conexão atual

Um valor de estado de conexão (**Status**) de **Desconectado** indica que o armazenamento de chaves personalizadas é novo e nunca foi conectado, ou foi intencionalmente [desconectado de](disconnect-keystore.md) seu cluster. AWS CloudHSM No entanto, se suas tentativas de usar uma chave KMS em um armazenamento de chaves personalizadas conectado falharem, isso pode indicar um problema com o armazenamento de chaves personalizadas ou seu AWS CloudHSM cluster. Para obter ajuda, consulte [Como corrigir uma chave do KMS com falha](fix-keystore.md#fix-cmk-failed).

Para visualizar os armazenamentos de AWS CloudHSM chaves em uma determinada conta e região, use o procedimento a seguir.

1. Faça login no console Console de gerenciamento da AWS e abra o AWS Key Management Service (AWS KMS) em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

1. No painel de navegação, selecione **Custom key stores** (Repositórios de chaves personalizados), **AWS CloudHSM key stores** (Repositórios de chaves do ).

Para personalizar a exibição, clique no ícone de engrenagem que aparece abaixo do botão **Create key store (Criar armazenamento de chaves)**.

## Usando a AWS KMS API
<a name="view-keystore-api"></a>

Para visualizar suas lojas de AWS CloudHSM chaves, use a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação. Por padrão, essa operação retorna todos os armazenamentos de chaves personalizados na conta e região. No entanto, você pode usar o parâmetro `CustomKeyStoreId` ou `CustomKeyStoreName` (mas não ambos) para limitar o resultado para um determinado armazenamento de chaves personalizado. Para armazenamentos de AWS CloudHSM chaves, a saída consiste no ID e nome do armazenamento de chaves personalizadas, no tipo de armazenamento de chaves personalizadas, na ID do AWS CloudHSM cluster associado e no estado da conexão. Se o estado da conexão indica um erro, o resultado também inclui um código de erro que descreve o motivo do erro.

Os exemplos nesta seção usam a [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/), mas você pode usar qualquer linguagem de programação compatível. 

Por exemplo, o comando a seguir retorna todos os armazenamentos de chaves personalizados na conta e região. Você pode usar os parâmetros `Marker` e `Limit` para percorrer os armazenamentos de chaves personalizados do resultado.

```
$ aws kms describe-custom-key-stores
```

O comando de exemplo a seguir usa o parâmetro `CustomKeyStoreName` para obter apenas o armazenamento de chaves personalizado com o nome amigável `ExampleCloudHSMKeyStore`. É possível usar o parâmetro `CustomKeyStoreName` ou `CustomKeyStoreId` (mas não ambos) em cada comando.

O exemplo de saída a seguir representa um armazenamento de AWS CloudHSM chaves conectado ao seu AWS CloudHSM cluster.

**nota**  
O `CustomKeyStoreType` campo foi adicionado à `DescribeCustomKeyStores` resposta para distinguir os armazenamentos de AWS CloudHSM chaves dos armazenamentos de chaves externos.

```
$ aws kms describe-custom-key-stores --custom-key-store-name ExampleCloudHSMKeyStore
{
   "CustomKeyStores": [ 
      { 
         "CloudHsmClusterId": "cluster-1a23b4cdefg",
         "ConnectionState": "CONNECTED",
         "CreationDate": "1.499288695918E9",
         "CustomKeyStoreId": "cks-1234567890abcdef0",
         "CustomKeyStoreName": "ExampleCloudHSMKeyStore",
         "CustomKeyStoreType": "AWS_CLOUDHSM",
         "TrustAnchorCertificate": "<certificate appears here>"
      }
   ]
}
```

Um `ConnectionState` de `Disconnected` indica que um armazenamento de chaves personalizadas nunca foi conectado ou foi intencionalmente [desconectado de seu AWS CloudHSM cluster](disconnect-keystore.md). No entanto, se as tentativas de usar uma chave KMS em um armazenamento de AWS CloudHSM chaves conectado falharem, isso pode indicar um problema com o armazenamento de AWS CloudHSM chaves ou seu AWS CloudHSM cluster. Para obter ajuda, consulte [Como corrigir uma chave do KMS com falha](fix-keystore.md#fix-cmk-failed).

Quando o `ConnectionState` do armazenamento de chaves personalizado `FAILED`, a resposta `DescribeCustomKeyStores` inclui um elemento `ConnectionErrorCode` que explica o motivo desse erro.

Por exemplo, no resultado a seguir, o valor `INVALID_CREDENTIALS` indica que a conexão do armazenamento de chaves personalizado falhou porque a senha [`kmsuser` é inválido](fix-keystore.md#fix-keystore-password). Para obter ajuda com relação a esta e outras falhas de erro de conexão, consulte [Solucionar problemas de um armazenamento de chaves personalizado](fix-keystore.md).

```
$ aws kms describe-custom-key-stores --custom-key-store-id cks-1234567890abcdef0
{
   "CustomKeyStores": [ 
      { 
         "CloudHsmClusterId": "cluster-1a23b4cdefg",
         "ConnectionErrorCode": "INVALID_CREDENTIALS",
         "ConnectionState": "FAILED",
         "CustomKeyStoreId": "cks-1234567890abcdef0",
         "CustomKeyStoreName": "ExampleCloudHSMKeyStore",
         "CustomKeyStoreType": "AWS_CLOUDHSM",
         "CreationDate": "1.499288695918E9",
         "TrustAnchorCertificate": "<certificate appears here>"
      }
   ]
}
```

**Saiba mais:**
+ [Visualizar repositórios de chaves externos](view-xks-keystore.md)
+ [Identificar chaves KMS em lojas de AWS CloudHSM chaves](identify-key-types.md#identify-key-hsm-keystore)
+ [Registrando chamadas de AWS KMS API com AWS CloudTrail](logging-using-cloudtrail.md)

# Editar configurações de armazenamento de AWS CloudHSM chaves
<a name="update-keystore"></a>

Você pode alterar as configurações de um armazenamento de AWS CloudHSM chaves existente. O armazenamento de chaves personalizadas deve estar desconectado de seu AWS CloudHSM cluster.

Para editar as configurações do armazenamento de AWS CloudHSM chaves:

1. [Desconectar o armazenamento de chaves personalizado](disconnect-keystore.md) do cluster do AWS CloudHSM .

   [Enquanto o armazenamento de chaves personalizadas estiver desconectado, você não pode criar AWS KMS keys (chaves KMS) no armazenamento de chaves personalizadas e não pode usar as chaves KMS que ele contém para operações criptográficas.](manage-cmk-keystore.md#use-cmk-keystore) 

1. Edite uma ou mais das configurações do armazenamento de AWS CloudHSM chaves.

   Você pode editar as seguintes configurações em um armazenamento de chaves personalizado:  
O nome amigável do armazenamento de chaves personalizado.  
Inserir um novo nome amigável. O novo nome deve ser exclusivo entre todos os armazenamentos de chaves personalizadas em seu Conta da AWS.  
Não inclua informações confidenciais ou sigilosas nesse campo. Esse campo pode ser exibido em texto simples em CloudTrail registros e outras saídas.  
O ID do AWS CloudHSM cluster associado.  
Edite esse valor para substituir um AWS CloudHSM cluster relacionado pelo original. Você pode usar esse recurso para reparar um armazenamento de chaves personalizado se o AWS CloudHSM cluster for corrompido ou excluído.   
Especifique um AWS CloudHSM cluster que compartilhe um histórico de backup com o cluster original e [atenda aos requisitos](create-keystore.md#before-keystore) de associação com um armazenamento de chaves personalizado, incluindo dois ativos HSMs em diferentes zonas de disponibilidade. 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 a [DescribeClusters](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html)operação. Você não pode usar o recurso de edição para associar o armazenamento de chaves personalizado a um cluster do AWS CloudHSM não relacionado.   
A senha atual do [`kmsuser` usuário de criptografia](keystore-cloudhsm.md#concept-kmsuser) (CU).  
Informa AWS KMS a senha atual da `kmsuser` UC no AWS CloudHSM cluster. Essa ação não altera a senha da `kmsuser` UC no AWS CloudHSM cluster.  
Se você alterar a senha da `kmsuser` UC no AWS CloudHSM cluster, use esse recurso para informar AWS KMS a nova `kmsuser` senha. Caso contrário, o AWS KMS não poderá fazer login no cluster, e todas as tentativas de conectar o armazenamento de chaves personalizado ao cluster falham. 

1. [Reconectar o armazenamento de chaves personalizado](connect-keystore.md) ao cluster do AWS CloudHSM .

## Editar as configurações de repositório de chaves
<a name="edit-keystore-settings"></a>

Você pode editar suas configurações de armazenamento de AWS CloudHSM chaves no AWS KMS console ou usando a [UpdateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateCustomKeyStore.html)operação.

### Usando o AWS KMS console
<a name="update-keystore-console"></a>

Ao editar um armazenamento de AWS CloudHSM chaves, você pode alterar qualquer um dos valores configuráveis.

1. Faça login no console Console de gerenciamento da AWS e abra o AWS Key Management Service (AWS KMS) em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

1. No painel de navegação, selecione **Custom key stores** (Repositórios de chaves personalizados), **AWS CloudHSM key stores** (Repositórios de chaves do ).

1. Escolha a linha do armazenamento de AWS CloudHSM chaves que você deseja editar. 

   Se o valor na coluna **Connection state** (Estado da conexão) não for **Disconnected** (Desconectado), você deverá desconectar o armazenamento de chaves personalizado para editá-lo. (No menu **Key store actions** (Ações do armazenamento de chaves), escolha **Disconnect** [Desconectar].)

   Enquanto um armazenamento de AWS CloudHSM chaves está desconectado, você pode gerenciar o armazenamento de AWS CloudHSM chaves e suas chaves KMS, mas não pode criar ou usar chaves KMS no AWS CloudHSM armazenamento de chaves. 

1. No menu **Key store actions** (Ações do armazenamento de chaves), escolha **Edit** (Editar).

1. Faça uma ou mais das ações a seguir.
   + Digite um novo nome amigável para o armazenamento de chaves personalizado.
   + Digite o ID do cluster de um AWS CloudHSM cluster relacionado.
   + Digite a senha atual do usuário `kmsuser` criptográfico no AWS CloudHSM cluster associado.

1. Escolha **Salvar**.

   Se o procedimento for bem-sucedido, uma mensagem descreverá as configurações que você editou. Se 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](fix-keystore.md).

1. [Reconecte o armazenamento de chaves personalizado](connect-keystore.md).

   Para usar o armazenamento de AWS CloudHSM chaves, você deve reconectá-lo após a edição. Você pode deixar o armazenamento de chaves do AWS CloudHSM desconectado. [Mas enquanto estiver desconectado, você não poderá criar chaves KMS no armazenamento de chaves nem usar as AWS CloudHSM chaves KMS no armazenamento de chaves em operações AWS CloudHSM criptográficas.](manage-cmk-keystore.md#use-cmk-keystore)

### Usando a AWS KMS API
<a name="update-keystore-api"></a>

Para alterar as propriedades de um armazenamento de AWS CloudHSM chaves, use a [UpdateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateCustomKeyStore.html)operação. Você pode alterar várias propriedades de um armazenamento de chaves personalizado no mesmo comando. Se a operação for bem-sucedida, AWS KMS retornará uma resposta HTTP 200 e um objeto JSON sem propriedades. Para verificar se as alterações são efetivas, use a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação.

Os exemplos nesta seção usam a [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/), mas você pode usar qualquer linguagem de programação compatível. 

Comece usando [DisconnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisconnectCustomKeyStore.html)para [desconectar o armazenamento de chaves personalizadas](disconnect-keystore.md) de seu AWS CloudHSM cluster. Substitua o exemplo de ID de armazenamento de chaves personalizado, cks-1234567890abcdef0, por um ID real.

```
$ aws kms disconnect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
```

O primeiro exemplo usa [UpdateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateCustomKeyStore.html)para alterar o nome amigável do armazenamento de AWS CloudHSM chaves para`DevelopmentKeys`. O comando usa o `CustomKeyStoreId` parâmetro para identificar o armazenamento de AWS CloudHSM chaves e `CustomKeyStoreName` para especificar o novo nome para o armazenamento de chaves personalizado.

```
$ aws kms update-custom-key-store --custom-key-store-id cks-1234567890abcdef0 --new-custom-key-store-name DevelopmentKeys
```

O exemplo a seguir altera o cluster associado a um armazenamento de AWS CloudHSM chaves para outro backup do mesmo cluster. O comando usa o `CustomKeyStoreId` parâmetro para identificar o armazenamento de AWS CloudHSM chaves e o `CloudHsmClusterId` parâmetro para especificar o novo ID do cluster. 

```
$ aws kms update-custom-key-store --custom-key-store-id cks-1234567890abcdef0 --cloud-hsm-cluster-id cluster-1a23b4cdefg
```

O exemplo a seguir indica AWS KMS que a `kmsuser` senha atual é`ExamplePassword`. O comando usa o `CustomKeyStoreId` parâmetro para identificar o armazenamento de AWS CloudHSM chaves e o `KeyStorePassword` parâmetro para especificar a senha atual.

```
$ aws kms update-custom-key-store --custom-key-store-id cks-1234567890abcdef0 --key-store-password ExamplePassword
```

O comando final reconecta o armazenamento de AWS CloudHSM chaves ao AWS CloudHSM cluster. É possível deixar o armazenamento de chaves personalizado no estado desconectado, mas ele precisa estar conectado para que seja possível criar chaves do KMS ou usar as chaves do KMS existentes para [operações de criptografia](manage-cmk-keystore.md#use-cmk-keystore). Substitua o ID de exemplo do armazenamento de chaves personalizado por um ID real.

```
$ aws kms connect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
```

# Connect a um armazenamento de AWS CloudHSM chaves
<a name="connect-keystore"></a>

Os novos armazenamentos de AWS CloudHSM chaves não estão conectados. Antes de criar e usar AWS KMS keys em seu armazenamento de AWS CloudHSM chaves, você precisa conectá-lo ao AWS CloudHSM cluster associado. Você pode conectar e desconectar seu armazenamento de AWS CloudHSM chaves a qualquer momento e [visualizar seu estado de conexão](view-keystore.md#view-keystore-console). 

Você não precisa conectar seu armazenamento de AWS CloudHSM chaves. Você pode deixar um armazenamento de AWS CloudHSM chaves em um estado desconectado indefinidamente e conectá-lo somente quando precisar usá-lo. No entanto, você pode desejar testar a conexão periodicamente para verificar se as configurações estão corretas e se ele pode ser conectado.

**nota**  
AWS CloudHSM os armazenamentos de chaves têm um estado de `DISCONNECTED` conexão somente quando o armazenamento de chaves nunca foi conectado ou quando você o desconecta explicitamente. Se o estado da conexão do seu armazenamento de AWS CloudHSM chaves for, `CONNECTED` mas você estiver tendo problemas para usá-lo, verifique se o AWS CloudHSM cluster associado está ativo e contém pelo menos um ativo HSMs. Para obter ajuda com falhas de conexão, consulte [Solucionar problemas de um armazenamento de chaves personalizado](fix-keystore.md).

Quando você conecta um armazenamento de AWS CloudHSM chaves, AWS KMS encontra o AWS CloudHSM cluster associado, se conecta a ele, faz login no AWS CloudHSM cliente como [usuário `kmsuser` criptográfico (UC](keystore-cloudhsm.md#concept-kmsuser)) e, em seguida, alterna a `kmsuser` senha. AWS KMS permanece conectado ao AWS CloudHSM cliente enquanto o armazenamento de AWS CloudHSM chaves estiver conectado.

Para estabelecer a conexão, AWS KMS cria um [grupo de segurança](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) nomeado `kms-<custom key store ID>` na nuvem privada virtual (VPC) do cluster. O grupo de segurança tem uma única regra que permite o tráfego de entrada do grupo de segurança do cluster. AWS KMS também cria uma [interface de rede elástica](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html) (ENI) em cada zona de disponibilidade da sub-rede privada do cluster. AWS KMS adiciona o ENIs ao grupo `kms-<cluster ID>` de segurança e ao grupo de segurança do cluster. A descrição de cada ENI é `KMS managed ENI for cluster <cluster-ID>`.

O processo de conexão pode demorar um período prolongado para ser concluído; até 20 minutos. 

Antes de conectar o armazenamento de AWS CloudHSM chaves, verifique se ele atende aos requisitos.
+ Seu AWS CloudHSM cluster associado deve conter pelo menos um HSM ativo. Para encontrar o número de HSMs no cluster, visualize o cluster no AWS CloudHSM console ou use a [DescribeClusters](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html)operação. Se necessário, você pode [adicionar um HSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/add-remove-hsm.html).
+ O cluster deve ter uma conta de [usuário `kmsuser` criptográfico](create-keystore.md#kmsuser-concept) (UC), mas essa UC não pode ser conectada ao cluster quando você conecta o AWS CloudHSM armazenamento de chaves. Para obter ajuda com o logout, consulte [Como fazer logout e se conectar novamente](fix-keystore.md#login-kmsuser-2).
+ O estado da conexão do armazenamento de AWS CloudHSM chaves não pode ser `DISCONNECTING` ou`FAILED`. Para ver o estado da conexão, use o AWS KMS console ou a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)resposta. Se o estado da conexão for `FAILED`, desconecte o armazenamento de chaves personalizado, corrija o problema e conecte-o.

Para obter ajuda com falhas de conexão, consulte [Como corrigir uma falha de conexão](fix-keystore.md#fix-keystore-failed).

Quando seu armazenamento de AWS CloudHSM chaves está conectado, você pode [criar chaves KMS nele](create-cmk-keystore.md) e usar chaves KMS existentes em operações [criptográficas](manage-cmk-keystore.md#use-cmk-keystore).

## Conecte-se e reconecte-se ao seu armazenamento de AWS CloudHSM chaves
<a name="connect-hsm-keystore"></a>

Você pode conectar ou reconectar seu armazenamento de AWS CloudHSM chaves no AWS KMS console ou usando a [ConnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html)operação.

### Usando o AWS KMS console
<a name="connect-keystore-console"></a>

Para conectar um armazenamento de AWS CloudHSM chaves no Console de gerenciamento da AWS, comece selecionando o armazenamento de AWS CloudHSM chaves na página **Armazenamentos de chaves personalizadas**. O processo de conexão pode levar até 20 minutos.

1. Faça login no console Console de gerenciamento da AWS e abra o AWS Key Management Service (AWS KMS) em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

1. No painel de navegação, selecione **Custom key stores** (Repositórios de chaves personalizados), **AWS CloudHSM key stores** (Repositórios de chaves do ).

1. Escolha a linha do armazenamento de AWS CloudHSM chaves que você deseja conectar. 

   Se o estado de conexão do armazenamento de AWS CloudHSM chaves for **Falha**, você deverá [desconectar o armazenamento de chaves personalizado](disconnect-keystore.md#disconnect-keystore-console) antes de conectá-lo.

1. No menu **Key store actions** (Ações do armazenamento de chaves), escolha **Connect** (Conectar).

AWS KMS inicia o processo de conexão do seu armazenamento de chaves personalizadas. Ele localiza o cluster do AWS CloudHSM associado, cria a infraestrutura de rede necessária, se conecta, faz login no cluster do AWS CloudHSM como CU do `kmsuser` e muda a senha do `kmsuser`. Quando a operação é concluída, o estado de conexão é alterado para **Connected** (Conectado). 

Se houver falha na operação, uma mensagem descrevendo o motivo da falha será exibida. Antes de tentar se conectar novamente, [veja o estado da conexão](view-keystore.md) do seu armazenamento de AWS CloudHSM chaves. Se for **Failed** (Falha), você deve [desconectar o armazenamento de chaves personalizado](disconnect-keystore.md#disconnect-keystore-console) antes de conectá-lo novamente. Se precisar de ajuda, consulte [Solucionar problemas de um armazenamento de chaves personalizado](fix-keystore.md).

**Próximo:** [Criar uma chave KMS em um armazenamento de AWS CloudHSM chaves](create-cmk-keystore.md).

### Usando a AWS KMS API
<a name="connect-keystore-api"></a>

Para conectar um armazenamento de AWS CloudHSM chaves desconectado, use a [ConnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html)operação. O AWS CloudHSM cluster associado deve conter pelo menos um HSM ativo e o estado da conexão não pode ser`FAILED`.

O processo de conexão demora um período prolongado para ser concluído; até 20 minutos. A menos que se antecipe à falha, a operação retornará uma resposta HTTP 200 e um objeto JSON sem propriedades. No entanto, essa resposta inicial não indica que a conexão foi bem-sucedida. Para determinar o estado da conexão do armazenamento de chaves personalizadas, veja a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)resposta.

Os exemplos nesta seção usam a [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/), mas você pode usar qualquer linguagem de programação compatível. 

Para identificar o armazenamento de AWS CloudHSM chaves, use seu ID de armazenamento de chaves personalizado. Você pode encontrar o ID na página **Armazenamentos de chaves personalizadas** no console ou usando a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação sem parâmetros. Antes de executar esse exemplo, substitua o ID de exemplo por um válido.

```
$ aws kms connect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
```

Para verificar se o armazenamento de AWS CloudHSM chaves está conectado, use a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação. Por padrão, essa operação retorna todos os armazenamentos de chaves personalizados em sua conta e região. No entanto, você pode usar o parâmetro `CustomKeyStoreId` ou `CustomKeyStoreName` (mas não ambos) para limitar a resposta para determinados armazenamentos de chaves personalizados. O valor `ConnectionState` `CONNECTED` indica que o armazenamento de chaves personalizado está conectado ao cluster do AWS CloudHSM .

**nota**  
O `CustomKeyStoreType` campo foi adicionado à `DescribeCustomKeyStores` resposta para distinguir os armazenamentos de AWS CloudHSM chaves dos armazenamentos de chaves externos.

```
$ aws kms describe-custom-key-stores --custom-key-store-id cks-1234567890abcdef0
{
   "CustomKeyStores": [
      "CustomKeyStoreId": "cks-1234567890abcdef0",
      "CustomKeyStoreName": "ExampleCloudHSMKeyStore",
      "CloudHsmClusterId": "cluster-1a23b4cdefg",
      "CustomKeyStoreType": "AWS_CLOUDHSM",
      "TrustAnchorCertificate": "<certificate string appears here>",
      "CreationDate": "1.499288695918E9",
      "ConnectionState": "CONNECTED"
   ],
}
```

Se ocorrer falha no valor `ConnectionState`, o elemento `ConnectionErrorCode` indica o motivo da falha. Nesse caso, não AWS KMS foi possível encontrar um AWS CloudHSM cluster na sua conta com o ID do cluster`cluster-1a23b4cdefg`. Se você excluiu o cluster, você pode [restaurá-lo a partir de um backup](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html) do cluster original e [editar o ID do cluster](update-keystore.md) para o armazenamento de chaves personalizado. Para obter ajuda para responder a um código de erro de conexão, consulte [Como corrigir uma falha de conexão](fix-keystore.md#fix-keystore-failed).

```
$ aws kms describe-custom-key-stores --custom-key-store-id cks-1234567890abcdef0
{
   "CustomKeyStores": [
      "CustomKeyStoreId": "cks-1234567890abcdef0",
      "CustomKeyStoreName": "ExampleKeyStore",
      "CloudHsmClusterId": "cluster-1a23b4cdefg",
      "CustomKeyStoreType": "AWS_CLOUDHSM",
      "TrustAnchorCertificate": "<certificate string appears here>",
      "CreationDate": "1.499288695918E9",
      "ConnectionState": "FAILED"
      "ConnectionErrorCode": "CLUSTER_NOT_FOUND"
   ],
}
```

# Desconectar um armazenamento de AWS CloudHSM chaves
<a name="disconnect-keystore"></a>

Quando você desconecta um armazenamento de AWS CloudHSM chaves, AWS KMS sai do AWS CloudHSM cliente, se desconecta do AWS CloudHSM cluster associado e remove a infraestrutura de rede criada para suportar a conexão.

Enquanto um armazenamento de AWS CloudHSM chaves está desconectado, você pode gerenciar o armazenamento de AWS CloudHSM chaves e suas chaves KMS, mas não pode criar ou usar chaves KMS no AWS CloudHSM armazenamento de chaves. O estado da conexão do armazenamento de chaves é `DISCONNECTED`, e o [estado da chave](key-state.md) das chaves do KMS no armazenamento de chaves personalizado é `Unavailable`, a menos que elas estejam com `PendingDeletion`. Você pode reconectar o armazenamento de AWS CloudHSM chaves a qualquer momento.

**nota**  
AWS CloudHSM os armazenamentos de chaves têm um estado de `DISCONNECTED` conexão somente quando o armazenamento de chaves nunca foi conectado ou quando você o desconecta explicitamente. Se o estado da conexão do seu armazenamento de AWS CloudHSM chaves for, `CONNECTED` mas você estiver tendo problemas para usá-lo, verifique se o AWS CloudHSM cluster associado está ativo e contém pelo menos um ativo HSMs. Para obter ajuda com falhas de conexão, consulte [Solucionar problemas de um armazenamento de chaves personalizado](fix-keystore.md).

Quando você desconecta um armazenamento de chaves personalizado, as chaves do KMS do armazenamento de chaves tornam-se inutilizáveis imediatamente (sujeitas a consistência posterior). Porém, os recursos criptografados com [chaves de dados](data-keys.md) protegidas pela chave do KMS não serão afetados até que a chave do KMS seja usada novamente, por exemplo, para descriptografar a chave de dados. Esse problema afeta os Serviços da AWS, pois muitos deles usam chaves de dados para proteger recursos. Para obter detalhes, consulte [Como as chaves do KMS inutilizáveis afetam as chaves de dados](unusable-kms-keys.md).

**nota**  
Enquanto um armazenamento de chaves personalizado estiver desconectado, todas as tentativas de criar chaves do KMS nele ou de usar chaves do KMS existentes em operações de criptografia falharão. Essa ação pode impedir que os usuários armazenem e acessem dados sigilosos.

Para avaliar melhor o efeito de desconectar o armazenamento de chaves personalizado, [identifique as chaves do KMS](find-cmk-in-keystore.md) no armazenamento de chaves personalizado e [determine seu uso anterior](deleting-keys-determining-usage.md).

Você pode desconectar um armazenamento de AWS CloudHSM chaves por motivos como os seguintes:
+ **Para mudar a senha do `kmsuser`.** O AWS KMS altera a senha `kmsuser` toda vez que se conecta ao cluster do AWS CloudHSM . Para forçar uma mudança de senha, basta desconectar e reconectar.
+ **Para auditar o material chave** das chaves KMS no AWS CloudHSM cluster. Quando você desconecta o armazenamento de chaves personalizadas, AWS KMS sai da conta de [usuário `kmsuser` criptográfica](keystore-cloudhsm.md#concept-kmsuser) no AWS CloudHSM cliente. Isso permite fazer login no cluster como o CU `kmsuser` e auditar e gerenciar o material de chave para a chave do KMS.
+ **Para desabilitar imediatamente todas as chaves do KMS** no armazenamento de chaves do AWS CloudHSM . Você pode [desativar e reativar as chaves KMS](enabling-keys.md) em um armazenamento de AWS CloudHSM chaves usando a operação Console de gerenciamento da AWS ou. [DisableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKey.html) Essas operações são concluídas rapidamente, mas atuam em uma chave do KMS de cada vez. Desconectar o armazenamento de AWS CloudHSM chaves altera imediatamente o estado da chave de todas as chaves KMS no armazenamento de AWS CloudHSM chaves para`Unavailable`, o que impede que elas sejam usadas em qualquer operação criptográfica.
+ **Para reparar uma falha na tentativa de conexão**. Se uma tentativa de conectar um armazenamento de AWS CloudHSM chaves falhar (o estado de conexão do armazenamento de chaves personalizado é`FAILED`), você deve desconectar o armazenamento de AWS CloudHSM chaves antes de tentar conectá-lo novamente.

## Desconecte seu armazenamento de AWS CloudHSM chaves
<a name="disconnect-hsm-keystore"></a>

Você pode desconectar seu armazenamento de AWS CloudHSM chaves no AWS KMS console ou usando a [DisconnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisconnectCustomKeyStore.html)operação.

### Desconecte usando o console AWS KMS
<a name="disconnect-keystore-console"></a>

Para desconectar um armazenamento de AWS CloudHSM chaves conectado no AWS KMS console, comece escolhendo o armazenamento de AWS CloudHSM chaves na página **Armazenamentos de chaves personalizadas**.

1. Faça login no console Console de gerenciamento da AWS e abra o AWS Key Management Service (AWS KMS) em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

1. No painel de navegação, selecione **Custom key stores** (Repositórios de chaves personalizados), **AWS CloudHSM key stores** (Repositórios de chaves do ).

1. Escolha a linha do armazenamento de chaves externas que deseja desconectar. 

1. No menu **Key store actions** (Ações do armazenamento de chaves), escolha **Disconnect** (Desconectar).

**Quando a operação é concluída, o estado de conexão é alterado de Disconnecting** (Desconectando) para **Disconnected** (Desconectado). Se ocorrer falha na operação, 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](fix-keystore.md).

### Desconecte-se usando a API AWS KMS
<a name="disconnect-keystore-api"></a>

Para desconectar um armazenamento de AWS CloudHSM chaves conectado, use a [DisconnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisconnectCustomKeyStore.html)operação. Se a operação for bem-sucedida, AWS KMS retornará uma resposta HTTP 200 e um objeto JSON sem propriedades.

Os exemplos nesta seção usam a [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/), mas você pode usar qualquer linguagem de programação compatível. 

Este exemplo desconecta um armazenamento de AWS CloudHSM chaves. Antes de executar esse exemplo, substitua o ID de exemplo por um válido.

```
$ aws kms disconnect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
```

Para verificar se o armazenamento de AWS CloudHSM chaves está desconectado, use a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação. Por padrão, essa operação retorna todos os armazenamentos de chaves personalizados em sua conta e região. No entanto, você pode usar o parâmetro `CustomKeyStoreId` e `CustomKeyStoreName` (mas não ambos) para limitar a resposta para determinados armazenamentos de chaves personalizados. O `ConnectionState` valor de `DISCONNECTED` indica que esse exemplo de armazenamento de AWS CloudHSM chaves não está conectado ao AWS CloudHSM cluster.

```
$ aws kms describe-custom-key-stores --custom-key-store-id cks-1234567890abcdef0
{
   "CustomKeyStores": [
      "CloudHsmClusterId": "cluster-1a23b4cdefg",
      "ConnectionState": "DISCONNECTED",
      "CreationDate": "1.499288695918E9",
      "CustomKeyStoreId": "cks-1234567890abcdef0",
      "CustomKeyStoreName": "ExampleKeyStore",
      "CustomKeyStoreType": "AWS_CLOUDHSM",
      "TrustAnchorCertificate": "<certificate string appears here>"
   ],
}
```

# Excluir um armazenamento de AWS CloudHSM chaves
<a name="delete-keystore"></a>

Quando você exclui um armazenamento de AWS CloudHSM chaves, AWS KMS exclui todos os metadados sobre o armazenamento de AWS CloudHSM chaves do KMS, incluindo informações sobre sua associação com um cluster. AWS CloudHSM Essa operação não afeta o AWS CloudHSM cluster HSMs, nem seus usuários. Você pode criar um novo armazenamento de AWS CloudHSM chaves associado ao mesmo AWS CloudHSM cluster, mas não pode desfazer a operação de exclusão.

Você só pode excluir um armazenamento de AWS CloudHSM chaves que esteja desconectado de seu AWS CloudHSM cluster e não contenha nenhum AWS KMS keys. Antes de excluir um armazenamento de chaves personalizado, faça o seguinte.
+ Verifique se você ainda precisará usar qualquer uma das chaves do KMS no armazenamento de chaves para [operações de criptografia](manage-cmk-keystore.md#use-cmk-keystore). Em seguida, [programe a exclusão](deleting-keys.md#delete-cmk-keystore) de todas as chaves do KMS do armazenamento de chaves. Para obter ajuda para encontrar as chaves KMS em um armazenamento de AWS CloudHSM chaves, consulte[Encontre as chaves KMS em um armazenamento de AWS CloudHSM chaves](find-cmk-in-keystore.md).
+ Confirme se todas as chaves do KMS foram excluídas. Para visualizar as chaves KMS em um armazenamento de AWS CloudHSM chaves, consulte[Identificar chaves KMS em lojas de AWS CloudHSM chaves](identify-key-types.md#identify-key-hsm-keystore).
+ [Desconecte o armazenamento de AWS CloudHSM chaves](disconnect-keystore.md) de seu AWS CloudHSM cluster.

Em vez de excluir o armazenamento de AWS CloudHSM chaves, considere [desconectá-lo](disconnect-keystore.md) do cluster associado AWS CloudHSM . Enquanto um armazenamento de AWS CloudHSM chaves está desconectado, você pode gerenciar o armazenamento de AWS CloudHSM chaves e seu AWS KMS keys. Mas você não pode criar ou usar chaves KMS no armazenamento de AWS CloudHSM chaves. Você pode reconectar o armazenamento de AWS CloudHSM chaves a qualquer momento.

## Exclua seu armazenamento de AWS CloudHSM chaves
<a name="delete-hsm-keystore"></a>

Você pode excluir seu armazenamento de AWS CloudHSM chaves no AWS KMS console ou usando a [DeleteCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteCustomKeyStore.html)operação.

### Usando o AWS KMS console
<a name="delete-keystore-console"></a>

Para excluir um armazenamento de AWS CloudHSM chaves no Console de gerenciamento da AWS, comece selecionando o armazenamento de AWS CloudHSM chaves na página **Armazenamentos de chaves personalizadas**.

1. Faça login no console Console de gerenciamento da AWS e abra o AWS Key Management Service (AWS KMS) em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

1. No painel de navegação, selecione **Custom key stores** (Repositórios de chaves personalizados), **AWS CloudHSM key stores** (Repositórios de chaves do ).

1. Encontre a linha que representa o armazenamento de AWS CloudHSM chaves que você deseja excluir. Se o **estado de conexão** do armazenamento de AWS CloudHSM chaves não for **Desconectado**, você deverá [desconectar o armazenamento de AWS CloudHSM chaves](disconnect-keystore.md) antes de excluí-lo.

1. No menu **Key store actions** (Ações de armazenamento de chaves), escolha **Delete** (Excluir).

Quando a operação for concluída, uma mensagem de sucesso será exibida e o armazenamento de AWS CloudHSM chaves não aparecerá mais na lista de armazenamentos de chaves. Se a operação não for bem-sucedida, 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](fix-keystore.md).

### Usando a AWS KMS API
<a name="delete-keystore-api"></a>

Para excluir um armazenamento de AWS CloudHSM chaves, use a [DeleteCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteCustomKeyStore.html)operação. Se a operação for bem-sucedida, AWS KMS retornará uma resposta HTTP 200 e um objeto JSON sem propriedades.

Para começar, verifique se o armazenamento de AWS CloudHSM chaves não contém nenhuma AWS KMS keys. Não é possível excluir um armazenamento de chaves personalizado que contém chaves do KMS. O primeiro exemplo de comando usa [ListKeys](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html)e [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)para pesquisar AWS KMS keys no armazenamento de AWS CloudHSM chaves com o exemplo de ID de armazenamento de chaves *cks-1234567890abcdef0* personalizado. Nesse caso, o comando não retorna chaves do KMS. Se isso acontecer, use a [ScheduleKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html)operação para programar a exclusão de cada uma das chaves do KMS.

------
#### [ Bash ]

```
for key in $(aws kms list-keys --query 'Keys[*].KeyId' --output text) ; 
do aws kms describe-key --key-id $key | 
grep '"CustomKeyStoreId": "cks-1234567890abcdef0"' --context 100; done
```

------
#### [ PowerShell ]

```
PS C:\> Get-KMSKeyList | Get-KMSKey | where CustomKeyStoreId -eq 'cks-1234567890abcdef0'
```

------

Em seguida, desconecte o armazenamento de AWS CloudHSM chaves. Este exemplo de comando usa a [DisconnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisconnectCustomKeyStore.html)operação para desconectar um armazenamento de AWS CloudHSM chaves de seu AWS CloudHSM cluster. Antes de executar um comando como esse, substitua o ID de exemplo do armazenamento de chaves personalizado por um válido.

------
#### [ Bash ]

```
$ aws kms disconnect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
```

------
#### [ PowerShell ]

```
PS C:\> Disconnect-KMSCustomKeyStore -CustomKeyStoreId cks-1234567890abcdef0
```

------

Depois que o armazenamento de chaves personalizadas for desconectado, você poderá usar a [DeleteCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteCustomKeyStore.html)operação para excluí-lo. 

------
#### [ Bash ]

```
$ aws kms delete-custom-key-store --custom-key-store-id cks-1234567890abcdef0
```

------
#### [ PowerShell ]

```
PS C:\> Remove-KMSCustomKeyStore -CustomKeyStoreId cks-1234567890abcdef0
```

------

# Solucionar problemas de um armazenamento de chaves personalizado
<a name="fix-keystore"></a>

AWS CloudHSM as principais lojas são projetadas para estarem disponíveis e serem resilientes. No entanto, existem algumas condições de erro que talvez você precise reparar para manter seu armazenamento de AWS CloudHSM chaves operacional.

**Topics**
+ [

## Como corrigir chaves do KMS indisponíveis
](#fix-unavailable-cmks)
+ [

## Como corrigir uma chave do KMS com falha
](#fix-cmk-failed)
+ [

## Como corrigir uma falha de conexão
](#fix-keystore-failed)
+ [

## Como responder a uma falha de operação criptográfica
](#fix-keystore-communication)
+ [

## Como corrigir credenciais `kmsuser` inválidas
](#fix-keystore-password)
+ [

## Como excluir material de chave órfã
](#fix-keystore-orphaned-key)
+ [

## Como recuperar materiais de chave excluídos de uma chave do KMS
](#fix-keystore-recover-backing-key)
+ [

## Como fazer login como `kmsuser`
](#fix-login-as-kmsuser)

## Como corrigir chaves do KMS indisponíveis
<a name="fix-unavailable-cmks"></a>

Normalmente, o [estado AWS CloudHSM chave](key-state.md) AWS KMS keys de um armazenamento de chaves é`Enabled`. Como todas as chaves KMS, o estado da chave muda quando você desativa as chaves KMS em um armazenamento de AWS CloudHSM chaves ou as agenda para exclusão. No entanto, ao contrário de outras chaves do KMS, as chaves do KMS em um armazenamento de chaves personalizado também podem ter um [estado de chave](key-state.md) `Unavailable`. 

Um estado de chave `Unavailable` indica que a chave do KMS está em um armazenamento de chaves personalizado que foi [intencionalmente desconectado](disconnect-keystore.md) e que as tentativas de reconectá-lo, se houver, não foram bem-sucedidas. Enquanto uma chave do KMS está indisponível, é possível visualizá-la e gerenciá-la, mas não é possível usá-la para [operações de criptografia](manage-cmk-keystore.md#use-cmk-keystore).

Para encontrar o estado de chave de uma chave do KMS, na página **Customer managed keys** (Chaves gerenciadas pelo cliente), visualize o campo **Status** da chave do KMS. Ou use a [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)operação e visualize o `KeyState` elemento na resposta. Para obter detalhes, consulte [Identificar e visualizar chaves](viewing-keys.md).

As chaves do KMS em um armazenamento de chaves personalizado desconectado terão o estado de chave `Unavailable` ou `PendingDeletion`. As chaves do KMS agendadas para exclusão de um armazenamento de chaves personalizado têm um estado de chave `Pending Deletion`, mesmo quando o armazenamento de chaves personalizado está desconectado. Isso permite que você cancele a programação da exclusão de chaves sem reconectar o armazenamento de chaves personalizado. 

Para corrigir uma chave do KMS indisponível, [reconecte o armazenamento de chaves personalizado](disconnect-keystore.md). Após a reconexão do armazenamento de chaves personalizado, o estado de chave das chaves do KMS nesse armazenamento é automaticamente restaurado ao estado anterior, como `Enabled` ou `Disabled`. Chaves do KMS com exclusão pendente permanecem no estado `PendingDeletion`. No entanto, enquanto o problema persistir, [habilitar ou desabilitar uma chave do KMS](enabling-keys.md) indisponível não altera seu estado de chave. A ação habilitar ou desabilitar entra em vigor somente quando a chave é disponibilizada.

Para obter ajuda com conexões com falha, consulte [Como corrigir uma falha de conexão](#fix-keystore-failed). 

## Como corrigir uma chave do KMS com falha
<a name="fix-cmk-failed"></a>

Problemas com a criação e o uso de chaves KMS em AWS CloudHSM armazenamentos de chaves podem ser causados por um problema com seu armazenamento de AWS CloudHSM chaves, seu AWS CloudHSM cluster associado, a chave KMS ou seu material de chaves. 

Quando um armazenamento de AWS CloudHSM chaves é desconectado de seu AWS CloudHSM cluster, o estado da chave das chaves KMS no armazenamento de chaves personalizadas é. `Unavailable` Todas as solicitações para criar chaves KMS em um armazenamento de AWS CloudHSM chaves desconectado retornam uma `CustomKeyStoreInvalidStateException` exceção. Todas as solicitações para criptografar, descriptografar e criptografar novamente ou gerar chaves de dados retornam uma exceção `KMSInvalidStateException`. Para corrigir o problema, [reconecte o armazenamento de AWS CloudHSM chaves](connect-keystore.md).

No entanto, suas tentativas de usar uma chave KMS em um armazenamento de AWS CloudHSM chaves para [operações criptográficas](manage-cmk-keystore.md#use-cmk-keystore) podem falhar mesmo quando o estado da chave é `Enabled` e o estado da conexão do armazenamento de AWS CloudHSM chaves é. `Connected` Isso pode ser causado por uma das seguintes condições.
+ O material de chave para a chave do KMS pode ter sido excluído do cluster do AWS CloudHSM associado. Para investigar, [localize o id de chave](find-handle-for-cmk-id.md) do material de chave para uma chave do KMS e, se necessário, tente [recuperar o material de chave](#fix-keystore-recover-backing-key).
+ Todos HSMs foram excluídos do AWS CloudHSM cluster associado ao armazenamento de AWS CloudHSM chaves. Para usar uma chave KMS em um armazenamento de AWS CloudHSM chaves em uma operação criptográfica, seu AWS CloudHSM cluster deve conter pelo menos um HSM ativo. Para verificar o número e o estado de HSMs em um AWS CloudHSM cluster, [use o AWS CloudHSM console](https://docs.aws.amazon.com/cloudhsm/latest/userguide/add-remove-hsm.html) ou a [DescribeClusters](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html)operação. Para adicionar um HSM ao cluster, use o AWS CloudHSM console ou a [CreateHsm](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_CreateHsm.html)operação.
+ O AWS CloudHSM cluster associado ao armazenamento de AWS CloudHSM chaves foi excluído. Para corrigir o problema, [crie um cluster a partir de um backup](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html) relacionado ao cluster original, como um backup do cluster original, ou um backup que foi usado para criar o cluster original. [Edite o ID do cluster](update-keystore.md) nas configurações do armazenamento de chaves personalizado. Para instruções, consulte [Como recuperar materiais de chave excluídos de uma chave do KMS](#fix-keystore-recover-backing-key).
+ O AWS CloudHSM cluster associado ao armazenamento de chaves personalizadas não tinha nenhuma sessão PKCS \$111 disponível. Isso geralmente ocorre durante períodos de alto tráfego de intermitência quando sessões adicionais são necessárias para atender ao tráfego. Para responder a um `KMSInternalException` com uma mensagem de erro sobre as sessões do PKCS \$111, volte e repita a solicitação. 

## Como corrigir uma falha de conexão
<a name="fix-keystore-failed"></a>

Se você tentar [conectar um armazenamento de AWS CloudHSM chaves](connect-keystore.md) ao AWS CloudHSM cluster, mas a operação falhar, o estado da conexão do armazenamento de AWS CloudHSM chaves mudará para`FAILED`. Para encontrar o estado da conexão de um armazenamento de AWS CloudHSM chaves, use o AWS KMS console ou a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação. 

Como alternativa, algumas tentativas de conexão falham rapidamente devido a erros de configuração de cluster facilmente detectados. Nesse caso, o estado da conexão ainda é `DISCONNECTED`. Essas falhas retornar uma mensagem de erro ou [exceção](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html#API_ConnectCustomKeyStore_Errors) que explica por que a tentativa falhou. Analise a descrição da exceção e [os requisitos do cluster](create-keystore.md#before-keystore), corrija o problema, [atualize o armazenamento de AWS CloudHSM chaves](update-keystore.md), se necessário, e tente se conectar novamente.

Quando o estado da conexão estiver`FAILED`, execute a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação e veja o `ConnectionErrorCode` elemento na resposta.

**nota**  
Quando o estado de conexão de um armazenamento de AWS CloudHSM chaves é`FAILED`, você deve [desconectar o armazenamento de AWS CloudHSM chaves](disconnect-keystore.md) antes de tentar reconectá-lo. Você não pode conectar um armazenamento de AWS CloudHSM chaves com um estado de `FAILED` conexão.
+ `CLUSTER_NOT_FOUND`indica que AWS KMS não é possível encontrar um AWS CloudHSM cluster com o ID de cluster especificado. Isso pode ocorrer quando o ID de cluster errado é fornecido para uma operação de API ou o cluster é excluído e não substituído. Para corrigir esse erro, verifique o ID do cluster, por exemplo, usando o AWS CloudHSM console ou a [DescribeClusters](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html)operação. Se o cluster foi excluído, [crie um cluster a partir de um backup recente](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html) do original. Em seguida, [desconecte o armazenamento de AWS CloudHSM chaves](disconnect-keystore.md), [edite a AWS CloudHSM configuração de ID do cluster de armazenamento](update-keystore.md) de chaves e [reconecte o armazenamento de AWS CloudHSM chaves](connect-keystore.md) ao cluster.
+ `INSUFFICIENT_CLOUDHSM_HSMS`indica que o AWS CloudHSM cluster associado não contém nenhum HSMs. Para se conectar, o cluster deve ter pelo menos um HSM. Para encontrar o número de HSMs no cluster, use a [DescribeClusters](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html)operação. Para corrigir esse erro, [adicione pelo menos um HSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-hsm.html) ao cluster. Se você adicionar várias HSMs, é melhor criá-las em diferentes zonas de disponibilidade.
+ `INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET`indica que não AWS KMS foi possível conectar o armazenamento de AWS CloudHSM chaves ao AWS CloudHSM cluster porque pelo menos uma [sub-rede privada associada ao cluster](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-subnets.html) não tem nenhum endereço IP disponível. Uma conexão de armazenamento de AWS CloudHSM chaves requer um endereço IP gratuito em cada uma das sub-redes privadas associadas, embora duas sejam preferíveis.

  [Não é possível adicionar endereços IP](https://aws.amazon.com/premiumsupport/knowledge-center/vpc-ip-address-range/) (blocos CIDR) a uma sub-rede existente. Se possível, mova ou exclua outros recursos que estejam usando os endereços IP na sub-rede, como instâncias do EC2 não utilizadas ou interfaces elásticas de rede. Caso contrário, você pode [criar um cluster a partir de um backup recente](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html) do AWS CloudHSM cluster com sub-redes privadas novas ou existentes que tenham [mais espaço de endereço livre](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-sizing). Em seguida, para associar o novo cluster ao seu armazenamento de AWS CloudHSM chaves, [desconecte o armazenamento de chaves personalizado](disconnect-keystore.md), [altere o ID do cluster](update-keystore.md) do armazenamento de AWS CloudHSM chaves para o ID do novo cluster e tente se conectar novamente.
**dica**  
Para evitar a [redefinição da `kmsuser` senha](#fix-keystore-password), use o backup mais recente do AWS CloudHSM cluster.
+ `INTERNAL_ERROR`indica que não AWS KMS foi possível concluir a solicitação devido a um erro interno. Repetir a solicitação . Para `ConnectCustomKeyStore` solicitações, desconecte o armazenamento de AWS CloudHSM chaves antes de tentar se conectar novamente.
+ `INVALID_CREDENTIALS`indica que AWS KMS não é possível fazer login no AWS CloudHSM cluster associado porque ele não tem a senha correta da `kmsuser` conta. Para obter ajuda com relação a esse erro, consulte [Como corrigir credenciais `kmsuser` inválidas](#fix-keystore-password).
+ `NETWORK_ERRORS` geralmente indica problemas de rede temporários. [Desconecte o armazenamento de AWS CloudHSM chaves](disconnect-keystore.md), aguarde alguns minutos e tente se conectar novamente.
+ `SUBNET_NOT_FOUND`indica que pelo menos uma sub-rede na configuração do AWS CloudHSM cluster foi excluída. Se AWS KMS não conseguir encontrar todas as sub-redes na configuração do cluster, as tentativas de conectar o armazenamento de AWS CloudHSM chaves ao AWS CloudHSM cluster falharão. 

  Para corrigir esse erro, [crie um cluster a partir de um backup recente](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html) do mesmo AWS CloudHSM cluster. (Esse processo cria uma configuração de cluster com uma VPC e sub-redes privadas.) Verifique se o novo cluster atende aos [requisitos para um armazenamento de chaves personalizado](create-keystore.md#before-keystore) e anote o novo ID do cluster. Em seguida, para associar o novo cluster ao seu armazenamento de AWS CloudHSM chaves, [desconecte o armazenamento de chaves personalizado](disconnect-keystore.md), [altere o ID do cluster](update-keystore.md) do armazenamento de AWS CloudHSM chaves para o ID do novo cluster e tente se conectar novamente.
**dica**  
Para evitar a [redefinição da `kmsuser` senha](#fix-keystore-password), use o backup mais recente do AWS CloudHSM cluster.
+ `USER_LOCKED_OUT` indica que a [conta do usuário de criptografia (CU) `kmsuser`](keystore-cloudhsm.md#concept-kmsuser) está bloqueada do cluster do AWS CloudHSM associado devido ao excesso de tentativas de senha com falha. Para obter ajuda com relação a esse erro, consulte [Como corrigir credenciais `kmsuser` inválidas](#fix-keystore-password).

  Para corrigir esse erro, [desconecte o armazenamento de AWS CloudHSM chaves e use o](disconnect-keystore.md) comando [https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html) na CLI do CloudHSM para alterar a senha da conta. `kmsuser` [Edite as configurações de senha `kmsuser`](update-keystore.md) do armazenamento de chaves personalizado e tente se conectar novamente. Para obter ajuda, use o procedimento descrito no tópico [Como corrigir credenciais `kmsuser` inválidas](#fix-keystore-password).
+ `USER_LOGGED_IN`indica que a conta da `kmsuser` UC está conectada ao cluster associado AWS CloudHSM . Isso AWS KMS impede a rotação da senha da `kmsuser` conta e o login no cluster. Para corrigir esse erro, registre o CU `kmsuser` fora do cluster. Se você alterou a `kmsuser` senha para fazer login no cluster, também deverá atualizar o valor da senha do armazenamento de chaves para o armazenamento de AWS CloudHSM chaves. Para obter ajuda, consulte [Como fazer logout e se conectar novamente](#login-kmsuser-2).
+ `USER_NOT_FOUND`indica que AWS KMS não é possível encontrar uma conta de `kmsuser` UC no AWS CloudHSM cluster associado. Para corrigir esse erro, [crie uma conta de `kmsuser` UC](create-keystore.md#kmsuser-concept) no cluster e, em seguida, [atualize o valor da senha do armazenamento de chaves](update-keystore.md) para o armazenamento de AWS CloudHSM chaves. Para obter ajuda, consulte [Como corrigir credenciais `kmsuser` inválidas](#fix-keystore-password).

## Como responder a uma falha de operação criptográfica
<a name="fix-keystore-communication"></a>

Uma operação criptográfica que usa uma chave do KMS em um armazenamento de chaves personalizado pode falhar com um `KMSInvalidStateException`. As mensagens de erro a seguir podem acompanhar o `KMSInvalidStateException`.


|  | 
| --- |
| O KMS não pode se comunicar com seu cluster CloudHSM. Pode ser um problema de rede transitório. Se você ver esse erro repetidamente, verifique se as regras de rede ACLs e de grupo de segurança para a VPC do seu AWS CloudHSM cluster estão corretas. | 
+ Embora este seja um erro HTTPS 400, ele pode ser resultante de problemas de rede transitórios. Para responder, comece tentando novamente a solicitação. No entanto, se o erro persistir, examine a configuração dos seus componentes de rede. O erro é causado provavelmente pela configuração incorreta de um componente de rede, como uma regra de firewall ou uma regra de grupo de segurança de VPC que está bloqueando o tráfego de saída. Por exemplo, o KMS não pode se comunicar com AWS CloudHSM clusters over IPv6. Para obter detalhes sobre pré-requisitos, consulte [Crie um armazenamento de AWS CloudHSM chaves](create-keystore.md).


|  | 
| --- |
| O KMS não pode se comunicar com seu AWS CloudHSM cluster porque o kmsuser está bloqueado. Se você ver esse erro repetidamente, desconecte o armazenamento de AWS CloudHSM chaves e redefina a senha da conta kmsuser. Atualize a senha do kmsuser para o armazenamento de chaves personalizado e tente fazer a solicitação novamente. | 
+ Essa mensagem de erro indica que a [conta do usuário de criptografia (CU) `kmsuser`](keystore-cloudhsm.md#concept-kmsuser) está bloqueada do cluster do AWS CloudHSM correspondente devido ao excesso de tentativas de senha com falha. Para obter ajuda com relação a esse erro, consulte [Como desconectar e fazer login](#login-kmsuser-1).

## Como corrigir credenciais `kmsuser` inválidas
<a name="fix-keystore-password"></a>

Quando você [conecta um armazenamento de AWS CloudHSM chaves](connect-keystore.md), AWS KMS efetua login no AWS CloudHSM cluster associado como [usuário `kmsuser` criptográfico](keystore-cloudhsm.md#concept-kmsuser) (UC). Ele permanece conectado até que o armazenamento de AWS CloudHSM chaves seja desconectado. A resposta [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) mostra um `ConnectionState` com valor `FAILED` e `ConnectionErrorCode` de `INVALID_CREDENTIALS`, conforme mostrado no exemplo a seguir.

Se você desconectar o armazenamento de AWS CloudHSM chaves e alterar a `kmsuser` senha, AWS KMS não poderá fazer login no AWS CloudHSM cluster com as credenciais da conta da `kmsuser` UC. Como resultado, todas as tentativas de conectar o armazenamento de AWS CloudHSM chaves falham. A resposta `DescribeCustomKeyStores` mostra um `ConnectionState` com valor `FAILED` e `ConnectionErrorCode` de `INVALID_CREDENTIALS`, conforme mostrado no exemplo a seguir.

```
$ aws kms describe-custom-key-stores --custom-key-store-name ExampleKeyStore
{
   "CustomKeyStores": [
      "CloudHsmClusterId": "cluster-1a23b4cdefg",
      "ConnectionErrorCode": "INVALID_CREDENTIALS"
      "CustomKeyStoreId": "cks-1234567890abcdef0",
      "CustomKeyStoreName": "ExampleKeyStore",
      "TrustAnchorCertificate": "<certificate string appears here>",
      "CreationDate": "1.499288695918E9",
      "ConnectionState": "FAILED"
   ],
}
```

Além disso, após cinco tentativas malsucedidas de efetuar login no cluster com uma senha incorreta, o AWS CloudHSM bloqueia a conta do usuário. Para efetuar login no cluster, você deve alterar a senha da conta.

Se AWS KMS receber uma resposta de bloqueio ao tentar fazer login no cluster como a `kmsuser` UC, a solicitação para conectar o armazenamento de AWS CloudHSM chaves falhará. A [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)resposta inclui um `ConnectionState` de `FAILED` e um `ConnectionErrorCode` valor de`USER_LOCKED_OUT`, conforme mostrado no exemplo a seguir.

```
$ aws kms describe-custom-key-stores --custom-key-store-name ExampleKeyStore
{
   "CustomKeyStores": [
      "CloudHsmClusterId": "cluster-1a23b4cdefg",
      "ConnectionErrorCode": "USER_LOCKED_OUT"
      "CustomKeyStoreId": "cks-1234567890abcdef0",
      "CustomKeyStoreName": "ExampleKeyStore",
      "TrustAnchorCertificate": "<certificate string appears here>",
      "CreationDate": "1.499288695918E9",
      "ConnectionState": "FAILED"
   ],
}
```

Para corrigir qualquer uma dessas condições, use o procedimento a seguir. 

1. [Desconecte o armazenamento de AWS CloudHSM chaves](disconnect-keystore.md). 

1. Execute a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação e visualize o valor do `ConnectionErrorCode` elemento na resposta. 
   + Se o valor `ConnectionErrorCode` for `INVALID_CREDENTIALS`, determine a senha atual para a conta `kmsuser`. Se necessário, use o comando [https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html) na CLI do CloudHSM para definir a senha com um valor conhecido.
   + Se o valor de `ConnectionErrorCode` for `USER_LOCKED_OUT`, você deverá usar o comando [https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html) na CLI do CloudHSM para alterar a senha de `kmsuser`.

1. [Edite a configuração de senha `kmsuser`](update-keystore.md) para corresponder à senha `kmsuser` atual no cluster. Essa ação informa ao AWS KMS a senha a ser usada para fazer login no cluster. Ela não altera a senha `kmsuser` no cluster.

1. [Conectar o armazenamento de chaves personalizado](connect-keystore.md)

## Como excluir material de chave órfã
<a name="fix-keystore-orphaned-key"></a>

Depois de programar a exclusão de uma chave KMS de um armazenamento de AWS CloudHSM chaves, talvez seja necessário excluir manualmente o material de chave correspondente do cluster associado. AWS CloudHSM 

Quando você cria uma chave KMS em um armazenamento de AWS CloudHSM chaves, AWS KMS cria os metadados da chave KMS AWS KMS e gera o material da chave no cluster associado. AWS CloudHSM Quando você agenda a exclusão de uma chave KMS em um armazenamento de chaves, após o período de espera, AWS KMS exclui os metadados da AWS CloudHSM chave KMS. Em seguida, AWS KMS faça o possível para excluir o material de chave correspondente do AWS CloudHSM cluster. A tentativa pode falhar se AWS KMS não conseguir acessar o cluster, como quando ele é desconectado do armazenamento de AWS CloudHSM chaves ou quando a `kmsuser` senha é alterada. AWS KMS não tenta excluir o material chave dos backups do cluster.

AWS KMS relata os resultados de sua tentativa de excluir o material chave do cluster na entrada de `DeleteKey` eventos de seus AWS CloudTrail registros. Ela aparece no elemento `backingKeysDeletionStatus` do elemento `additionalEventData`, conforme mostrado na entrada de exemplo a seguir. A entrada também inclui o ARN da chave KMS, AWS CloudHSM o ID do cluster e o ID `backing-key-id` () do material da chave.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "accountId": "111122223333",
        "invokedBy": "AWS Internal"
    },
    "eventTime": "2021-12-10T14:23:51Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "DeleteKey",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "AWS Internal",
    "userAgent": "AWS Internal",
    "requestParameters": null,
    "responseElements":  {
        "keyId":"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    },
    "additionalEventData": {
        "customKeyStoreId": "cks-1234567890abcdef0",
        "clusterId": "cluster-1a23b4cdefg",
        "backingKeys": "[{\"backingKeyId\":\"backing-key-id\"}]",
        "backingKeysDeletionStatus": "[{\"backingKeyId\":\"backing-key-id\",\"deletionStatus\":\"FAILURE\"}]"
    },
    "eventID": "c21f1f47-f52b-4ffe-bff0-6d994403cf40",
    "readOnly": false,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsServiceEvent",
    "recipientAccountId": "111122223333",
    "managementEvent": true,
    "eventCategory": "Management"
}
```

**Observações**  
Os procedimentos a seguir usam a ferramenta de linha de comando do AWS CloudHSM Client SDK 5, a CLI do [CloudHSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli.html). A CLI do CloudHSM substitui `key-handle` por `key-reference`.  
Em 1º de janeiro de 2025, 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](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-migrate-from-kmu-cmu.html) no *Guia do usuário do AWS CloudHSM *.

Os procedimentos a seguir demonstram como excluir o material de chave órfã do cluster associado AWS CloudHSM .

1. Desconecte o armazenamento de AWS CloudHSM chaves, se ele ainda não estiver desconectado, faça [https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-login.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-login.html), conforme explicado em. [Como desconectar e fazer login](#login-kmsuser-1)
**nota**  
Enquanto um armazenamento de chaves personalizado estiver desconectado, todas as tentativas de criar chaves do KMS nele ou de usar chaves do KMS existentes em operações de criptografia falharão. Essa ação pode impedir que os usuários armazenem e acessem dados sigilosos.

1. Use o comando [key delete](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-delete.html) na CLI do CloudHSM para excluir a chave HSMs do no cluster.

   Todas as entradas de CloudTrail registro para operação criptográfica com uma chave KMS em um armazenamento de AWS CloudHSM chaves incluem um `additionalEventData` campo com e. `customKeyStoreId` `backingKey` O valor retornado no campo `backingKeyId` é o atributo `id` da chave do CloudHSM. Recomendamos filtrar a operação de **exclusão de chaves** `id` para excluir o material de chave órfã que você identificou em seus registros. CloudTrail 

   AWS CloudHSM reconhece o `backingKeyId` valor como um valor hexadecimal. Para filtrar por `id`, você deve prefixar `backingKeyId` com `Ox`. Por exemplo, se o `backingKeyId` em seu CloudTrail registro for`1a2b3c45678abcdef`, você filtraria por`0x1a2b3c45678abcdef`.

   O exemplo a seguir exclui uma chave do HSMs em seu cluster. O `backing-key-id` está listado na entrada do CloudTrail registro. Antes de executar esse comando, substitua o exemplo de `backing-key-id` por um elemento válido da sua conta.

   ```
   aws-cloudhsm key delete --filter attr.id="0x<backing-key-id>"
   {
     "error_code": 0,
     "data": {
       "message": "Key deleted successfully"
     }
   }
   ```

1. Saia e reconecte o armazenamento de AWS CloudHSM chaves conforme descrito em[Como fazer logout e se conectar novamente](#login-kmsuser-2).

## Como recuperar materiais de chave excluídos de uma chave do KMS
<a name="fix-keystore-recover-backing-key"></a>

Se o material da chave de um AWS KMS key for excluído, a chave KMS ficará inutilizável e todo o texto cifrado que foi criptografado sob a chave KMS não poderá ser descriptografado. Isso pode acontecer se o material de chave de uma chave KMS em um armazenamento de AWS CloudHSM chaves for excluído do AWS CloudHSM cluster associado. No entanto, há a possibilidade de recuperação do material de chaves.

Quando você cria uma AWS KMS key (chave KMS) em um armazenamento de AWS CloudHSM chaves, AWS KMS efetua login no AWS CloudHSM cluster associado e cria o material de chave para a chave KMS. Ele também altera a senha para um valor que somente ele conhece e permanece conectado enquanto o armazenamento de AWS CloudHSM chaves estiver conectado. Como somente o proprietário da chave, ou seja, a UC que criou a chave, pode excluir a chave, é improvável que a chave seja excluída HSMs acidentalmente. 

No entanto, se o material de chave de uma chave KMS for excluído do HSMs em um cluster, o estado da chave KMS eventualmente mudará para. `UNAVAILABLE` Se você tentar usar a chave do KMS para uma operação de criptografia, ocorrerá falha na operação com uma exceção `KMSInvalidStateException`. E, o que é mais importante, os dados que tiverem sido criptografados com a chave do KMS não poderão ser descriptografados.

Em determinadas circunstâncias, é possível recuperar o material de chaves excluído, [criando um cluster a partir de um backup](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html) que contenha o material de chaves. Essa estratégia funciona somente quando pelo menos um backup foi criado enquanto a chave existia e antes de ter sido excluída. 

Use o processo a seguir para recuperar o material de chaves.

1. Encontre um backup de cluster que contém o material de chaves. O backup também deve conter todos os usuários e chaves de que você precisa para oferecer suporte ao cluster e seus dados criptografados.

   Use a [DescribeBackups](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeBackups.html)operação para listar os backups de um cluster. Use o timestamp do backup para ajudá-lo a selecionar um backup. Para limitar a saída ao cluster associado ao armazenamento de AWS CloudHSM chaves, use o `Filters` parâmetro, conforme mostrado no exemplo a seguir. 

   ```
   $ aws cloudhsmv2 describe-backups --filters clusterIds=<cluster ID>
   {
       "Backups": [
           {
               "ClusterId": "cluster-1a23b4cdefg",
               "BackupId": "backup-9g87f6edcba",
               "CreateTimestamp": 1536667238.328,
               "BackupState": "READY"
           },
                ...
       ]
   }
   ```

1. [Crie um cluster a partir de um backup selecionado](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html). Verifique se o backup contém a chave excluída e outros usuários e chaves que o cluster requer. 

1. [Desconecte o armazenamento de AWS CloudHSM chaves](disconnect-keystore.md) para poder editar suas propriedades.

1. [Edite o ID do cluster](update-keystore.md) do armazenamento de AWS CloudHSM chaves. Insira o ID do cluster que você criou a partir do backup. Como o cluster compartilha um histórico de backup com o cluster original, o novo ID do cluster deve ser válido. 

1. [Reconecte o armazenamento de AWS CloudHSM chaves](connect-keystore.md).

## Como fazer login como `kmsuser`
<a name="fix-login-as-kmsuser"></a>

Para criar e gerenciar o material de chaves no AWS CloudHSM cluster para seu armazenamento de AWS CloudHSM chaves, AWS KMS use a [conta de usuário `kmsuser` criptográfico (CU)](keystore-cloudhsm.md#concept-kmsuser). Você [cria a conta da `kmsuser` UC](create-keystore.md#before-keystore) em seu cluster e fornece sua senha AWS KMS ao criar seu armazenamento de AWS CloudHSM chaves.

Em geral, AWS KMS gerencia a `kmsuser` conta. No entanto, para algumas tarefas, você precisa desconectar o armazenamento de AWS CloudHSM chaves, fazer login no cluster como `kmsuser` CU e usar a interface de [linha de comando (CLI) do CloudHSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli.html).

**nota**  
Enquanto um armazenamento de chaves personalizado estiver desconectado, todas as tentativas de criar chaves do KMS nele ou de usar chaves do KMS existentes em operações de criptografia falharão. Essa ação pode impedir que os usuários armazenem e acessem dados sigilosos.

Este tópico explica como [desconectar seu armazenamento de AWS CloudHSM chaves e fazer login](#login-kmsuser-1) como`kmsuser`, executar a ferramenta de linha de AWS CloudHSM comando, [sair e reconectar seu armazenamento de AWS CloudHSM chaves](#login-kmsuser-2).

**Topics**
+ [

### Como desconectar e fazer login
](#login-kmsuser-1)
+ [

### Como fazer logout e se conectar novamente
](#login-kmsuser-2)

### Como desconectar e fazer login
<a name="login-kmsuser-1"></a>

Use o procedimento a seguir sempre que precisar fazer login em um cluster associado como o usuário de criptografia `kmsuser`.

**Observações**  
Os procedimentos a seguir usam a ferramenta de linha de comando do AWS CloudHSM Client SDK 5, a CLI do [CloudHSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli.html). A CLI do CloudHSM substitui `key-handle` por `key-reference`.  
Em 1º de janeiro de 2025, 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](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-migrate-from-kmu-cmu.html) no *Guia do usuário do AWS CloudHSM *.

1. Desconecte o armazenamento de AWS CloudHSM chaves, se ele ainda não estiver desconectado. Você pode usar o AWS KMS console ou a AWS KMS API. 

   Enquanto sua AWS CloudHSM chave está conectada, AWS KMS está logado como o. `kmsuser` Isso evita que você faça login como `kmsuser` ou altere a senha `kmsuser`.

   Por exemplo, esse comando é usado [DisconnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisconnectCustomKeyStore.html)para desconectar um exemplo de armazenamento de chaves. Substitua o exemplo de ID de armazenamento de AWS CloudHSM chaves por um válido.

   ```
   $ aws kms disconnect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
   ```

1. Use o comando **login** e faça login como administrador. Siga os procedimentos descritos na seção [Using CloudHSM CLI](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-getting-started.html#w17aac19c11c13b7) do *Guia do usuário do AWS CloudHSM *.

   ```
   aws-cloudhsm > login --username admin --role admin
             Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "admin",
       "role": "admin"
     }
   }
   ```

1. Use o comando [https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html) na CLI do CloudHSM para alterar a senha da `kmsuser` conta para uma que você conheça. (AWS KMS gira a senha quando você conecta seu armazenamento de AWS CloudHSM chaves.) 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.

1. Faça login como `kmsuser` usando a senha que você definiu. Para obter instruções detalhadas, consulte a seção [Using CloudHSM CLI](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-getting-started.html#w17aac19c11c13b7) do *Guia do usuário do AWS CloudHSM *.

   ```
   aws-cloudhsm > login --username kmsuser --role crypto-user
             Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "kmsuser",
       "role": "crypto-user"
     }
   }
   ```

### Como fazer logout e se conectar novamente
<a name="login-kmsuser-2"></a>

Siga o procedimento abaixo sempre que precisar fazer login como o usuário criptográfico `kmsuser` e reconectar seu repositório de chaves.

**Observações**  
Os procedimentos a seguir usam a ferramenta de linha de comando do AWS CloudHSM Client SDK 5, a CLI do [CloudHSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli.html). A CLI do CloudHSM substitui `key-handle` por `key-reference`.  
Em 1º de janeiro de 2025, 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](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-migrate-from-kmu-cmu.html) no *Guia do usuário do AWS CloudHSM *.

1. Execute a tarefa e, em seguida, use o comando [https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-logout.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-logout.html) na CLI do CloudHSM para sair. Se você não se desconectar, as tentativas de reconectar seu armazenamento de AWS CloudHSM chaves falharão.

   ```
   aws-cloudhsm  logout
   {
     "error_code": 0,
     "data": "Logout successful"
   }
   ```

1. [Edite a configuração de senha `kmsuser`](update-keystore.md) para o armazenamento de chaves personalizado. 

   Isso informa AWS KMS a senha atual do cluster. `kmsuser` Se você omitir essa etapa, não AWS KMS conseguirá fazer login no cluster como`kmsuser`, e todas as tentativas de reconectar seu armazenamento de chaves personalizadas falharão. Você pode usar o AWS KMS console ou o `KeyStorePassword` parâmetro da [UpdateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateCustomKeyStore.html)operação.

   Por exemplo, esse comando informa AWS KMS que a senha atual é`tempPassword`. Substitua a senha de exemplo pela real. 

   ```
   $ aws kms update-custom-key-store --custom-key-store-id cks-1234567890abcdef0 --key-store-password tempPassword
   ```

1. Reconecte o armazenamento de AWS KMS chaves ao AWS CloudHSM cluster. Substitua o exemplo de ID de armazenamento de AWS CloudHSM chaves por um válido. Durante o processo de conexão, AWS KMS altera a `kmsuser` senha para um valor que somente ela conhece.

   A [ConnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html)operação retorna rapidamente, mas o processo de conexão pode levar um longo período de tempo. A resposta inicial não indica o sucesso do processo de conexão.

   ```
   $ aws kms connect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
   ```

1. Use a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação para verificar se o armazenamento de AWS CloudHSM chaves está conectado. Substitua o exemplo de ID de armazenamento de AWS CloudHSM chaves por um válido.

   Neste exemplo, o campo de estado da conexão mostra que o armazenamento de AWS CloudHSM chaves agora está conectado.

   ```
   $ aws kms describe-custom-key-stores --custom-key-store-id cks-1234567890abcdef0
   {
      "CustomKeyStores": [
         "CustomKeyStoreId": "cks-1234567890abcdef0",
         "CustomKeyStoreName": "ExampleKeyStore",
         "CloudHsmClusterId": "cluster-1a23b4cdefg",
         "TrustAnchorCertificate": "<certificate string appears here>",
         "CreationDate": "1.499288695918E9",
         "ConnectionState": "CONNECTED"
      ],
   }
   ```

# Armazenamentos de chaves externas
<a name="keystore-external"></a>

Os armazenamentos externos de chaves permitem que você proteja seus AWS recursos usando chaves criptográficas externas. AWS Esse recurso avançado foi criado para workloads regulamentadas que você precisa proteger com chaves de criptografia armazenadas em um sistema de gerenciamento de chaves externas que você controla. Os armazenamentos externos de chaves apoiam o [compromisso de soberania AWS digital](https://aws.amazon.com/blogs/security/aws-digital-sovereignty-pledge-control-without-compromise/) de dar a você controle soberano sobre seus dados AWS, incluindo a capacidade de criptografar com material chave que você possui e controla externamente. AWS

Um *armazenamento de chaves externo* é um [armazenamento de chaves personalizado](key-store-overview.md#custom-key-store-overview) apoiado por um *gerenciador de chaves externo* que você possui e gerencia fora dele AWS. Seu gerenciador de chaves externo pode ser um módulo de segurança de hardware físico ou virtual (HSMs) ou qualquer sistema baseado em hardware ou software capaz de gerar e usar chaves criptográficas. As operações de criptografia e descriptografia que usam uma chave KMS em um armazenamento de chaves externo são realizadas pelo seu gerenciador de chaves externo usando seu material de chave criptográfica, um recurso conhecido como *mantenha suas* próprias chaves (). HYOKs 

AWS KMS nunca interage diretamente com seu gerenciador de chaves externo e não pode criar, visualizar, gerenciar ou excluir suas chaves. Em vez disso, AWS KMS interage somente com o software [proxy externo de armazenamento de chaves](#concept-xks-proxy) (proxy XKS) fornecido por você. Seu proxy externo de armazenamento de chaves medeia toda a comunicação entre AWS KMS e seu gerenciador de chaves externo. Ele transmite todas as solicitações AWS KMS para o seu gerenciador de chaves externo e transmite as respostas do seu gerenciador de chaves externo de volta para o. AWS KMS O proxy externo do armazenamento de chaves também traduz solicitações genéricas AWS KMS em um formato específico do fornecedor que seu gerente de chaves externo possa entender, permitindo que você use armazenamentos de chaves externos com gerenciadores de chaves de vários fornecedores.

Você pode usar chaves do KMS em um armazenamento de chaves externas para criptografia do lado do cliente, inclusive com o [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/). Mas os armazenamentos externos de chaves são um recurso importante para a criptografia do lado do servidor, permitindo que você proteja seus AWS recursos de forma múltipla Serviços da AWS com suas chaves criptográficas externas. AWS Serviços da AWS que oferecem suporte a [chaves gerenciadas pelo cliente](concepts.md#customer-mgn-key) para criptografia simétrica também oferecem suporte a chaves KMS em um armazenamento de chaves externo. Para obter detalhes sobre o suporte para serviços, consulte [AWS Service Integration](https://aws.amazon.com/kms/features/#AWS_service_integration) (Integração de produtos da ).

Os armazenamentos externos de chaves permitem que você use AWS KMS para cargas de trabalho regulamentadas, nas quais as chaves de criptografia devem ser armazenadas e usadas fora do AWS. Mas eles são um grande desvio do modelo de responsabilidade compartilhada padrão e exigem o aumento dos encargos operacionais. O maior risco de disponibilidade e latência excederá, para a maioria dos clientes, os benefícios de segurança percebidos pelos armazenamentos de chaves externas.

Os armazenamentos de chaves externas permitem controlar a raiz de confiança. Os dados criptografados sob chaves do KMS em seu armazenamento de chaves externas só podem ser descriptografados usando o gerenciador de chaves externas que você controla. Se você revogar temporariamente o acesso ao seu gerenciador de chaves externo, por exemplo, desconectando o armazenamento de chaves externo ou desconectando o gerenciador de chaves externo do proxy externo do armazenamento de chaves, AWS perderá todo o acesso às suas chaves criptográficas até que você as restaure. Durante esse intervalo, o texto cifrado criptografado sob suas chaves do KMS não poderá ser descriptografado. Se você revogar permanentemente o acesso ao seu gerenciador de chaves externas, todo o texto cifrado criptografado sob uma chave do KMS em seu armazenamento de chaves externas vai se tornar irrecuperável. As únicas exceções são AWS serviços que armazenam brevemente em cache as [chaves de dados](data-keys.md) protegidas por suas chaves KMS. Essas chaves de dados continuarão funcionando até você desativar o recurso ou o cache expirar. Para obter detalhes, consulte [Como as chaves do KMS inutilizáveis afetam as chaves de dados](unusable-kms-keys.md).

Os armazenamentos externos de chaves desbloqueiam os poucos casos de uso de cargas de trabalho regulamentadas em que as chaves de criptografia devem permanecer exclusivamente sob seu controle e inacessíveis. AWS Porém, esta é uma grande mudança na forma como você opera a infraestrutura baseada em nuvem e uma alteração significativa no modelo de responsabilidade compartilhada. Para a maioria das workloads, o aumento da carga operacional e os maiores riscos de disponibilidade e performance excederão os benefícios de segurança percebidos pelos armazenamentos de chaves externas.



**Preciso de armazenamento de chaves externas?**

Para a maioria dos usuários, o armazenamento de AWS KMS chaves padrão, protegido pelos [módulos de segurança de hardware validados pelo FIPS 140-3 Security Level 3](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4884), atende aos requisitos regulatórios, de controle e de segurança. Usuários do armazenamento de chaves externas incorrem em custos consideráveis, sobrecarga de manutenção e solução de problemas, além de riscos de latência, disponibilidade e confiabilidade.

Ao considerar um armazenamento de chaves externo, dedique algum tempo para entender as alternativas, incluindo um [armazenamento de AWS CloudHSM chaves](keystore-cloudhsm.md) apoiado por um AWS CloudHSM cluster que você possui e gerencia, e chaves KMS com [material de chave importado](importing-keys.md) que você gera por conta própria HSMs e pode ser excluído das chaves KMS sob demanda. Especificamente, importar material de chave com um intervalo de expiração muito curto pode fornecer um nível similar de controle sem riscos à performance ou à disponibilidade.

Um armazenamento de chaves externas pode ser a solução certa para sua organização, caso cumpra os seguintes requisitos:
+ Você precisa usar chaves criptográficas em seu gerenciador de chaves local ou em um gerenciador de chaves fora do seu AWS controle.
+ É necessário demonstrar que suas chaves de criptografia são retidas somente sob seu controle fora da nuvem.
+ É necessário criptografar e descriptografar usando chaves de criptografia com autorização independente.
+ O material de chaves deve estar sujeito a um caminho de auditoria secundário e independente.

Se escolher um armazenamento de chaves externas, limite o uso a workloads que necessitam de proteção com chaves de criptografia fora da AWS.



**Modelo de responsabilidade compartilhada**

As chaves KMS padrão usam material de chaves gerado e usado para HSMs que seja AWS KMS proprietário e gerenciado. Você estabelece as políticas de controle de acesso em suas chaves KMS e configura Serviços da AWS que usem chaves KMS para proteger seus recursos. AWS KMS assume a responsabilidade pela segurança, disponibilidade, latência e durabilidade do material de chaves em suas chaves KMS.

As chaves do KMS em armazenamentos de chaves externas dependem do material e das operações do gerenciador de chaves externas. Assim, o equilíbrio de responsabilidades desloca-se em direção a você. Você é responsável pela segurança, confiabilidade, durabilidade e desempenho das chaves criptográficas em seu gerenciador de chaves externo. AWS KMS é responsável por responder prontamente às solicitações e se comunicar com seu proxy externo de armazenamento de chaves e por manter nossos padrões de segurança. [*Para garantir que cada chave externa armazene texto cifrado pelo menos tão forte quanto o texto AWS KMS cifrado padrão, AWS KMS primeiro criptografa todo o texto sem formatação com material de chave específico da sua AWS KMS chave KMS e, em seguida, o envia ao seu gerenciador de chaves externo para criptografia com sua chave externa, um procedimento conhecido como criptografia dupla.*](#concept-double-encryption) Como resultado, nem o AWS KMS nem o proprietário do material de chave externa podem descriptografar somente o texto cifrado com criptografia dupla.

Você é responsável por manter um gerenciador de chaves externas que atenda aos seus padrões regulatórios e de performance, por fornecer e manter um proxy de armazenamento de chaves externas que esteja em conformidade com a [AWS KMS External Key Store Proxy API Specification](https://github.com/aws/aws-kms-xksproxy-api-spec/) (Especificação da API do proxy de armazenamento de chaves externas do ) e por garantir a disponibilidade e durabilidade do material de chave. Você também deve criar, configurar e manter um armazenamento de chaves externas. Quando surgem erros causados por componentes que você mantém, você deve estar preparado para identificar e resolver os erros para que os AWS serviços possam acessar seus recursos sem interrupções indevidas. AWS KMS fornece [orientação de solução](xks-troubleshooting.md) de problemas para ajudá-lo a determinar a causa dos problemas e as resoluções mais prováveis. 

Analise as [ CloudWatch métricas e dimensões da Amazon](monitoring-cloudwatch.md#kms-metrics) que AWS KMS registram para lojas de chaves externas. AWS KMS recomenda fortemente que você crie CloudWatch alarmes para monitorar seu armazenamento externo de chaves para que você possa detectar os primeiros sinais de problemas operacionais e de desempenho antes que eles ocorram.

**O que está mudando?**

Armazenamentos de chaves externas são compatíveis apenas com chaves do KMS de criptografia simétrica. Dentro AWS KMS, você usa e gerencia as chaves KMS em um armazenamento de chaves externo da mesma forma que gerencia outras [chaves gerenciadas pelo cliente](concepts.md#customer-mgn-key), incluindo a [definição de políticas de controle de acesso](authorize-xks-key-store.md) e o [monitoramento do uso da chave](monitoring-overview.md). Você usa o mesmo APIs com os mesmos parâmetros para solicitar uma operação criptográfica com uma chave KMS em um armazenamento de chaves externo que você usa para qualquer chave KMS. O preço também é o mesmo das chaves do KMS padrão. Para obter mais detalhes, consulte [Chaves do KMS em repositórios de chaves externos](keystore-external-key-manage.md) e [Preços do AWS Key Management Service](https://aws.amazon.com/kms/pricing/).

Porém, com os armazenamentos de chaves externas, os seguintes princípios mudam:
+ Você é responsável pela disponibilidade, durabilidade e latência das operações de chaves.
+ Você é responsável por todos os custos de desenvolvimento, compra, operação e licenciamento de seu sistema de gerenciamento de chaves externas.
+ Você pode implementar a [autorização independente](authorize-xks-key-store.md#xks-proxy-authorization) de todas as solicitações AWS KMS de seu proxy externo de armazenamento de chaves.
+ Você pode monitorar, auditar e registrar todas as operações do proxy externo do armazenamento de chaves e todas as operações do gerenciador de chaves externo relacionadas às AWS KMS solicitações.

**Por onde começar?**

Para criar e gerenciar um armazenamento de chaves externas, é necessário [escolher sua opção de conectividade de proxy de armazenamento de chaves externas](choose-xks-connectivity.md), [organizar os pré-requisitos](create-xks-keystore.md#xks-requirements) e [criar e configurar o armazenamento de chaves externas](create-xks-keystore.md).

**Cotas**

AWS KMS permite até [10 armazenamentos de chaves personalizadas](resource-limits.md) em cada Conta da AWS região, incluindo armazenamentos de [AWS CloudHSM chaves e armazenamentos](https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html) de [chaves externos](https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html), independentemente do estado da conexão. Além disso, há cotas de solicitação do AWS KMS para o [uso de chaves do KMS em um armazenamento de chaves externas](requests-per-second.md#rps-key-stores). 

Se você escolher a [conectividade de proxy VPC](#concept-xks-connectivity) para seu proxy externo de armazenamento de chaves, também poderá haver cotas nos componentes necessários VPCs, como sub-redes e balanceadores de carga de rede. Para obter mais informações sobre essas cotas, use o [console do Service Quotas](https://console.aws.amazon.com/servicequotas/home).



**Regiões**

Para minimizar a latência da rede, crie seus componentes de armazenamento de chaves externas na Região da AWS mais próxima do [gerenciador de chaves externas](#concept-ekm). Se possível, escolha uma região com um tempo de resposta (RTT) de 35 milissegundos ou menos.

Os armazenamentos de chaves externos são suportados Regiões da AWS em todas as regiões AWS KMS com suporte, exceto na China (Pequim) e na China (Ningxia). 

**Recursos sem suporte**

AWS KMS não oferece suporte aos seguintes recursos em armazenamentos de chaves personalizadas.
+ [Chaves do KMS assimétricas](symmetric-asymmetric.md)
+ [Chaves do KMS de HMAC](hmac.md)
+ [Chaves do KMS com material de chave importado](importing-keys.md)
+ [Alternância automática de chaves](rotate-keys.md)
+ [Chaves de várias regiões](multi-region-keys-overview.md)

**Saiba mais:**
+ [Announcing AWS KMS External Key Store](https://aws.amazon.com/blogs/aws/announcing-aws-kms-external-key-store-xks/) (Anúncio do armazenamento de chaves externas do ) no *blog de notícias da AWS *.

## Conceitos de armazenamento de chaves externas
<a name="xks-concepts"></a>

Aprenda os termos e conceitos básicos usados em repositórios de chaves externos.

### Armazenamento de chaves externas
<a name="concept-external-key-store"></a>

Um *armazenamento de chaves externo* é um [armazenamento de chaves AWS KMS personalizado](key-store-overview.md#custom-key-store-overview) apoiado por um gerenciador de chaves externo fora do AWS que você possui e gerencia. Cada chave do KMS em um armazenamento de chaves externas está associada a uma [chave externa](#concept-external-key) de seu gerenciador de chaves externas. Quando você usa uma chave do KMS em um armazenamento de chaves externas para criptografia ou descriptografia, a operação é executada pelo gerenciador de chaves externas usando sua chave externa, um mecanismo conhecido como *mantenha sua própria chave* (HYOK). Esse recurso foi desenvolvido para organizações que precisam manter chaves de criptografia em seu próprio gerenciador de chaves externas.

Os armazenamentos externos de chaves garantem que as chaves criptográficas e as operações que protegem seus AWS recursos permaneçam sob seu controle no gerenciador de chaves externo. AWS KMS envia solicitações ao seu gerenciador de chaves externo para criptografar e descriptografar dados, mas AWS KMS não pode criar, excluir ou gerenciar nenhuma chave externa. Todas as solicitações do AWS KMS seu gerenciador de chaves externo são mediadas por um componente de software [proxy de armazenamento de chaves externo](#concept-xks-proxy) que você fornece, possui e gerencia. 

AWS os serviços que oferecem suporte a [chaves gerenciadas pelo AWS KMS cliente](concepts.md) podem usar as chaves KMS em seu armazenamento de chaves externo para proteger seus dados. Como resultado, seus dados são, em última análise, protegidos por suas chaves usando suas operações de criptografia no gerenciador de chaves externas.

As chaves do KMS em um armazenamento de chaves externas têm modelos de confiança, [acordos de responsabilidade compartilhada](#xks-shared-responsibility) e expectativas de performance consideravelmente diferentes das chaves do KMS padrão. Com armazenamentos de chaves externas, você é responsável pela segurança e integridade do material de chave e pelas operações de criptografia. A disponibilidade e a latência das chaves do KMS em um armazenamento de chaves externas são afetadas pelo hardware, software, componentes de redes e pela distância entre o AWS KMS e o gerenciador de chaves externas. Também é provável que você incorra em custos adicionais com seu gerenciador de chaves externo e com a infraestrutura de rede e balanceamento de carga com a qual seu gerenciador de chaves externo se comunique. AWS KMS

Você pode usar seu armazenamento de chaves externas como parte de sua estratégia geral de proteção de dados. Para cada AWS recurso que você protege, você pode decidir qual requer uma chave KMS em um armazenamento de chaves externo e qual pode ser protegido por uma chave KMS padrão. Isso lhe dá a flexibilidade para escolher chaves do KMS para classificações de dados, aplicações ou projetos específicos.

### Gerenciador de chaves externas
<a name="concept-ekm"></a>

Um *gerenciador de chaves externas* é um componente fora da AWS que pode gerar chaves simétricas AES de 256 bits e realizar criptografia e descriptografia simétricas. O gerenciador de chaves externas para um armazenamento de chaves externas pode ser um módulo de segurança de hardware (HSM) físico, um HSM virtual ou um gerenciador de chaves de software com ou sem um componente HSM. Ele pode estar localizado em qualquer lugar externo AWS, inclusive em suas instalações, em um data center local ou remoto ou em qualquer nuvem. O armazenamento de chaves externas pode basear-se em um único gerenciador de chaves externas ou em várias instâncias de gerenciador de chaves relacionadas que compartilham chaves de criptografia, como um cluster do HSM. Os armazenamentos de chaves externas são criados para oferecer suporte a uma variedade de gerenciadores externos de diferentes fornecedores. Para obter detalhes sobre como se conectar ao seu gerenciador de chaves externo, consulte [Escolher uma opção de conectividade de proxy de um repositório de chaves externo](choose-xks-connectivity.md).

### Chave externa
<a name="concept-external-key"></a>

Cada chave do KMS em um armazenamento de chaves externas está associada a uma chave de criptografia do [gerenciador de chaves externas](#concept-ekm) conhecida como *chave externa*. Ao criptografar ou descriptografar com uma chave do KMS no armazenamento de chaves externas, a operação de criptografia é executada pelo [gerenciador de chaves externas](#concept-ekm) usando suas chaves externas.

**Atenção**  
A chave externa é essencial para a operação da chave do KMS. Se a chave externa for perdida ou excluída, o texto cifrado criptografado sob a chave do KMS associada vai se tornar irrecuperável.

Para armazenamentos de chaves externas, a chave externa deve ser uma chave AES de 256 bits que esteja habilitada e possa executar criptografia e descriptografia. Para obter requisitos detalhados de chaves externas, consulte [Requisitos para uma chave do KMS em um armazenamento de chaves externas](create-xks-keys.md#xks-key-requirements).

AWS KMS não pode criar, excluir ou gerenciar nenhuma chave externa. O material de chave de criptografia nunca sai do gerenciador de chaves externas. Ao criar uma chave do KMS em um armazenamento de chaves externas, você fornece o ID de uma chave externa (`XksKeyId`). Você não pode alterar o ID da chave externa associada a uma chave do KMS, embora seu gerenciador de chaves externas possa alternar o material de chave associado ao ID da chave externa.

Além da chave externa, uma chave do KMS em um armazenamento de chaves externas também tem material de chave do AWS KMS . Os dados protegidos pela chave KMS são criptografados primeiro AWS KMS usando o material de AWS KMS chaves e, em seguida, pelo gerenciador de chaves externo usando sua chave externa. Esse processo de [criptografia dupla](#concept-double-encryption) garante que o texto cifrado protegido pela chave do KMS seja sempre pelo menos tão forte quanto o texto cifrado protegido somente pelo AWS KMS. 

Muitas chaves de criptografia têm diferentes tipos de identificadores. Ao criar uma chave do KMS em um armazenamento de chaves externas, forneça o ID da chave externa que o [proxy de armazenamento de chaves externas](#concept-xks-proxy) usa para se referir à chave externa. Se você usar o identificador errado, haverá falha na tentativa de criar uma chave do KMS em seu armazenamento de chaves externas.

### Proxy de armazenamento de chaves externas
<a name="concept-xks-proxy"></a>

O proxy *externo de armazenamento de chaves (“proxy* XKS”) é um aplicativo de software de propriedade e gerenciamento do cliente que medeia toda a comunicação entre AWS KMS e seu gerenciador de chaves externo. Ele também traduz AWS KMS solicitações genéricas em um formato que seu gerente de chaves externo específico do fornecedor entenda. É necessário um proxy de armazenamento de chaves externas para um armazenamento de chaves externas. Cada armazenamento de chaves externas é associado a um proxy de armazenamento de chaves externas.

![\[Proxy de armazenamento de chaves externas\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/xks-proxy-concept-40.png)


AWS KMS não pode criar, excluir ou gerenciar nenhuma chave externa. O material de chave de criptografia nunca sai do gerenciador de chaves externas. Toda a comunicação entre AWS KMS e seu gerenciador de chaves externo é mediada pelo proxy externo do armazenamento de chaves. AWS KMS envia solicitações para o proxy externo do armazenamento de chaves e recebe respostas do proxy externo do armazenamento de chaves. O proxy externo do armazenamento de chaves é responsável por transmitir solicitações de AWS KMS seu gerenciador de chaves externo e transmitir respostas de seu gerenciador de chaves externo de volta para AWS KMS

Você possui e gerencia o proxy de armazenamento de chaves externas para seu armazenamento de chaves externas e é responsável por sua manutenção e operação. Você pode desenvolver seu proxy de armazenamento de chaves externo com base na [especificação da API de proxy de armazenamento de chaves externo](https://github.com/aws/aws-kms-xksproxy-api-spec/) de código aberto que AWS KMS publica ou compra um aplicativo proxy de um fornecedor. Seu proxy de armazenamento de chaves externas pode estar incluído em seu gerenciador de chaves externas. Para oferecer suporte ao desenvolvimento de proxy, AWS KMS também fornece um exemplo de proxy externo de armazenamento de chaves ([aws-kms-xks-proxy](https://github.com/aws-samples/aws-kms-xks-proxy)) e um cliente de teste ([xks-kms-xksproxy-test-client](https://github.com/aws-samples/aws-kms-xksproxy-test-client)) que verifica se o proxy do armazenamento de chaves externo está em conformidade com a especificação.

Para se autenticar AWS KMS, o proxy usa certificados TLS do lado do servidor. Para se autenticar em seu proxy, AWS KMS assina todas as solicitações em seu proxy externo de armazenamento de chaves com uma credencial de autenticação de [proxy](#concept-xks-credential) SigV4.

O proxy externo de armazenamento de chaves deve oferecer suporte a HTTP/1.1 ou posterior e TLS 1.2 ou posterior com pelo menos um dos seguintes conjuntos de criptografia:
+ TLS\$1AES\$1256\$1GCM\$1 (TLS 1.3SHA384 )
+ TLS\$1 \$1 CHACHA20 POLY1305 \$1 SHA256 (TLS 1.3)
**nota**  
O AWS GovCloud (US) Region não suporta TLS\$1 \$1 CHACHA20 \$1POLY1305. SHA256
+ TLS\$1ECDHE\$1RSA\$1COM\$1AES\$1256\$1GCM\$1 (TLS 1.2SHA384 )
+ SHA384 TLS\$1ECDHE\$1ECDSA\$1COM\$1AES\$1256\$1GCM\$1 (TLS 1.2)

Para criar e usar as chaves do KMS em seu armazenamento de chaves externas, você deve primeiro [conectar o armazenamento de chaves externas](xks-connect-disconnect.md) ao proxy de armazenamento de chaves externas. Você também pode desconectar o armazenamento de chaves externas do proxy sob demanda. Quando você faz isso, todas as chaves do KMS no armazenamento de chaves externas ficam [indisponíveis](key-state.md) e não podem ser usadas em nenhuma operação de criptografia.

### Conectividade de proxy de armazenamento de chaves externas
<a name="concept-xks-connectivity"></a>

A conectividade de proxy de armazenamento de chaves externo (“conectividade de proxy XKS”) descreve o método AWS KMS usado para se comunicar com seu proxy de armazenamento de chaves externo. 

Você especifica sua opção de conectividade de proxy ao criar o armazenamento de chaves externas, e ela se torna uma propriedade do armazenamento de chaves externas. Você pode alterar sua opção de conectividade de proxy atualizando a propriedade do armazenamento de chaves personalizado, mas você deve ter certeza de que o proxy de armazenamento de chaves externas ainda pode acessar as mesmas chaves externas.

AWS KMS suporta as seguintes opções de conectividade.
+ [Conectividade de endpoint público](choose-xks-connectivity.md#xks-connectivity-public-endpoint) — AWS KMS envia solicitações para seu proxy externo de armazenamento de chaves pela Internet para um endpoint público que você controla. Essa opção é simples de criar e manter, mas talvez não atenda aos requisitos de segurança de todas as instalações.
+ [Conectividade do serviço de endpoint VPC](choose-xks-connectivity.md#xks-vpc-connectivity) — AWS KMS envia solicitações para um serviço de endpoint da Amazon Virtual Private Cloud (Amazon VPC) que você cria e mantém. Você pode hospedar seu proxy externo de armazenamento de chaves dentro de sua Amazon VPC ou hospedar seu proxy externo de armazenamento de chaves fora AWS e usar a Amazon VPC somente para comunicação. Você também pode conectar o repositório de chaves externo a um serviço de endpoint da Amazon VPC pertencente a outra Conta da AWS.

Para obter detalhes sobre as opções de conectividade de proxy de armazenamento de chaves externas, consulte [Escolher uma opção de conectividade de proxy de um repositório de chaves externo](choose-xks-connectivity.md).

### Credencial de autenticação de proxy de armazenamento de chaves externas
<a name="concept-xks-credential"></a>

Para se autenticar no proxy externo do armazenamento de chaves, AWS KMS assine todas as solicitações no proxy externo do armazenamento de chaves com uma credencial de autenticação [Signature V4 (SigV4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)). Você estabelece e mantém a credencial de autenticação em seu proxy e, em seguida, fornece essa credencial AWS KMS ao criar seu armazenamento externo.

**nota**  
A credencial SigV4 AWS KMS usada para assinar solicitações ao proxy XKS não está relacionada a nenhuma credencial SigV4 associada aos diretores em seu. AWS Identity and Access Management Contas da AWS Não reutilize nenhuma credencial SigV4 do IAM para seu proxy de armazenamento de chaves externas.

Toda credencial de autenticação do proxy tem duas partes. É necessário fornecer as duas partes ao criar um armazenamento de chaves externas ou atualizar a credencial de autenticação do armazenamento de chaves externas.
+ ID da chave de acesso: identifica a chave de acesso secreta. Você pode fornecer esse ID em texto não criptografado.
+ Chave de acesso secreta: a parte secreta da credencial. AWS KMS criptografa a chave de acesso secreta na credencial antes de armazená-la.

Você pode [editar a configuração da credencial](update-xks-keystore.md) a qualquer momento, como ao inserir valores incorretos, ao alterar a credencial no proxy ou quando seu proxy alterna a credencial. Para obter detalhes técnicos sobre a AWS KMS autenticação no proxy externo do armazenamento de chaves, consulte [Autenticação](https://github.com/aws/aws-kms-xksproxy-api-spec/blob/main/xks_proxy_api_spec.md#authentication) na Especificação da API AWS KMS External Key Store Proxy.

Para permitir que você alterne sua credencial sem interromper o Serviços da AWS uso de chaves KMS em seu armazenamento de chaves externo, recomendamos que o proxy do armazenamento de chaves externo suporte pelo menos duas credenciais de autenticação válidas para. AWS KMS Isso garante que sua credencial anterior continue funcionando enquanto você fornece sua nova credencial para o AWS KMS.

Para ajudá-lo a rastrear a idade da sua credencial de autenticação de proxy, AWS KMS define uma CloudWatch métrica da Amazon, [XksProxyCredentialAge](monitoring-cloudwatch.md#metric-xks-proxy-credential-age). Você pode usar essa métrica para criar um CloudWatch alarme que o notifique quando a idade da sua credencial atingir um limite estabelecido por você.

### Proxy APIs
<a name="concept-proxy-apis"></a>

Para oferecer suporte a um armazenamento de chaves AWS KMS externo, um [proxy externo de armazenamento de chaves](#concept-xks-proxy) deve implementar o proxy necessário APIs conforme descrito na [Especificação da API AWS KMS External Key Store Proxy](https://github.com/aws/aws-kms-xksproxy-api-spec/). Essas solicitações de API de proxy são as únicas solicitações AWS KMS enviadas ao proxy. Embora você nunca envie essas solicitações diretamente, conhecê-las pode ajudar a corrigir problemas que possam surgir no armazenamento de chaves externas ou no proxy. Por exemplo, AWS KMS inclui informações sobre a latência e as taxas de sucesso dessas chamadas de API em suas [ CloudWatch métricas da Amazon](monitoring-cloudwatch.md) para lojas de chaves externas. Para obter detalhes, consulte [Monitorar repositórios de chaves externos](xks-monitoring.md).

A tabela a seguir lista e descreve cada proxy APIs. Também inclui as AWS KMS operações que acionam uma chamada para a API proxy e quaisquer exceções de AWS KMS operação relacionadas à API proxy.


| API de proxy | Description |  AWS KMS Operações relacionadas | 
| --- | --- | --- | 
| Decrypt | AWS KMS [envia o texto cifrado a ser descriptografado e o ID da chave externa a ser usada.](#concept-external-key) O algoritmo de criptografia obrigatório é AES\$1GCM.  | [Descriptografar, [ReEncrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) | 
| Encrypt | AWS KMS envia dados para serem criptografados e o ID da [chave externa](#concept-external-key) a ser usada. O algoritmo de criptografia obrigatório é AES\$1GCM.  | [Criptografar](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html),, [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html), [GenerateDataKeyWithoutPlaintext[ReEncrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html) | 
| GetHealthStatus | AWS KMS solicita informações sobre o status do proxy e do seu gerenciador de chaves externo. Cada gerenciador de chaves externas pode ter um dos status a seguir.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/keystore-external.html) | [CreateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html)(para conectividade de [endpoint público), [ConnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html)(para conectividade](choose-xks-connectivity.md#xks-connectivity-public-endpoint) de serviço de [endpoint VPC](choose-xks-connectivity.md#xks-vpc-connectivity))Se todas as instâncias do gerenciador de chaves externas tiverem o status `Unavailable`, as tentativas de criar ou conectar o armazenamento de chaves falharão com [`XksProxyUriUnreachableException`](xks-troubleshooting.md#fix-xks-latency). | 
| GetKeyMetadata | AWS KMS solicita informações sobre a [chave externa](#concept-external-key) associada a uma chave KMS em seu armazenamento de chaves externo. A resposta inclui a especificação da chave (`AES_256`), o uso da chave (`[ENCRYPT, DECRYPT]`) e se a chave externa está `ENABLED` ou `DISABLED`. | [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)Se a especificação da chave não for `AES_256`, se o uso da chave não for `[ENCRYPT, DECRYPT]` ou se o status for `DISABLED`, a operação `CreateKey` falhará com `XksKeyInvalidConfigurationException`. | 

### Criptografia dupla
<a name="concept-double-encryption"></a>

Os dados criptografados por uma chave do KMS em um armazenamento de chaves externas são criptografados duas vezes. Primeiro, AWS KMS criptografa os dados com material de AWS KMS chave específico para a chave KMS. Em seguida, o texto cifrado criptografado pelo AWS KMSé criptografado pelo [gerenciador de chaves externas](#concept-ekm) usando sua [chave externa](#concept-external-key). O processo é conhecido como *criptografia dupla*.

A criptografia dupla garante que os dados criptografados por uma chave do KMS em um armazenamento de chaves externas sejam pelo menos tão fortes quanto o texto cifrado criptografado por uma chave do KMS padrão. Ele também protege o texto simples em trânsito do proxy externo do AWS KMS armazenamento de chaves. Com a criptografia dupla, você mantém o controle total de seus textos cifrados. Se você revogar permanentemente o acesso da AWS à sua chave externa por meio do proxy externo, todo texto cifrado da AWS restante será efetivamente destruído por criptografia.

![\[Criptografia dupla de dados protegidos por uma chave do KMS em um armazenamento de chaves externas\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/xks-double-encrypt-40.png)


Para habilitar a criptografia dupla, cada chave do KMS em um armazenamento de chaves externas tem *duas* chaves de reserva de criptografia:
+ Um material de AWS KMS chave exclusivo da chave KMS. Esse material de chave é gerado e usado somente em módulos de segurança de hardware com certificação AWS KMS [FIPS 140-3 Security Level 3](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4884) (). HSMs
+ Uma [chave externa](#concept-external-key) em seu gerenciador de chaves externas.

A criptografia dupla tem os seguintes efeitos:
+ AWS KMS não pode descriptografar nenhum texto cifrado criptografado por uma chave KMS em um armazenamento de chaves externo sem acessar suas chaves externas por meio do proxy externo do armazenamento de chaves.
+ Você não pode descriptografar nenhum texto cifrado criptografado por uma chave KMS em um armazenamento externo de chaves externo AWS, mesmo que você tenha o material de chave externo.
+ Você não pode recriar uma chave do KMS que foi excluída de um armazenamento de chaves externas, mesmo que você tenha o material de chave externa. Cada chave do KMS tem metadados exclusivos que ela inclui no texto cifrado simétrico. Uma nova chave do KMS não seria capaz de descriptografar o texto cifrado criptografado pela chave original, ainda que usasse o mesmo material de chave externa.

Para obter um exemplo de criptografia dupla na prática, consulte [Como funcionam os armazenamentos de chaves externas](#xks-how-it-works).

## Como funcionam os armazenamentos de chaves externas
<a name="xks-how-it-works"></a>

O [repositório de chaves externo](#concept-external-key-store), o [proxy do repositório de chaves externo](#concept-xks-proxy) e o [gerenciador de chaves externo](#concept-ekm) trabalham juntos para proteger seus recursos da AWS . O procedimento a seguir descreve o fluxo de trabalho de criptografia de um AWS service (Serviço da AWS) comum que criptografa cada objeto em uma chave de dados exclusiva protegida por uma chave do KMS. Nesse caso, você escolheu uma chave do KMS em um armazenamento de chaves externas para proteger o objeto. O exemplo mostra como AWS KMS usa [criptografia dupla](#concept-double-encryption) para proteger a chave de dados em trânsito e garantir que o texto cifrado gerado por uma chave KMS em um armazenamento de chaves externo seja sempre pelo menos tão forte quanto o texto cifrado criptografado por uma chave KMS simétrica padrão com material de chave inserido. AWS KMS

Os métodos de criptografia usados por cada unidade real AWS service (Serviço da AWS) que se integra AWS KMS variam. Para obter detalhes, consulte o tópico “Proteção dos dados” no capítulo Segurança da documentação do AWS service (Serviço da AWS) .

![\[Como funcionam os armazenamentos de chaves externas\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/xks-how-it-works-jan26.png)


1. Você adiciona um novo objeto ao seu AWS service (Serviço da AWS) recurso. Para criptografar o objeto, AWS service (Serviço da AWS) ele envia uma [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)solicitação para AWS KMS usar uma chave KMS em seu armazenamento de chaves externo.

1. AWS KMS gera uma chave de [dados simétrica de 256 bits e se prepara para enviar uma cópia da chave](data-keys.md) de dados em texto simples para o gerenciador de chaves externo por meio do proxy externo do armazenamento de chaves. AWS KMS inicia o processo de [criptografia dupla](#concept-double-encryption) criptografando a chave de dados em texto simples com o [material de AWS KMS chave](#concept-double-encryption) associado à chave KMS no armazenamento de chaves externo. 

1. AWS KMS envia uma solicitação [de criptografia](#concept-proxy-apis) para o proxy externo do armazenamento de chaves associado ao armazenamento de chaves externo. A solicitação inclui o texto cifrado da chave de dados a ser criptografado e a ID da [chave externa](#concept-external-key) associada à chave KMS. AWS KMS assina a solicitação usando a [credencial de autenticação de proxy](#concept-xks-credential) para seu proxy externo de armazenamento de chaves. 

   A cópia em texto simples da chave de dados não é enviada para o proxy de armazenamento de chaves externas.

1. O proxy de armazenamento de chaves externas autentica a solicitação e passa a solicitação de criptografia para o gerenciador de chaves externas. 

   Alguns proxies de armazenamento de chaves externas também implementam uma [política de autorização](authorize-xks-key-store.md#xks-proxy-authorization) opcional que permite que somente entidades principais selecionadas realizem operações sob condições específicas.

1. O gerenciador de chaves externas criptografa o texto cifrado da chave de dados usando a chave externa especificada. O gerenciador de chaves externas retorna a chave de dados com criptografia dupla para o proxy de armazenamento de chaves externas, que a retorna para o AWS KMS.

1. AWS KMS retorna a chave de dados em texto simples e a cópia criptografada dupla dessa chave de dados para o. AWS service (Serviço da AWS)

1. O AWS service (Serviço da AWS) usa a chave de dados de texto simples para criptografar o objeto de recurso, destrói a chave de dados de texto sem formatação e armazena a chave de dados criptografada com o objeto criptografado. 

   Alguns Serviços da AWS podem armazenar em cache a chave de dados de texto simples para usar em vários objetos ou reutilizá-la enquanto o recurso estiver em uso. Para obter detalhes, consulte [Como as chaves do KMS inutilizáveis afetam as chaves de dados](unusable-kms-keys.md).

[Para descriptografar o objeto criptografado, é AWS service (Serviço da AWS) necessário enviar a chave de dados criptografada de volta AWS KMS em uma solicitação de descriptografia.](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) Para descriptografar a chave de dados criptografada, AWS KMS deve enviar a chave de dados criptografada de volta ao proxy externo do armazenamento de chaves com o ID da chave externa. Se a solicitação de descriptografia para o proxy externo do armazenamento de chaves falhar por algum motivo, não será AWS KMS possível descriptografar a chave de dados criptografada e não será possível descriptografar o AWS service (Serviço da AWS) objeto criptografado.

# Controlar o acesso ao repositório de chaves externo
<a name="authorize-xks-key-store"></a>

Todos os recursos de controle de AWS KMS acesso — [políticas principais](key-policies.md), [políticas de IAM](iam-policies.md) e [concessões](grants.md) — que você usa com chaves KMS padrão funcionam da mesma forma para chaves KMS em um armazenamento de chaves externo. Você pode usar políticas do IAM para controlar o acesso às operações de API que criam e gerenciam armazenamentos de chaves externas. Você usa políticas do IAM e políticas de chaves para controlar o acesso ao AWS KMS keys em seu armazenamento de chaves externo. Você também pode usar [políticas de controle de serviço](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) para sua AWS organização e [políticas de VPC endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/interface-endpoints.html#edit-vpc-endpoint-policy) para controlar o acesso às chaves KMS em seu armazenamento de chaves externo. 

Recomendamos que você forneça aos usuários e perfis apenas as permissões necessárias para as tarefas que possivelmente executarão.

**Topics**
+ [

## Autorizar gerenciadores de armazenamento de chaves externas
](#authorize-xks-managers)
+ [

## Autorizar usuários de chaves do KMS em armazenamentos de chaves externas
](#authorize-xks-users)
+ [

## Autorizando AWS KMS a comunicação com seu proxy externo de armazenamento de chaves
](#allowlist-kms-xks)
+ [

## Autorização de proxy de armazenamento de chaves externas (opcional)
](#xks-proxy-authorization)
+ [

## Autenticação mTLS (obsoleta)
](#xks-mtls)

## Autorizar gerenciadores de armazenamento de chaves externas
<a name="authorize-xks-managers"></a>

As entidades principais que criam e gerenciam um armazenamento de chaves externas precisam de permissões para as operações de armazenamento de chaves personalizado. A lista a seguir descreve as permissões mínimas necessárias para os gerenciadores de armazenamento de chaves externas. Como um armazenamento de chaves personalizado não é um AWS recurso, você não pode fornecer permissão a um armazenamento de chaves externo para responsáveis em outros Contas da AWS.
+ `kms:CreateCustomKeyStore`
+ `kms:DescribeCustomKeyStores`
+ `kms:ConnectCustomKeyStore`
+ `kms:DisconnectCustomKeyStore`
+ `kms:UpdateCustomKeyStore`
+ `kms:DeleteCustomKeyStore`

Para criar um armazenamento de chaves externo com a [conectividade do serviço de endpoint Amazon VPC e o serviço](choose-xks-connectivity.md#xks-vpc-connectivity) de endpoint VPC pertencer a outro Conta da AWS, você também precisará da seguinte permissão:
+ `ec2:DescribeVPCEndpointServices`

As entidades principais que criam um armazenamento de chaves externas precisam de permissão para criar e configurar os componentes do armazenamento de chaves externas. Elas podem criar armazenamentos de chaves externas somente em suas próprias contas. Para criar um armazenamento de chaves externas com [conectividade de serviço de endpoint da VPC](choose-xks-connectivity.md#xks-vpc-connectivity), as entidades principais devem ter permissão para criar os seguintes componentes:
+ Uma Amazon VPC
+ Sub-redes públicas e privadas
+ Um balanceador de carga de rede e grupo de destino
+ Um serviço de endpoint da Amazon VPC

Para obter detalhes, consulte [Identity and Access Management para a Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/security-iam.html), [Gerenciamento de identidade e acesso para endpoints da VPC e serviços de endpoint da VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-iam.html) e [Elastic Load Balancing API permissions](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/elb-api-permissions.html) (Permissões de API do Elastic Load Balancing).

## Autorizar usuários de chaves do KMS em armazenamentos de chaves externas
<a name="authorize-xks-users"></a>

Os diretores que criam e gerenciam AWS KMS keys em seu armazenamento de chaves externo exigem [as mesmas permissões](create-keys.md#create-key-permissions) que aqueles que criam e gerenciam qualquer chave KMS em. AWS KMS A [política de chaves padrão](key-policy-default.md) para a chave do KMS em um armazenamento de chaves externas é idêntica à política de chaves padrão para chaves do KMS no AWS KMS. O [controle de acesso por atributo](abac.md) (ABAC), que usa etiquetas e aliases para controlar o acesso a chaves do KMS, também é eficaz em chaves do KMS em armazenamentos de chaves externas.

As entidades principais que usam as chaves do KMS no seu armazenamento de chaves personalizado para [operações de criptografia](manage-cmk-keystore.md#use-cmk-keystore) precisam de permissão para executar a operação criptográfica com a chaves do KMS, como [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html). Você pode fornecer essas permissões em uma política do IAM ou em uma política de chaves. No entanto, elas não precisam de permissões adicionais para usar uma chave do KMS em um armazenamento de chaves personalizado.

Para definir uma permissão que se aplique somente às chaves do KMS em um armazenamento de chaves externas, use a condição de política [`kms:KeyOrigin`](conditions-kms.md#conditions-kms-key-origin) com um valor de `EXTERNAL_KEY_STORE`. Você pode usar essa condição para limitar a CreateKey permissão [kms:](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) ou qualquer permissão específica de um recurso de chave KMS. Por exemplo, a política do IAM a seguir permite que a identidade à qual está anexada chame as operações especificadas em todas as chaves do KMS da conta, desde que as chaves do KMS estejam em um armazenamento de chaves externas. Observe que você pode limitar a permissão às chaves KMS em um armazenamento de chaves externo e às chaves KMS em um Conta da AWS, mas não a qualquer armazenamento de chaves externo específico na conta.

```
{
  "Sid": "AllowKeysInExternalKeyStores",
  "Effect": "Allow",
  "Action": [
    "kms:Encrypt",
    "kms:Decrypt",
    "kms:ReEncrypt*",
    "kms:GenerateDataKey*",
    "kms:DescribeKey"
  ],
  "Resource": "arn:aws:kms:us-west-2:111122223333:key/*",
  "Condition": {
    "StringEquals": {
      "kms:KeyOrigin": "EXTERNAL_KEY_STORE"
    }
  }
}
```

## Autorizando AWS KMS a comunicação com seu proxy externo de armazenamento de chaves
<a name="allowlist-kms-xks"></a>

AWS KMS se comunica com seu gerenciador de chaves externo somente por meio do [proxy externo de armazenamento de chaves](keystore-external.md#concept-xks-proxy) que você fornece. AWS KMS autentica seu proxy assinando suas solicitações usando o [processo Signature Version 4 (SigV4)](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) com a [credencial de autenticação de proxy do armazenamento de chaves externo](keystore-external.md#concept-xks-credential) que você especificar. Se você estiver usando [conectividade de endpoint público](choose-xks-connectivity.md#xks-connectivity-public-endpoint) para seu proxy externo de armazenamento de chaves, AWS KMS não precisará de nenhuma permissão adicional. 

No entanto, se você estiver usando a [conectividade do serviço de endpoint VPC](choose-xks-connectivity.md#xks-vpc-connectivity), deverá dar AWS KMS permissão para criar um endpoint de interface para seu serviço de endpoint Amazon VPC. Essa permissão é necessária independentemente de o proxy externo do armazenamento de chaves estar na sua VPC ou se o proxy externo do armazenamento de chaves está localizado em outro lugar, mas usa o serviço de endpoint da VPC para se comunicar. AWS KMS

Para permitir AWS KMS a criação de um endpoint de interface, use o console [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#add-remove-permissions) ou [ModifyVpcEndpointServicePermissions](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpointServicePermissions.html)a operação. Conceda permissões para a seguinte entidade principal: `cks.kms.<region>.amazonaws.com`.

Se o seu serviço de endpoint da Amazon VPC for de propriedade de Conta da AWS outra pessoa que não seja a Conta da AWS proprietária do armazenamento externo de chaves (XKS), você também precisará permitir que o XKS acesse o serviço de endpoint da VPC. Para fazer isso, [liste o Conta da AWS ID XKS como principal para o serviço de endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#add-remove-permissions) da Amazon VPC.

------
#### [ Same Conta da AWS ]

Quando seu serviço de VPC endpoint pertence ao mesmo Conta da AWS que seu armazenamento de chaves externo, você deve adicioná-lo AWS KMS à lista **Permitir diretores** do seu serviço de VPC endpoint.

O exemplo a seguir usa o [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-endpoint-service-permissions.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-endpoint-service-permissions.html) AWS CLI comando AWS KMS para permitir a conexão com o serviço de endpoint de VPC especificado na região Oeste dos EUA (Oregon) (us-west-2). Antes de usar esse comando, substitua o ID do serviço Amazon VPC por valores válidos para sua configuração. Região da AWS 

```
modify-vpc-endpoint-service-permissions
--service-id vpce-svc-12abc34567def0987
--add-allowed-principals '["cks.kms.us-west-2.amazonaws.com"]'
```

Para remover essa permissão, use o [console da Amazon VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#add-remove-permissions) ou o [ModifyVpcEndpointServicePermissions](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpointServicePermissions.html)com o `RemoveAllowedPrincipals` parâmetro.

------
#### [ Cross Conta da AWS ]

Quando seu serviço de VPC endpoint pertence um ao outro Conta da AWS, você deve adicionar ambos AWS KMS e seu armazenamento de chaves externo à lista **Permitir principais** do seu serviço de VPC endpoint.

O exemplo a seguir usa o [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-endpoint-service-permissions.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-endpoint-service-permissions.html) AWS CLI comando para permitir que ambos AWS KMS e seu armazenamento de chaves externo (XKS) se conectem ao serviço de VPC endpoint especificado na região Oeste dos EUA (Oregon) (us-west-2). Antes de usar esse comando, substitua o ID do serviço Amazon VPC, a Região da AWS e o ARN da entidade principal do IAM por valores válidos para sua configuração. O diretor do IAM deve ser substituído por um principal do proprietário Conta da AWS do XKS.

Neste exemplo, `arn:aws:iam::123456789012:role/cks_role` é a entidade principal do IAM na conta do proprietário do XKS, que será usada para criar, atualizar ou conectar o XKS ao serviço de endpoint da VPC. Se você quiser permitir que todas as entidades principais na conta de proprietário do XKS acessem seu serviço de endpoint da VPC, você poderá especificar `arn:aws:iam::123456789012:root`.

```
modify-vpc-endpoint-service-permissions
--service-id vpce-svc-12abc34567def0987
--add-allowed-principals '["cks.kms.us-west-2.amazonaws.com", "arn:aws:iam::123456789012:role/cks_role"]'
```

Para remover essa permissão, use o [console da Amazon VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#add-remove-permissions) ou o [ModifyVpcEndpointServicePermissions](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpointServicePermissions.html)com o `RemoveAllowedPrincipals` parâmetro.

------

## Autorização de proxy de armazenamento de chaves externas (opcional)
<a name="xks-proxy-authorization"></a>

Alguns proxies de armazenamento de chaves externas implementam requisitos de autorização para o uso de suas chaves externas. O proxy de armazenamento de chaves externas é permitido, mas não obrigatório, para criar e implementar um esquema de autorização que permita que usuários específicos solicitem operações específicas somente sob certas condições. Por exemplo, o proxy pode ser configurado para dar ao usuário A permissão para criptografar com uma chave externa específica, mas não para descriptografar com ela.

A autorização de proxy é independente da [autenticação de proxy baseada em SIGV4](keystore-external.md#concept-xks-credential) que é AWS KMS necessária para todos os proxies de armazenamento de chaves externo. Também é independente das políticas de chave, políticas do IAM e concessões que autorizam o acesso a operações que afetam o armazenamento de chaves externas ou suas chaves do KMS.

Para habilitar a autorização pelo proxy externo do armazenamento de chaves, AWS KMS inclua metadados em cada [solicitação da API do proxy](keystore-external.md#concept-proxy-apis), incluindo o chamador, a chave KMS, a AWS KMS operação, a AWS service (Serviço da AWS) (se houver). Veja a seguir os metadados da solicitação para a versão 1 (v1) da API de proxy de chave externa.

```
"requestMetadata": {
    "awsPrincipalArn": string,
    "awsSourceVpc": string, // optional
    "awsSourceVpce": string, // optional
    "kmsKeyArn": string,
    "kmsOperation": string,
    "kmsRequestId": string,
    "kmsViaService": string // optional
}
```

Por exemplo, você pode configurar seu proxy para permitir solicitações de um determinado principal (`awsPrincipalArn`), mas somente quando a solicitação for feita em nome do principal por um determinado AWS service (Serviço da AWS) (`kmsViaService`).

Se a autorização do proxy falhar, a AWS KMS operação relacionada falhará com uma mensagem que explica o erro. Para obter mais detalhes, consulte [Problemas de autorização de proxy](xks-troubleshooting.md#fix-xks-authorization).

## Autenticação mTLS (obsoleta)
<a name="xks-mtls"></a>

As versões anteriores deste guia mencionaram *o Mutual Transport Layer Security* (mTLS) como um mecanismo de autenticação secundário opcional para autenticar solicitações. AWS KMS Com o mTLS, ambas as partes (AWS KMS como cliente e o proxy XKS como servidor) que se comunicam por meio de um canal TLS usam certificados para se autenticarem.

No entanto, as alterações na [Política do Programa Raiz do Chrome (Seção 4.2.2)](https://googlechrome.github.io/chromerootprogram/policy-archive/policy-version-1-7/#422-pki-hierarchies-included-in-the-chrome-root-store) proíbem que o root publicamente confiável CAs incluído no Chrome Root Store emita certificados com a extensão ClientAuth Extended Key Usage (EKU) após 15 de junho de 2026. Como resultado, não é mais AWS KMS possível obter um certificado de cliente adequado para mTLS da [Amazon Trust Services](https://www.amazontrust.com/repository/). Qualquer proxy XKS usado para criar um novo armazenamento externo de chaves AWS KMS após 16 de março de 2026 não deve exigir mTLS. Depois de 15 de junho de 2026, qualquer proxy XKS configurado para exigir mTLS não conseguirá se comunicar com ele. AWS KMS Os clientes devem confiar na autenticação SigV4 para verificar se as solicitações são originárias de. AWS KMS Para obter mais informações, consulte [Credencial de autenticação de proxy do armazenamento de chaves externo](keystore-external.md#concept-xks-credential).

# Escolher uma opção de conectividade de proxy de um repositório de chaves externo
<a name="choose-xks-connectivity"></a>

Antes de criar seu armazenamento de chaves externo, escolha a opção de conectividade que determina como AWS KMS se comunica com os componentes do armazenamento de chaves externo. A opção de conectividade escolhida determinará o restante do processo de planejamento.

Se você estiver criando um armazenamento de chaves externo, precisará determinar como AWS KMS se comunica com seu [proxy de armazenamento de chaves externo](keystore-external.md#concept-xks-proxy). Essa escolha determinará quais componentes você precisa e como você os configura. AWS KMS suporta as seguintes opções de conectividade.
+ [Conectividade de endpoints públicos](#xks-connectivity-public-endpoint)
+ [Conectividade do serviço de endpoint da VPC](#xks-vpc-connectivity)

Escolha a opção que atenda aos seus objetivos de performance e segurança.

Antes de começar, [confirme se você precisa de um armazenamento de chaves externas](keystore-external.md#do-i-need-xks). A maioria dos clientes pode usar chaves KMS apoiadas por material de AWS KMS chaves.

**Considerações**
+ Se seu proxy de armazenamento de chaves externas estiver incorporado ao gerenciador de chaves externas, a conectividade poderá ser predeterminada. Para obter orientações, consulte a documentação do gerenciador de chaves externas ou do proxy de armazenamento de chaves externas.
+ Você pode [alterar a opção de conectividade de proxy de armazenamento de chaves externas](update-xks-keystore.md) mesmo em um armazenamento de chaves externas operacional. Contudo, o processo deve ser planejado e executado com atenção para minimizar interrupções, evitar erros e garantir acesso contínuo às chaves de criptografia que criptografam seus dados.

## Conectividade de endpoints públicos
<a name="xks-connectivity-public-endpoint"></a>

AWS KMS se conecta ao proxy externo do armazenamento de chaves (proxy XKS) pela Internet usando um endpoint público.

Essa opção de conectividade é mais fácil de configurar e de manter e se alinha bem com alguns modelos de gerenciamento de chaves. No entanto, pode não atender aos requisitos de segurança de algumas organizações.

![\[Conectividade de endpoints públicos\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/xks-public-endpoint-60.png)


**Requisitos**

Se você escolher a conectividade de endpoint público, será necessário realizar as ações a seguir. 
+ Seu proxy de armazenamento de chaves externas deve estar acessível em um endpoint roteável publicamente. 
+ Você pode usar o mesmo endpoint público para vários armazenamentos de chaves externas, desde que eles usem valores de [caminho do URI do proxy](create-xks-keystore.md#require-path) diferentes. 
+ Você não pode usar o mesmo endpoint para um armazenamento de chaves externo com conectividade de endpoint público e qualquer armazenamento de chaves externo com conectividade de serviços de endpoint VPC no mesmo Região da AWS, mesmo que os armazenamentos de chaves estejam em locais diferentes. Contas da AWS
+ É necessário obter um certificado TLS emitido por uma autoridade de certificação pública com suporte para armazenamentos de chaves externas. Para obter uma lista, consulte [Trusted Certificate Authorities](https://github.com/aws/aws-kms-xksproxy-api-spec/blob/main/TrustedCertificateAuthorities) (Autoridades de certificação confiáveis). 

  O nome comum (CN) da entidade no certificado TLS deve corresponder ao nome do domínio no [endpoint do URI do proxy](create-xks-keystore.md#require-endpoint) do armazenamento de chaves externas. Por exemplo, se o endpoint público for `https://myproxy.xks.example.com`, o TLS, o CN no certificado TLS deverá ser `myproxy.xks.example.com` ou `*.xks.example.com`.
+ Certifique-se de que qualquer firewall entre AWS KMS e o proxy externo do armazenamento de chaves permita o tráfego de e para a porta 443 no proxy. AWS KMS se comunica na porta 443. IPv4 Esse valor não é configurável.

Para todos os requisitos de um armazenamento de chaves externas, consulte [Organizar os pré-requisitos](create-xks-keystore.md#xks-requirements).

## Conectividade do serviço de endpoint da VPC
<a name="xks-vpc-connectivity"></a>

AWS KMS se conecta ao proxy externo do armazenamento de chaves (proxy XKS) criando um endpoint de interface para um serviço de endpoint da Amazon VPC que você cria e configura. Você é responsável por [criar o serviço de endpoint da VPC](vpc-connectivity.md) e por conectar sua VPC ao gerenciador de chaves externas.

Seu serviço de endpoint pode usar qualquer uma das opções de [ network-to-AmazonVPC compatíveis](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html) para comunicações, inclusive. [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/) 

Essa opção de conectividade é mais complicada de configurar e manter. Mas ele usa AWS PrivateLink, o que permite AWS KMS conectar-se de forma privada à sua Amazon VPC e ao seu proxy externo de armazenamento de chaves sem usar a Internet pública.

Você pode localizar o proxy de armazenamento de chaves externas na Amazon VPC.

![\[Conectividade do serviço de endpoint da VPC: proxy XKS na VPC\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/xks-proxy-in-vpc-60.png)


Como alternativa, você pode localizar seu proxy externo de armazenamento de chaves fora Nuvem AWS e usar seu serviço de endpoint Amazon VPC somente para comunicação segura com. AWS KMS

![\[Conectividade do serviço de endpoint VPC - proxy XKS fora do AWS\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/xks-proxy-via-vpc-60.png)


Você também pode conectar um armazenamento de chaves externo a um serviço de endpoint da Amazon VPC de propriedade de outra pessoa. Conta da AWS Ambos Contas da AWS precisam das [permissões necessárias](authorize-xks-key-store.md#authorize-xks-managers) para permitir a comunicação entre AWS KMS e o serviço de endpoint da VPC 

**Saiba mais:**
+ Analise o processo de criação de um armazenamento de chaves externas, incluindo a [montagem dos pré-requisitos](create-xks-keystore.md#xks-requirements). Isso ajudará a garantir que você tenha todos os componentes obrigatórios para criar seu armazenamento de chaves externas.
+ Saiba como [controlar o acesso ao armazenamento de chaves externas](authorize-xks-key-store.md), inclusive as permissões que os administradores e usuários do armazenamento de chaves externas exigem. 
+ Saiba mais sobre as [ CloudWatch métricas e dimensões da Amazon](monitoring-cloudwatch.md#kms-metrics) que AWS KMS registram para lojas de chaves externas. É altamente recomendável criar alarmes para monitorar o armazenamento de chaves externas para poder detectar os primeiros sinais de problemas operacionais e de performance.

# Configurar a conectividade do serviço de endpoint da VPC
<a name="vpc-connectivity"></a>

Use as orientações desta seção para criar e configurar os AWS recursos e os componentes relacionados que são necessários para um armazenamento de chaves externo que usa conectividade de serviço de [endpoint VPC](choose-xks-connectivity.md#xks-vpc-connectivity). Os recursos listados para essa opção de conectividade são um complemento aos [recursos obrigatórios para todos os armazenamentos de chaves externas](create-xks-keystore.md#xks-requirements). Depois de criar e configurar os recursos obrigatórios, você pode [criar seu armazenamento de chaves externas](create-xks-keystore.md).

Você pode localizar seu proxy externo de armazenamento de chaves em sua Amazon VPC ou localizar o proxy fora dela AWS e usar seu serviço de endpoint de VPC para comunicação.

Antes de começar, [confirme se você precisa de um armazenamento de chaves externas](keystore-external.md#do-i-need-xks). A maioria dos clientes pode usar chaves KMS apoiadas por material de AWS KMS chaves.

**nota**  
Alguns dos elementos obrigatórios para a conectividade do serviço de endpoint da VPC podem estar incluídos no gerenciador de chaves externas. Além disso, seu software pode ter outros requisitos de configuração. Antes de criar e configurar os AWS recursos nesta seção, consulte a documentação do proxy e do gerenciador de chaves.

**Topics**
+ [

## Requisitos para conectividade do serviço de endpoint da VPC
](#xks-vpce-service-requirements)
+ [

## Etapa 1: criar uma Amazon VPC e sub-redes
](#xks-create-vpc)
+ [

## Etapa 2: criar um grupo de destino
](#xks-target-group)
+ [

## Etapa 3: criar um Network Load Balancer
](#xks-nlb)
+ [

## Etapa 4: criar um serviço de endpoint da VPC
](#xks-vpc-svc)
+ [

## Etapa 5: verificar o domínio do seu nome de DNS privado
](#xks-private-dns)
+ [

## Etapa 6: Autorizar AWS KMS a conexão com o serviço de endpoint da VPC
](#xks-vpc-authorize-kms)

## Requisitos para conectividade do serviço de endpoint da VPC
<a name="xks-vpce-service-requirements"></a>

Se você escolher a conectividade do serviço de endpoint da VPC para seu armazenamento de chaves externas, serão necessários os recursos a seguir. 
+ Uma Amazon VPC conectada ao gerenciador de chaves externas. Deve ter pelo menos duas [sub-redes](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html) privadas em duas zonas de disponibilidade diferentes.

  Você pode usar uma Amazon VPC existente para seu armazenamento de chaves externas, desde que ela [atenda aos requisitos](#xks-vpc-requirements) de uso do armazenamento de chaves externas. Vários armazenamentos de chaves externas podem compartilhar uma Amazon VPC, mas cada armazenamento de chaves externas deve ter seu próprio serviço de endpoint da VPC e nome DNS privado.
+ Um [serviço de endpoint da Amazon VPC desenvolvido pelo AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html) com um [balanceador de carga de rede](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) e um [grupo de destino](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html). 

  O serviço de endpoint não pode exigir aceitação. Além disso, você deve adicionar o AWS KMS como entidade principal autorizada. Isso permite AWS KMS criar endpoints de interface para que ele possa se comunicar com seu proxy externo de armazenamento de chaves.
+ Um nome DNS privado para o serviço de endpoint da VPC exclusivo em sua Região da AWS. 

  O nome DNS privado deve ser o subdomínio de um domínio público de nível superior. Por exemplo, se o nome DNS privado for `myproxy-private.xks.example.com`, ele deverá ser o subdomínio de um domínio público, como `xks.example.com` ou `example.com`.

  É necessário [verificar a propriedade](#xks-private-dns) do domínio DNS para o nome DNS privado.
+ Um certificado TLS emitido por uma [autoridade de certificação pública](https://github.com/aws/aws-kms-xksproxy-api-spec/blob/main/TrustedCertificateAuthorities) com suporte para o proxy de armazenamento de chaves externas. 

  O nome comum (CN) da entidade no certificado TLS deve corresponder ao nome DNS privado. Por exemplo, se o nome DNS privado for `myproxy-private.xks.example.com`, o CN no certificado TLS deverá ser `myproxy-private.xks.example.com` ou `*.xks.example.com`.
+ Para minimizar a latência da rede, crie seus AWS componentes no [suporte Região da AWS](keystore-external.md#xks-regions) mais próximo do seu [gerenciador de chaves externo](keystore-external.md#concept-ekm). Se possível, escolha uma região com um tempo de resposta (RTT) de 35 milissegundos ou menos.

Para todos os requisitos de um armazenamento de chaves externas, consulte [Organizar os pré-requisitos](create-xks-keystore.md#xks-requirements).

## Etapa 1: criar uma Amazon VPC e sub-redes
<a name="xks-create-vpc"></a>

A conectividade do serviço de endpoint da VPC exige uma Amazon VPC conectada ao gerenciador de chaves externas com pelo menos duas sub-redes privadas. Você pode criar uma Amazon VPC ou usar uma Amazon VPC existente que atenda aos requisitos para armazenamentos de chaves externas. Para obter ajuda sobre como criar uma nova Amazon VPC, consulte [Criar uma VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC) no *Guia do usuário da Amazon Virtual Private Cloud*.

### Requisitos para sua Amazon VPC
<a name="xks-vpc-requirements"></a>

O serviço de endpoint VPC da Amazon deve ter as propriedades a seguir para funcionar com repositórios de chaves externos.
+ Deve estar na mesma [região compatível](keystore-external.md#xks-regions) que o repositório de chaves externo.
+ Requer pelo menos duas sub-redes privadas, cada uma em uma zona de disponibilidade diferente.
+ O intervalo de endereços IP privados de sua Amazon VPC não deve se sobrepor ao intervalo de endereços IP privados do data center que hospeda seu [gerenciador de chaves externas](keystore-external.md#concept-ekm).
+ Todos os componentes devem ser usados IPv4.

Você tem muitas opções para conectar a Amazon VPC ao seu proxy de armazenamento de chaves externas. Escolha uma opção que atenda a suas necessidades de performance e segurança. Para ver uma lista, consulte [Conectar sua VPC a outras redes](https://docs.aws.amazon.com/vpc/latest/userguide/extend-intro.html) e opções de conectividade de [Network-to-Amazon VPC](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html). Para obter mais detalhes, consulte [Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) e o [Guia do usuário do AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/).

### Criar uma Amazon VPC para seu armazenamento de chaves externas
<a name="xks-vpc-create"></a>

Use as instruções a seguir para criar a Amazon VPC para o armazenamento de chaves externas. Uma Amazon VPC será necessária somente se você escolher a opção de [conectividade do serviço de endpoint da VPC](choose-xks-connectivity.md). Você pode criar uma Amazon VPC existente que atenda aos requisitos de um armazenamento de chaves externas.

Siga as instruções no tópico [Criar uma VPC, sub-redes e outros recursos de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#create-vpc-and-other-resources) usando os valores obrigatórios abaixo. Para outros campos, aceite os valores padrão e forneça os nomes conforme solicitado.


| Campo | Valor | 
| --- | --- | 
| IPv4 Bloco CIDR | Insira os endereços IP da VPC. O intervalo de endereços IP privados de sua Amazon VPC não deve se sobrepor ao intervalo de endereços IP privados do data center que hospeda seu [gerenciador de chaves externas](keystore-external.md#concept-ekm). | 
| Número de zonas de disponibilidade (AZs) | 2 ou mais | 
| Número de sub-redes públicas |  Nenhum é obrigatório (0)  | 
| Número de sub-redes privadas | Um para cada AZ | 
| Gateways NAT | Nenhum é obrigatório. | 
| Endpoints da VPC | Nenhum é obrigatório. | 
| Enable DNS hostnames | Sim | 
| Habilitar a resolução de DNS | Sim | 

Não se esqueça de testar a comunicação da VPC. Por exemplo, se o proxy de armazenamento de chaves externas não estiver localizado na Amazon VPC, crie uma instância do Amazon EC2 em sua Amazon VPC e verifique se a Amazon VPC pode se comunicar com seu proxy de armazenamento de chaves externas.

### Conectar a VPC ao gerenciador de chaves externas
<a name="xks-vpc-to-ekm"></a>

Conecte a VPC ao data center em que o gerenciador de chaves externas está hospedado usando uma das [opções de conectividade de rede](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html) compatíveis com a Amazon VPC. Certifique-se de que a instância do Amazon EC2 na VPC (ou o proxy de repositório de chaves externo, se estiver na VPC) possa se comunicar com o data center e o gerenciador de chaves externas.

## Etapa 2: criar um grupo de destino
<a name="xks-target-group"></a>

Antes de criar o serviço de endpoint da VPC obrigatório, crie seus componentes obrigatórios, um balanceador de carga de rede (NLB) e um grupo de destino. O balanceador de carga de rede (NLB) distribui solicitações entre vários destinos íntegros, e qualquer um deles pode atender à solicitação. Nesta etapa, você cria um grupo de destino com pelo menos dois hosts para seu proxy de armazenamento de chaves externas e registra seus endereços IP com o grupo de destino.

Siga as instruções no tópico [Configure a target group](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html#configure-target-group) (Configurar um grupo de destino) usando os valores obrigatórios a seguir. Para outros campos, aceite os valores padrão e forneça os nomes conforme solicitado.


| Campo | Valor | 
| --- | --- | 
| Target type | Endereços IP | 
| Protocolo | TCP | 
| Porta |  443  | 
| Tipo de endereço IP | IPv4 | 
| VPC | Escolha a VPC em que você criará o serviço de endpoint da VPC para seu armazenamento de chaves externas. | 
| Protocolo e caminho de verificação de integridade | O protocolo e o caminho de verificação de integridade serão diferentes da configuração de proxy de armazenamento de chaves externas. Consulte a documentação do gerenciador de chaves externas ou do proxy de armazenamento de chaves externas.Para obter informações gerais sobre como configurar verificações de integridade para grupos de destino, consulte [Health checks for your target groups](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-health-checks.html) (Verificações de integridade de grupos de destino) no Guia do usuário do Elastic Load Balancing para Network Load Balancers. | 
| Rede | Outro endereço IP privado | 
| IPv4 endereço | Os endereços privados do proxy de armazenamento de chaves externas | 
| Portas | 443 | 

## Etapa 3: criar um Network Load Balancer
<a name="xks-nlb"></a>

O balanceador de carga de rede distribui o tráfego da rede, incluindo solicitações do AWS KMS para seu proxy de armazenamento de chaves externas, aos destinos configurados.

Siga as instruções no tópico [Configure a load balancer and a listener](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html#configure-load-balancer) (Configurar um balanceador de carga e um receptor) para configurar e adicionar um receptor e criar um balanceador de carga usando os valores obrigatórios a seguir. Para outros campos, aceite os valores padrão e forneça os nomes conforme solicitado.


| Campo | Valor | 
| --- | --- | 
| Esquema | Interno | 
| Tipo de endereço IP | IPv4 | 
| Mapeamento de rede |  Escolha a VPC em que você criará o serviço de endpoint da VPC para seu armazenamento de chaves externas.  | 
| Mapeamento | Escolha as duas zonas de disponibilidade (pelo menos duas) que você configurou para as sub-redes da VPC. Verifique os nomes das sub-redes e o endereço IP privado. | 
| Protocolo | TCP | 
| Porta | 443 | 
| Ação padrão: encaminhar para | Escolha o [grupo de destino](#xks-target-group) para seu balanceador de carga de rede. | 

## Etapa 4: criar um serviço de endpoint da VPC
<a name="xks-vpc-svc"></a>

Normalmente, você cria um endpoint para um serviço. No entanto, ao criar um serviço de VPC endpoint, você é o provedor e AWS KMS cria um endpoint para seu serviço. Para um armazenamento de chaves externas, crie um serviço de endpoint da VPC com o balanceador de carga de rede criado na etapa anterior. O serviço de VPC endpoint pode estar no mesmo que seu armazenamento Conta da AWS de chaves externo ou em outro. Conta da AWS

Vários armazenamentos de chaves externas podem compartilhar uma Amazon VPC, mas cada armazenamento de chaves externas deve ter seu próprio serviço de endpoint da VPC e nome DNS privado.

Siga as instruções no tópico [Create an endpoint service](https://docs.aws.amazon.com/vpc/latest/privatelink/create-endpoint-service.html#create-endpoint-service-nlb) (Criar um serviço de endpoint) para criar seu serviço de endpoint da VPC com os valores obrigatórios a seguir. Para outros campos, aceite os valores padrão e forneça os nomes conforme solicitado.


| Campo | Valor | 
| --- | --- | 
| Tipo de balanceador de carga | Rede | 
| Balanceadores de carga disponíveis | Escolha o [balanceador de carga de rede](#xks-nlb) criado na etapa anterior.Se o novo balanceador de carga não for exibido na lista, verifique se o estado está ativo. Pode demorar alguns minutos para que o estado do balanceador de carga seja alterado de em provisionamento para ativo. | 
| Aceitação obrigatória | Falso. Desmarque a caixa de seleção.*Não exija aceitação*. AWS KMS não é possível se conectar ao serviço de endpoint da VPC sem uma aceitação manual. Se a aceitação for obrigatória, as tentativas de [criar o armazenamento de chaves externas](create-xks-keystore.md) falharão com uma exceção `XksProxyInvalidConfigurationException`.  | 
| Habilitar nome DNS privado | Associar um nome DNS privado ao serviço | 
| Nome DNS privado | Insira um nome DNS privado que seja exclusivo na Região da AWS. O nome DNS privado deve ser o subdomínio de um domínio público de nível superior. Por exemplo, se o nome DNS privado for `myproxy-private.xks.example.com`, ele deverá ser o subdomínio de um domínio público, como `xks.example.com` ou `example.com`.Esse nome DNS privado deve corresponder ao nome comum (CN) da entidade no certificado TLS configurado em seu proxy de armazenamento de chaves externas. Por exemplo, se o nome DNS privado for `myproxy-private.xks.example.com`, o CN no certificado TLS deverá ser `myproxy-private.xks.example.com` ou `*.xks.example.com`.Se o certificado e o nome DNS privado não coincidirem, as tentativas de conectar um armazenamento de chaves externas ao proxy de armazenamento de chaves externas falharão com um código de erro de conexão de `XKS_PROXY_INVALID_TLS_CONFIGURATION`. Para obter detalhes, consulte [Erros gerais de configuração](xks-troubleshooting.md#fix-xks-gen-configuration). | 
| Tipos de endereço IP compatíveis | IPv4 | 

## Etapa 5: verificar o domínio do seu nome de DNS privado
<a name="xks-private-dns"></a>

Quando você cria o serviço de endpoint da VPC, seu status de verificação de domínio é `pendingVerification`. Antes de usar o serviço de endpoint da VPC para criar um armazenamento de chaves externas, esse status deve ser `verified`. Para verificar se você é o proprietário do domínio associado ao nome DNS privado, é necessário criar um registro TXT em um servidor DNS público.

Por exemplo, se o nome DNS privado do seu serviço de VPC endpoint `myproxy-private.xks.example.com` for, você deverá criar um registro TXT em um domínio público, `xks.example.com` como `example.com` ou, o que for público. AWS PrivateLink procura o registro TXT primeiro `xks.example.com` e depois ligado. `example.com`

**dica**  
Depois que você adicionar um registro TXT, poderá levar alguns minutos para que o valor do **status da verificação do domínio** seja alterado de `pendingVerification` para `verify`.

Para começar, encontre o status de verificação do domínio usando um dos métodos a seguir. Os valores válidos são `verified`, `pendingVerification` e `failed`. 
+ No [console da Amazon VPC](https://console.aws.amazon.com/vpc), escolha **Endpoint services** (Serviços de endpoint) e escolha o serviço de endpoint. No painel de detalhes, consulte **Domain verification status** (Status da verificação do domínio).
+ Use a operação [DescribeVpcEndpointServiceConfigurations](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcEndpointServiceConfigurations.html). O valor de `State` está no campo `ServiceConfigurations.PrivateDnsNameConfiguration.State`.

Se o status da verificação não for `verified`, siga as instruções no tópico [Domain ownership verification](https://docs.aws.amazon.com/vpc/latest/privatelink/manage-dns-names.html#verify-domain-ownership) (Verificação de propriedade do domínio) para adicionar um registro TXT ao servidor DNS do domínio e verificar se o registro TXT foi publicado. Em seguida, verifique o status de verificação novamente.

Não é necessário criar um registro A para o nome de domínio DNS privado. Ao AWS KMS criar um endpoint de interface para seu serviço de endpoint de VPC AWS PrivateLink , cria automaticamente uma zona hospedada com o registro A necessário para o nome de domínio privado na VPC. AWS KMS Para armazenamentos de chaves externas com conectividade de serviço de endpoint da VPC, isso acontece quando você [conecta seu armazenamento de chaves externas](xks-connect-disconnect.md) ao proxy de armazenamento de chaves externas.

## Etapa 6: Autorizar AWS KMS a conexão com o serviço de endpoint da VPC
<a name="xks-vpc-authorize-kms"></a>

Veja os procedimentos a seguir para gerenciar as permissões de serviço de endpoint da Amazon VPC. Cada etapa depende da conectividade e da configuração entre o repositório de chaves externo, o serviço de endpoint da VPC e a Conta da AWS.

------
#### [ Same Conta da AWS ]

Quando seu serviço de VPC endpoint pertence ao mesmo Conta da AWS que seu armazenamento de chaves externo, você deve adicioná-lo AWS KMS à lista **Permitir diretores** do seu serviço de VPC endpoint. Isso permite AWS KMS criar endpoints de interface para seu serviço de endpoint VPC. Se não AWS KMS for um principal permitido, as tentativas de criar um armazenamento de chaves externo falharão, com uma `XksProxyVpcEndpointServiceNotFoundException` exceção.

Siga as instruções no tópico [Manage permissions](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#add-remove-permissions) (Gerenciar permissões) no *Guia do AWS PrivateLink *. Use o valor obrigatório a seguir.


| Campo | Valor | 
| --- | --- | 
| AWS KMS ARN | cks.kms.<region>.amazonaws.com.rproxy.govskope.caPor exemplo, `cks.kms.us-east-1.amazonaws.com`. | 

------
#### [ Cross Conta da AWS ]

**Quando seu serviço de VPC endpoint é de propriedade de outra pessoa, Conta da AWS você deve adicionar ambos AWS KMS e sua conta à lista de diretores permitidos.** Isso permite que AWS KMS seu armazenamento de chaves externo crie endpoints de interface para seu serviço de endpoint de VPC. Se o AWS KMS não for uma entidade principal autorizada, as tentativas de criar um armazenamento de chaves externas falharão, com a exceção `XksProxyVpcEndpointServiceNotFoundException`. Você precisará fornecer o Conta da AWS ARN em que o armazenamento externo de chaves reside.

Siga as instruções no tópico [Manage permissions](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#add-remove-permissions) (Gerenciar permissões) no *Guia do AWS PrivateLink *. Use o valor obrigatório a seguir.


| Campo | Valor | 
| --- | --- | 
| AWS KMS ARN | cks.kms.<region>.amazonaws.com.rproxy.govskope.caPor exemplo, `cks.kms.us-east-1.amazonaws.com`. | 
| Conta da AWS ARN | arn:aws:iam::111122223333:role/role\$1namePor exemplo, `arn:aws:iam::123456789012:role/cks_role`. | 

------

**Próximo**: [Criar um repositório de chaves externo](create-xks-keystore.md)

# Criar um repositório de chaves externo
<a name="create-xks-keystore"></a>

Você pode criar um ou vários armazenamentos de chaves externos em cada Conta da AWS região. Cada armazenamento de chaves externo deve estar associado a um gerenciador de chaves externo e a um proxy externo de AWS armazenamento de chaves (proxy XKS) que medeia a comunicação entre AWS KMS e seu gerenciador de chaves externo. Para obter detalhes, consulte [Escolher uma opção de conectividade de proxy de um repositório de chaves externo](choose-xks-connectivity.md). Antes de começar, [confirme se você precisa de um armazenamento de chaves externas](keystore-external.md#do-i-need-xks). A maioria dos clientes pode usar chaves KMS apoiadas por material de AWS KMS chaves.

**dica**  
Alguns gerenciadores de chaves externas fornecem um método mais simples de criar um armazenamento de chaves externas. Para obter detalhes, consulte a documentação do gerenciador de chaves externas.

Antes de criar o armazenamento de chaves externas, você precisa [organizar os pré-requisitos](#xks-requirements). Durante o processo de criação, especifique as propriedades do armazenamento de chaves externas. Mais importante ainda, você indica se seu armazenamento de chaves externo AWS KMS usa um [endpoint público](choose-xks-connectivity.md#xks-connectivity-public-endpoint) ou um serviço de [VPC endpoint](choose-xks-connectivity.md#xks-vpc-connectivity) para se conectar ao proxy externo do armazenamento de chaves. Você também especifica os detalhes da conexão, incluindo o endpoint de URI do proxy e o caminho dentro desse endpoint de proxy onde AWS KMS envia solicitações de API para o proxy. 

**Considerações**
+ O KMS não pode se comunicar IPv6 com armazenamentos de chaves externos.
+  Se você usa conectividade de endpoint público, certifique-se de que ele AWS KMS possa se comunicar com seu proxy pela Internet usando uma conexão HTTPS. Isso inclui configurar o TLS no proxy externo do armazenamento de chaves e garantir que qualquer firewall entre AWS KMS e o proxy permita o IPv4 tráfego de e para a porta 443 no proxy. Ao criar um armazenamento de chaves externo com conectividade de endpoint público, AWS KMS testa a conexão enviando uma solicitação de status para o proxy externo do armazenamento de chaves. Esse teste verifica se o endpoint está acessível e se o proxy de armazenamento de chaves externas aceitará uma solicitação assinada com sua [credencial de autenticação de proxy de armazenamento de chaves externas](keystore-external.md#concept-xks-credential). Se essa solicitação de teste falhar, a operação para criar o armazenamento de chaves externas falhará.
+ Se você usa a conectividade do serviço de endpoint da VPC, verifique se o balanceador de carga de rede, o nome DNS privado e o serviço de endpoint da VPC estão configurados corretamente e em operação. Se o proxy externo do armazenamento de chaves não estiver na VPC, você precisará garantir que o serviço de endpoint da VPC possa se comunicar com o proxy externo do armazenamento de chaves. (AWS KMS testa a conectividade do serviço de endpoint VPC quando você [conecta o armazenamento de chaves externo ao proxy externo do armazenamento](xks-connect-disconnect.md) de chaves.)
+ AWS KMS registra [ CloudWatch métricas e dimensões da Amazon](monitoring-cloudwatch.md#kms-metrics), especialmente para lojas de chaves externas. Gráficos de monitoramento baseados em algumas dessas métricas aparecem no AWS KMS console para cada armazenamento externo de chaves. É altamente recomendável usar essas métricas para criar alarmes que monitorem o repositório de chaves externo. Esses alarmes alertam sobre os primeiros sinais de problemas operacionais e de performance antes que eles ocorram. Para instruções, consulte [Monitorar repositórios de chaves externos](xks-monitoring.md).
+ Os armazenamentos de chaves externas estão sujeitos a [cotas de recursos](resource-limits.md#cks-resource-quota). O uso de chaves do KMS em um armazenamento de chaves externas está sujeito às [cotas de solicitação](requests-per-second.md#rps-key-stores). Analise essas cotas antes de projetar sua implementação de armazenamento de chaves externas. 

**nota**  
Revise sua configuração para ver se há dependências circulares que possam impedi-lo de funcionar.  
Por exemplo, se você criar seu proxy de armazenamento de chaves externo usando AWS recursos, certifique-se de que a operação do proxy não exija a disponibilidade de uma chave KMS em um armazenamento de chaves externo que seja acessado por meio desse proxy.

Todos os novos armazenamentos de chaves externas são criados no estado desconectado. Antes de criar chaves do KMS em seu armazenamento de chaves externas, é necessário [conectá-lo](about-xks-connecting.md) ao proxy de armazenamento de chaves externas. Para alterar as propriedades do armazenamento de chaves externas, [edite as configurações de armazenamento de chaves externas](update-xks-keystore.md).

**Topics**
+ [

## Organizar os pré-requisitos
](#xks-requirements)
+ [

## Criar um novo repositório de chaves externo
](#create-xks)

## Organizar os pré-requisitos
<a name="xks-requirements"></a>

Antes de criar um armazenamento de chaves externo, você precisa montar os componentes necessários, incluindo o [gerenciador de chaves externo](keystore-external.md#concept-ekm) que você usará para dar suporte ao armazenamento de chaves externo e o [proxy externo do armazenamento de chaves](keystore-external.md#concept-xks-proxy) que traduz as AWS KMS solicitações em um formato que seu gerenciador de chaves externo possa entender. 

Os componentes a seguir são obrigatórios para todos os armazenamentos de chaves externas. Além desses componentes, é necessário fornecer os componentes que ofereçam suporte à [opção de conectividade do proxy de armazenamento de chaves externas](choose-xks-connectivity.md) que você escolher.

**dica**  
O gerenciador de chaves externas pode incluir alguns desses componentes ou eles poderão ser configurados para você. Para obter detalhes, consulte a documentação do gerenciador de chaves externas.  
Se você estiver criando seu armazenamento externo de chaves no AWS KMS console, você tem a opção de carregar um [arquivo de configuração de proxy](#proxy-configuration-file) baseado em JSON que especifica o [caminho do URI do proxy e a credencial](#require-path) de autenticação do [proxy](keystore-external.md#concept-xks-credential). Alguns proxies de armazenamento de chaves externas geram esse arquivo para você. Para obter detalhes, consulte a documentação do proxy de armazenamento de chaves externas ou do gerenciador de chaves externas.

### Gerenciador de chaves externas
<a name="require-ekm"></a>

Cada armazenamento de chaves externas requer pelo menos uma instância do [gerenciador de chaves externas](keystore-external.md#concept-ekm). Pode ser um módulo de segurança de hardware (HSM) físico ou virtual ou um software de gerenciamento de chaves.

Você pode usar um único gerenciador de chaves, mas recomendamos pelo menos duas instâncias de gerenciador de chaves relacionadas que compartilhem chaves de criptografia para redundância. O armazenamento de chaves externas não exige o uso exclusivo do gerenciador de chaves externas. No entanto, o gerenciador de chaves externo deve ter a capacidade de lidar com a frequência esperada de solicitações de criptografia e descriptografia dos AWS serviços que usam chaves KMS no armazenamento de chaves externo para proteger seus recursos. O gerenciador de chaves externas deve ser configurado para lidar com até 1.800 solicitações por segundo e responder dentro do tempo limite de 250 milissegundos para cada solicitação. Recomendamos que você localize o gerenciador de chaves externo próximo a um para Região da AWS que o tempo de ida e volta (RTT) da rede seja de 35 milissegundos ou menos.

Se o proxy de armazenamento de chaves externas permitir, será possível alterar o gerenciador de chaves externas que você associa ao proxy de armazenamento de chaves externas, mas o novo gerenciador de chaves externas deve ser um backup ou snapshot com o mesmo material de chave. Se a chave externa que você associa a uma chave KMS não estiver mais disponível para seu proxy externo de armazenamento de chaves, AWS KMS não será possível descriptografar o texto cifrado criptografado com a chave KMS.

O gerenciador de chaves externas deve estar acessível ao proxy de armazenamento de chaves externas. Se a [GetHealthStatus](keystore-external.md#xks-concepts)resposta do proxy informar que todas as instâncias externas do gerenciador de chaves são`Unavailable`, todas as tentativas de criar um armazenamento de chaves externo falharão com um [`XksProxyUriUnreachableException`](xks-troubleshooting.md#fix-xks-proxy). 

### Proxy de armazenamento de chaves externas
<a name="require-proxy"></a>

É necessário especificar um [proxy de armazenamento de chaves externas](keystore-external.md#concept-xks-proxy) (proxy XKS) que esteja em conformidade com os requisitos de design em [AWS KMS External Key Store Proxy API Specification](https://github.com/aws/aws-kms-xksproxy-api-spec/) (Especificação da API de proxy de armazenamento de chaves externas do ). Você pode desenvolver ou comprar um proxy externo de armazenamento de chaves ou usar um proxy externo de armazenamento de chaves fornecido ou incorporado ao seu gerenciador de chaves externo. AWS KMS recomenda que seu proxy externo de armazenamento de chaves seja configurado para lidar com até 1800 solicitações por segundo e responder dentro do tempo limite de 250 milissegundos para cada solicitação. Recomendamos que você localize o gerenciador de chaves externo próximo a um para Região da AWS que o tempo de ida e volta (RTT) da rede seja de 35 milissegundos ou menos.

Você pode usar um proxy de armazenamento de chaves externas para mais de um armazenamento de chaves externas, mas cada armazenamento de chaves externas deve ter um endpoint de URI e um caminho exclusivo dentro do proxy de armazenamento de chaves externas para as solicitações.

Se você estiver usando a conectividade do serviço de endpoint da VPC, poderá localizar o proxy de armazenamento de chaves externas na Amazon VPC, mas isso não é necessário. Você pode localizar seu proxy fora dele AWS, como em seu data center privado, e usar o serviço de VPC endpoint somente para se comunicar com o proxy. 

### Credencial de autenticação de proxy
<a name="require-credential"></a>

Para criar um armazenamento de chaves externas, é necessário especificar sua credencial de autenticação de proxy de armazenamento de chaves externas (`XksProxyAuthenticationCredential`). 

Você deve estabelecer uma [credencial de autenticação](keystore-external.md#concept-xks-credential) (`XksProxyAuthenticationCredential`) AWS KMS no proxy externo do armazenamento de chaves. AWS KMS autentica seu proxy assinando suas solicitações usando o [processo Signature Version 4 (SigV4)](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) com a credencial de autenticação de proxy do armazenamento de chaves externo. Você especifica a credencial de autenticação ao criar seu armazenamento de chaves externas e [pode alterá-la](update-xks-keystore.md) a qualquer momento. Se o proxy alternar sua credencial, certifique-se de atualizar os valores da credencial para seu armazenamento de chaves externas.

A credencial de autenticação do proxy tem duas partes. É necessário fornecer as duas partes para o armazenamento de chaves externas.
+ ID da chave de acesso: identifica a chave de acesso secreta. Você pode fornecer o ID em texto não criptografado.
+ Chave de acesso secreta: a parte secreta da credencial. AWS KMS criptografa a chave de acesso secreta na credencial antes de armazená-la.

A credencial SigV4 AWS KMS usada para assinar solicitações ao proxy externo do armazenamento de chaves não está relacionada a nenhuma credencial SigV4 associada a nenhum principal em suas contas. AWS Identity and Access Management AWS Não reutilize nenhuma credencial SigV4 do IAM para seu proxy de armazenamento de chaves externas.

### Conectividade do proxy
<a name="require-connectivity"></a>

Para criar um armazenamento de chaves externas, é necessário especificar sua opção de conectividade do proxy de armazenamento de chaves externas (`XksProxyConnectivity`).

AWS KMS pode se comunicar com seu proxy externo de armazenamento de chaves usando um [endpoint público ou um serviço de endpoint](choose-xks-connectivity.md#xks-connectivity-public-endpoint) [da Amazon Virtual Private Cloud (Amazon VPC)](choose-xks-connectivity.md#xks-vpc-connectivity). Embora seja mais simples de configurar e manter, um endpoint público pode não atender aos requisitos de segurança de todas as instalações. Se você escolher a opção de conectividade do serviço de endpoint da Amazon VPC, deverá criar e manter os componentes obrigatórios, inclusive uma Amazon VPC com pelo menos duas sub-redes em duas zonas de disponibilidade diferentes, um serviço de endpoint da VPC com um balanceador de carga de rede e grupo de destino e um nome DNS privado para o serviço de endpoint da VPC.

Você pode [alterar a opção de conectividade de proxy](update-xks-keystore.md) para seu armazenamento de chaves externas. No entanto, você deve garantir a disponibilidade contínua do material de chave associado às chaves do KMS em seu armazenamento de chaves externas. Caso contrário, AWS KMS não será possível descriptografar nenhum texto cifrado criptografado com essas chaves KMS.

Para obter ajuda para decidir qual opção de conectividade de proxy é melhor para seu armazenamento de chaves externas, consulte [Escolher uma opção de conectividade de proxy de um repositório de chaves externo](choose-xks-connectivity.md). Para obter ajuda para criar uma configuração da conectividade do serviço de endpoint da VPC, consulte [Configurar a conectividade do serviço de endpoint da VPC](vpc-connectivity.md).

### Endpoint de URI do proxy
<a name="require-endpoint"></a>

Para criar um armazenamento de chaves externo, você deve especificar o endpoint (`XksProxyUriEndpoint`) AWS KMS usado para enviar solicitações ao proxy externo do armazenamento de chaves. 

O protocolo deve ser HTTPS. AWS KMS se comunica pela IPv4 porta 443. Não especifique a porta no valor do endpoint do URI do proxy.
+ [Conectividade de endpoint público](choose-xks-connectivity.md#xks-connectivity-public-endpoint): especifique o endpoint disponível publicamente para seu proxy de armazenamento de chaves externas. Esse endpoint deve estar acessível antes de você criar o armazenamento de chaves externas. 
+ [Conectividade do serviço de endpoint da VPC](choose-xks-connectivity.md#xks-vpc-connectivity): especifique `https://` seguido pelo nome DNS privado do serviço de endpoint da VPC.

O certificado do servidor TLS configurado no proxy do armazenamento de chaves externas deve corresponder ao nome do domínio no endpoint de URI do proxy de armazenamento de chaves externas e ser emitido por uma autoridade de certificação com suporte para armazenamentos de chaves externas. Para obter uma lista, consulte [Trusted Certificate Authorities](https://github.com/aws/aws-kms-xksproxy-api-spec/blob/main/TrustedCertificateAuthorities) (Autoridades de certificação confiáveis). A autoridade de certificação exigirá prova de propriedade do domínio antes de emitir o certificado TLS. 

O nome comum (CN) da entidade no certificado TLS deve corresponder ao nome DNS privado. Por exemplo, se o nome DNS privado for `myproxy-private.xks.example.com`, o CN no certificado TLS deverá ser `myproxy-private.xks.example.com` ou `*.xks.example.com`.

Você pode [alterar seu endpoint do URI do proxy](update-xks-keystore.md), mas certifique-se de que o proxy do armazenamento de chaves externas tenha acesso ao material de chave associado às chaves do KMS de seu armazenamento de chaves externas. Caso contrário, AWS KMS não será possível descriptografar nenhum texto cifrado criptografado com essas chaves KMS.

**Requisitos de exclusividade**
+ O valor combinado do endpoint (`XksProxyUriEndpoint`) do URI do proxy e do caminho do URI do proxy (`XksProxyUriPath`) deve ser exclusivo na região e Conta da AWS .
+ Armazenamentos de chaves externas com conectividade de endpoint público podem compartilhar o mesmo endpoint do URI do proxy, desde que tenham valores do caminho do URI do proxy diferentes.
+ Um armazenamento de chaves externo com conectividade de endpoint público não pode usar o mesmo valor de endpoint de URI de proxy que qualquer armazenamento de chaves externo com conectividade de serviços de endpoint VPC no mesmo Região da AWS, mesmo que os armazenamentos de chaves estejam em diferentes. Contas da AWS
+  Cada armazenamento de chaves externas com conectividade de endpoint da VPC deve ter seu próprio nome DNS privado. O endpoint do URI do proxy (nome DNS privado) deve ser exclusivo na região Conta da AWS e.

### Caminho do URI do proxy
<a name="require-path"></a>

Para criar um armazenamento de chaves externo, você deve especificar o caminho base em seu proxy de armazenamento de chaves externo para o [proxy necessário APIs](keystore-external.md#concept-proxy-apis). O valor deve começar com `/` e terminar com/kms/xks/v1, onde `v1` representa a versão da AWS KMS API para o proxy externo do armazenamento de chaves. Esse caminho pode incluir um prefixo opcional entre os elementos obrigatórios, como `/example-prefix/kms/xks/v1`. Para encontrar esse valor, consulte a documentação do proxy de armazenamento de chaves externas.

AWS KMS envia solicitações de proxy para o endereço especificado pela concatenação do endpoint do URI do proxy e do caminho do URI do proxy. Por exemplo, se o endpoint do URI do proxy for `https://myproxy.xks.example.com` e o caminho do URI do proxy for`/kms/xks/v1`, AWS KMS envia suas solicitações de API do proxy para`https://myproxy.xks.example.com/kms/xks/v1`. 

Você pode [alterar o caminho do URI do proxy](update-xks-keystore.md), mas certifique-se de que o proxy do armazenamento de chaves externas tenha acesso ao material de chave associado às chaves do KMS de seu armazenamento de chaves externas. Caso contrário, AWS KMS não será possível descriptografar nenhum texto cifrado criptografado com essas chaves KMS.

**Requisitos de exclusividade**
+ O valor combinado do endpoint (`XksProxyUriEndpoint`) do URI do proxy e do caminho do URI do proxy (`XksProxyUriPath`) deve ser exclusivo na região e Conta da AWS . 

### Serviço de VPC endpoint
<a name="require-vpc-service-name"></a>

Especifica o nome do serviço de endpoint da Amazon VPC usado para se comunicar com o proxy de armazenamento de chaves externas. Esse componente é obrigatório somente para armazenamentos de chaves externas que usam conectividade de serviços de endpoint da VPC. Para obter ajuda para instalar e configurar seu serviço de endpoint da VPC para um armazenamento de chaves externas, consulte [Configurar a conectividade do serviço de endpoint da VPC](vpc-connectivity.md).

O serviço de endpoint da VPC deve ter as seguintes propriedades:
+ O serviço de endpoint da VPC pode residir na mesma Conta da AWS que o repositório de chaves externo ou em outra.
  + O serviço de endpoint da VPC deve residir no mesmo armazenamento Região da AWS de chaves externo.
  + Você precisará fornecer o Conta da AWS ID do serviço de endpoint da VPC se ele residir em um local diferente. Conta da AWS
+ Deve ter um balanceador de carga de rede (NLB) conectado a pelo menos duas sub-redes, cada uma em uma zona de disponibilidade diferente.
+ A *lista de diretores de permissão* para o serviço de endpoint da VPC deve incluir AWS KMS o principal de serviço da Região`cks.kms.<region>.amazonaws.com`:, como. `cks.kms.us-east-1.amazonaws.com`
  + Se o seu serviço de endpoint da Amazon VPC for de propriedade de Conta da AWS outra pessoa que não seja a Conta da AWS proprietária do armazenamento externo de chaves (XKS), você também precisará permitir que o XKS acesse o serviço de endpoint da VPC. Para fazer isso, [liste o Conta da AWS ID XKS como principal para o serviço de endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#add-remove-permissions) da Amazon VPC.
+ Não deve exigir a aceitação de solicitações de conexão. 
+ Deve ter um nome DNS privado dentro de um domínio público de nível superior. Por exemplo, você pode ter o nome DNS privado myproxy-private.xks.example.com no domínio público `xks.example.com`.

  O nome DNS privado de um armazenamento de chaves externas com conectividade do serviço de endpoint da VPC deve ser exclusivo na Região da AWS.
+ O [status da verificação do domínio](vpc-connectivity.md#xks-private-dns) do nome DNS privado deverá ser `verified`. 
+ O certificado do servidor TLS configurado no proxy do armazenamento de chaves externas deve especificar o nome de host DNS privado no qual o endpoint pode ser acessado.

**Requisitos de exclusividade**
+ Armazenamentos de chaves externas com conectividade de endpoint da VPC podem compartilhar uma `Amazon VPC`, mas cada armazenamento de chaves externas deve ter seu próprio serviço de endpoint da VPC e nome DNS privado.

### Arquivo de configuração do proxy
<a name="proxy-configuration-file"></a>

Um *arquivo de configuração de proxy* é um arquivo opcional baseado em JSON que contém valores para o [caminho do URI do proxy](#require-path) e as [propriedades da credencial de autenticação do proxy](#require-credential) do armazenamento de chaves externas. Ao criar ou [editar um armazenamento de chaves externas](update-xks-keystore.md) no console do AWS KMS , é possível carregar um arquivo de configuração de proxy para fornecer valores de configuração para o armazenamento de chaves externas. Usar esse arquivo evita erros de digitação e colagem e garante que os valores do armazenamento de chaves externas correspondam aos valores do proxy de armazenamento de chaves externas. 

Os arquivos de configuração do proxy são gerados pelo proxy de armazenamento de chaves externas. Para saber se o proxy de armazenamento de chaves externas oferece um arquivo de configuração de proxy, consulte a documentação do proxy de armazenamento de chaves externas.

Veja a seguir o exemplo de um arquivo de configuração de proxy bem formado com valores fictícios.

```
{
  "XksProxyUriPath": "/example-prefix/kms/xks/v1",
  "XksProxyAuthenticationCredential": {
    "AccessKeyId": "ABCDE12345670EXAMPLE",
    "RawSecretAccessKey": "0000EXAMPLEFA5FT0mCc3DrGUe2sti527BitkQ0Zr9MO9+vE="
  }
}
```

Você pode carregar um arquivo de configuração de proxy somente ao criar ou editar um armazenamento de chaves externo no AWS KMS console. Você não pode usá-lo com as [UpdateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateCustomKeyStore.html)operações [CreateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html)ou, mas pode usar os valores no arquivo de configuração do proxy para garantir que os valores dos parâmetros estejam corretos.

## Criar um novo repositório de chaves externo
<a name="create-xks"></a>

Depois de reunir os pré-requisitos necessários, você pode criar um novo armazenamento externo de chaves no AWS KMS console ou usando a operação. [CreateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html)

### Usando o AWS KMS console
<a name="create-keystore-console"></a>

Antes de criar um repositório de chaves externo, [escolha o tipo de conectividade de proxy](choose-xks-connectivity.md) e verifique se você criou e configurou todos os [componentes necessários](#xks-requirements). Se precisar de ajuda para encontrar algum dos valores obrigatórios, consulte a documentação do proxy de armazenamento de chaves externas ou do software de gerenciamento de chaves.

**nota**  
Ao criar um armazenamento de chave externo no Console de gerenciamento da AWS, você pode carregar um *arquivo de configuração de proxy* baseado em JSON com valores para o [caminho do URI do proxy](#require-path) e a credencial de [autenticação do proxy](#require-credential). Alguns proxies geram esse arquivo para você. Não é obrigatório.

1. Faça login no console Console de gerenciamento da AWS e abra o AWS Key Management Service (AWS KMS) em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

1. No painel de navegação, selecione **Custom key stores** (Armazenamentos de chaves personalizados), **External key stores** (Armazenamentos de chaves externas).

1. Escolha **Create external key store** (Criar armazenamento de chaves externas).

1. Digite um nome amigável para o armazenamento de chaves externas. O nome deve ser exclusivo entre todos os outros armazenamentos de chaves externas da conta.
**Importante**  
Não inclua informações confidenciais ou sigilosas nesse campo. Esse campo pode ser exibido em texto simples em CloudTrail registros e outras saídas.

1. Escolha o tipo de [conectividade de proxy](#require-connectivity). 

   A escolha de conectividade de proxy determina os [componentes obrigatórios](#xks-requirements) para o proxy de armazenamento de chaves externas. Para obter ajuda para fazer essa escolha, consulte [Escolher uma opção de conectividade de proxy de um repositório de chaves externo](choose-xks-connectivity.md).

   1. Selecione **Serviço de endpoint da VPC entre contas** se seu serviço de endpoint da VPC residir em uma Conta da AWS diferente. Em seguida, insira o Conta da AWS ID do proprietário do VPC endpoint no campo ID da conta do proprietário do serviço do **VPC endpoint**.

   1. Escolha ou insira o nome do [serviço de endpoint da VPC](#require-vpc-service-name) para esse armazenamento de chaves externas. Essa etapa é exibida somente quando o tipo de conectividade de proxy do repositório de chaves externo de endpoint é **serviço de endpoint da VPC**.

      O serviço de endpoint VPC e seu VPCs devem atender aos requisitos de um armazenamento de chaves externo. Para obter detalhes, consulte [Organizar os pré-requisitos](#xks-requirements).

1. Escolha ou insira o nome do [serviço de endpoint da VPC](#require-vpc-service-name) para esse armazenamento de chaves externas. Essa etapa é exibida somente quando o tipo de conectividade de proxy de armazenamento de chaves externas é o **serviço de endpoint da VPC**.

   O serviço de endpoint VPC e seu VPCs devem atender aos requisitos de um armazenamento de chaves externo. Para obter detalhes, consulte [Organizar os pré-requisitos](#xks-requirements).

1. Insira o [endpoint do URI do proxy](#require-endpoint). O protocolo deve ser HTTPS. AWS KMS se comunica pela IPv4 porta 443. Não especifique a porta no valor do endpoint do URI do proxy.

   Se AWS KMS reconhecer o serviço de VPC endpoint que você especificou na etapa anterior, ele preencherá esse campo para você.

   Para obter conectividade de endpoint público, insira um URI de endpoint disponível publicamente. Para obter conectividade do endpoint da VPC: insira `https://` seguido pelo nome DNS privado do serviço de endpoint da VPC.

1. Para inserir os valores do prefixo do [caminho do URI do proxy](#require-path) e da [credencial de autenticação do proxy](#require-credential), carregue um arquivo de configuração do proxy ou insira os valores manualmente.
   + Se você tiver um [arquivo de configuração de proxy](#proxy-configuration-file) opcional que contenha valores para o [caminho do URI do proxy](#require-path.title) e a [credencial de autenticação do proxy](#require-credential), escolha **Upload configuration file** (Carregar arquivo de configuração). Siga as etapas para carregar o arquivo.

     Quando o arquivo for carregado, o console exibirá os valores do arquivo em campos editáveis. Você pode alterar os valores agora ou [editar esses valores](update-xks-keystore.md) depois que o armazenamento de chaves externas for criado.

     Para exibir o valor da chave de acesso secreta, escolha **Show secret access key** (Exibir chave de acesso secreta).
   + Caso não tenha um arquivo de configuração de proxy, você poderá inserir o caminho do URI do proxy e os valores da credencial de autenticação do proxy manualmente.

     1. Caso não tenha um arquivo de configuração de proxy, insira o URI do proxy manualmente. O console fornece o valor**/kms/xks/v1** necessário. 

        Se o [caminho do URI do proxy](#require-path) incluir um prefixo opcional, como `example-prefix` em `/example-prefix/kms/xks/v1`, insira o prefixo no campo **Proxy URI path prefix** (Prefixo do caminho do URI do proxy). Senão, deixe o campo vazio.

     1. Caso não tenha um arquivo de configuração de proxy, insira a [credencial de autenticação do proxy](keystore-external.md#concept-xks-credential) manualmente. Tanto o ID da chave de acesso como a chave de acesso secreta são obrigatórios.
        + Em **Proxy credential: Access key ID** (Credencial do proxy: ID da chave de acesso), insira o ID da chave de acesso da credencial de autenticação do proxy. O ID da chave de acesso identifica a chave de acesso secreta. 
        + Em **Proxy credential: Secret acces key** (Credencial do proxy: chave de acesso secreta), insira a chave de acesso secreta da credencial de autenticação do proxy.

        Para exibir o valor da chave de acesso secreta, escolha **Show secret access key** (Exibir chave de acesso secreta).

        Esse procedimento não define nem altera a credencial de autenticação que você estabeleceu no proxy de armazenamento de chaves externas. Ele apenas associa esses valores ao armazenamento de chaves externas. Para obter informações sobre como configurar, alterar e alternar sua credencial de autenticação de proxy, consulte a documentação do proxy de armazenamento de chaves externas ou do software de gerenciamento de chaves. 

        Se a credencial de autenticação de proxy for alterada, [edite a configuração de credencial](update-xks-keystore.md) para seu armazenamento de chaves externas.

1. Escolha **Create external key store** (Criar armazenamento de chaves externas).

Se o procedimento for bem-sucedido, o novo armazenamento de chaves externas será exibido na lista de armazenamentos de chaves externas 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 [CreateKey erros na chave externa](xks-troubleshooting.md#fix-external-key-create).

**Próximo**: os novos armazenamentos de chaves externas não são conectados automaticamente. Antes de criar AWS KMS keys em seu armazenamento de chaves externo, você deve [conectar o armazenamento de chaves externo](xks-connect-disconnect.md) ao proxy de armazenamento de chaves externo.

### Usando a AWS KMS API
<a name="create-keystore-api"></a>

Você pode usar a [CreateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html)operação para criar um novo armazenamento de chaves externo. Para obter ajuda para encontrar os valores dos parâmetros obrigatórios, consulte a documentação do proxy de armazenamento de chaves externas ou do software de gerenciamento de chaves.

**dica**  
Você não pode carregar um [arquivo de configuração de proxy](#proxy-configuration-file) ao usar a operação `CreateCustomKeyStore`. Porém, você pode usar os valores no arquivo de configuração do proxy para garantir que os valores dos parâmetros estejam corretos.

Para criar um armazenamento de chaves externas, a operação `CreateCustomKeyStore` exige os valores de parâmetros a seguir.
+ `CustomKeyStoreName`: um nome amigável para o armazenamento de chaves externas que é exclusivo na conta.
**Importante**  
Não inclua informações confidenciais ou sigilosas nesse campo. Esse campo pode ser exibido em texto simples em CloudTrail registros e outras saídas.
+ `CustomKeyStoreType`: especifique `EXTERNAL_KEY_STORE`.
+ [`XksProxyConnectivity`](#require-connectivity): especifique `PUBLIC_ENDPOINT` ou `VPC_ENDPOINT_SERVICE`.
+ [`XksProxyAuthenticationCredential`](keystore-external.md#concept-xks-credential): especifique o ID da chave de acesso e a chave de acesso secreta. 
+ [`XksProxyUriEndpoint`](#require-endpoint): o endpoint que o AWS KMS usa para se comunicar com o proxy de armazenamento de chaves externas.
+ [`XksProxyUriPath`](#require-path)— O caminho dentro do proxy até o proxy APIs. 
+ [`XksProxyVpcEndpointServiceName`](#require-vpc-service-name): exigido somente quando o valor de `XksProxyConnectivity` é `VPC_ENDPOINT_SERVICE`.

**nota**  
Se você usa a AWS CLI versão 1.0, execute o comando a seguir antes de especificar um parâmetro com um valor HTTP ou HTTPS, como o `XksProxyUriEndpoint` parâmetro.  

```
aws configure set cli_follow_urlparam false
```
Caso contrário, a AWS CLI versão 1.0 substitui o valor do parâmetro pelo conteúdo encontrado nesse endereço URI, causando o seguinte erro:  

```
Error parsing parameter '--xks-proxy-uri-endpoint': Unable to retrieve 
https:// : received non 200 status code of 404
```

Os exemplos a seguir usam valores fictícios. Antes de executar o comando, substitua-os por valores válidos para seu armazenamento de chaves externas.

Crie um armazenamento de chaves externas com conectividade pública de endpoints.

```
$ aws kms create-custom-key-store
        --custom-key-store-name ExampleExternalKeyStorePublic \
        --custom-key-store-type EXTERNAL_KEY_STORE \
        --xks-proxy-connectivity PUBLIC_ENDPOINT \
        --xks-proxy-uri-endpoint https://myproxy.xks.example.com \
        --xks-proxy-uri-path /kms/xks/v1 \
        --xks-proxy-authentication-credential AccessKeyId=<value>,RawSecretAccessKey=<value>
```

Crie um armazenamento de chaves externas com conectividade de serviço de endpoint da VPC.

```
$ aws kms create-custom-key-store
        --custom-key-store-name ExampleExternalKeyStoreVPC \
        --custom-key-store-type EXTERNAL_KEY_STORE \
        --xks-proxy-connectivity VPC_ENDPOINT_SERVICE \
        --xks-proxy-vpc-endpoint-service-name com.amazonaws.vpce.us-east-1.vpce-svc-example \
        --xks-proxy-uri-endpoint https://myproxy-private.xks.example.com \
        --xks-proxy-uri-path /kms/xks/v1 \
        --xks-proxy-authentication-credential AccessKeyId=<value>,RawSecretAccessKey=<value>
```

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 [Solução de problemas de armazenamentos de chaves externas](xks-troubleshooting.md).

**Próximo**: para usar o armazenamento de chaves externas, [conecte-o ao proxy do armazenamento de chaves externas](xks-connect-disconnect.md).

# Editar propriedades do repositório de chaves externo
<a name="update-xks-keystore"></a>

Você pode editar as propriedades selecionadas de um armazenamento de chaves externas existente. 

Você pode editar algumas propriedades enquanto o armazenamento de chaves externas está conectado ou desconectado. Para outras propriedades, é necessário primeiro [desconectar o armazenamento de chaves externas](xks-connect-disconnect.md) do proxy de armazenamento de chaves externas. O [estado da conexão](xks-connect-disconnect.md#xks-connection-state) do armazenamento de chaves externas deve ser `DISCONNECTED`. Enquanto seu armazenamento de chaves externas está desconectado, é possível gerenciar o armazenamento de chaves e suas chaves do KMS, mas não é possível criar nem usar chaves do KMS no armazenamento de chaves externas. Para encontrar o [estado da conexão](xks-connect-disconnect.md#xks-connection-state) do seu armazenamento de chaves externo, use a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação ou consulte a seção **Configuração geral** na página de detalhes do armazenamento de chaves externo.

Antes de atualizar as propriedades do seu armazenamento de chaves externo, AWS KMS envia uma [GetHealthStatus](keystore-external.md#concept-proxy-apis)solicitação ao proxy do armazenamento de chaves externo usando os novos valores. Se a solicitação for bem-sucedida, isso indicará que você pode se conectar e se autenticar em um proxy de armazenamento de chaves externas com os valores de propriedade atualizados. Em caso de falha na solicitação, a operação de edição falhará com uma exceção que identifica o erro.

Quando a operação de edição for concluída, os valores de propriedade atualizados do seu armazenamento de chaves externo aparecerão no AWS KMS console e na `DescribeCustomKeyStores` resposta. No entanto, pode levar até cinco minutos para as alterações entrarem em vigor totalmente.

Se você editar seu armazenamento externo de chaves no AWS KMS console, terá a opção de carregar um [arquivo de configuração de proxy](create-xks-keystore.md#proxy-configuration-file) baseado em JSON que especifica o [caminho do URI do proxy e a credencial](create-xks-keystore.md#require-path) de autenticação do [proxy](keystore-external.md#concept-xks-credential). Alguns proxies de armazenamento de chaves externas geram esse arquivo para você. Para obter detalhes, consulte a documentação do proxy de armazenamento de chaves externas ou do gerenciador de chaves externas.

**Atenção**  
Os valores de propriedade atualizados devem conectar seu armazenamento de chaves externas a um proxy para o mesmo gerenciador de chaves externas dos valores anteriores ou para um backup ou snapshot do gerenciador de chaves externas com as mesmas chaves de criptografia. Se o armazenamento de chaves externas perder o acesso às chaves externas associadas às chaves do KMS permanentemente, o texto cifrado criptografado sob essas chaves externas será irrecuperável. Em particular, alterar a conectividade proxy de um armazenamento de chaves externo pode AWS KMS impedir o acesso às chaves externas.

**dica**  
Alguns gerenciadores de chaves externas fornecem um método mais simples de editar propriedades de armazenamento de chaves externas. Para obter detalhes, consulte a documentação do gerenciador de chaves externas.

Você pode alterar as seguintes propriedades de um armazenamento de chaves externas.


| Propriedades editáveis do armazenamento de chaves externas | Qualquer estado da conexão | Exigir estado Disconnected (Desconectado) | 
| --- | --- | --- | 
| Nome do armazenamento de chaves personalizado Um nome amigável obrigatório para um armazenamento de chaves personalizado. Não inclua informações confidenciais ou sigilosas nesse campo. Esse campo pode ser exibido em texto simples em CloudTrail registros e outras saídas.  | ![\[Green checkmark icon indicating success or completion.\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/icon-successful.png) |  | 
| [Credencial de autenticação de proxy](keystore-external.md#concept-xks-credential) () XksProxyAuthenticationCredential(É necessário especificar o ID da chave de acesso e a chave de acesso secreta, mesmo que você esteja alterando apenas um elemento.) | ![\[Green checkmark icon indicating success or completion.\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/icon-successful.png) |  | 
| [Caminho do URI do proxy](create-xks-keystore.md#require-path) (XksProxyUriPath) | ![\[Green checkmark icon indicating success or completion.\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/icon-successful.png) |  | 
| [Conectividade de proxy](keystore-external.md#concept-xks-connectivity) (XksProxyConnectivity)(Também é necessário atualizar o endpoint do URI do proxy. Se estiver alterando para a conectividade do serviço de endpoint da VPC, você deverá especificar um nome de serviço de endpoint da VPC do proxy.) |  | ![\[Green checkmark icon indicating success or completion.\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/icon-successful.png) | 
| [Ponto final do URI do proxy](create-xks-keystore.md#require-endpoint) () XksProxyUriEndpointSe você alterar o URI do endpoint do proxy, talvez também seja necessário alterar o certificado TLS. |  | ![\[Green checkmark icon indicating success or completion.\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/icon-successful.png) | 
| Nome do [serviço de endpoint VPC proxy](create-xks-keystore.md#require-vpc-service-name) () XksProxyVpcEndpointServiceName(Este campo é obrigatório para a conectividade do serviço de endpoint da VPC) |  | ![\[Green checkmark icon indicating success or completion.\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/icon-successful.png) | 
| Proprietário do [serviço de endpoint VPC](create-xks-keystore.md#require-vpc-service-name) () XksProxyVpcEndpointServiceOwner(Este campo é obrigatório para a conectividade do serviço de endpoint da VPC) |  | ![\[Green checkmark icon indicating success or completion.\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/icon-successful.png) | 

## Editar as propriedades do seu repositório de chaves externo
<a name="edit-xks-keystore"></a>

Você pode editar as propriedades do seu armazenamento de chaves externo no AWS KMS console ou usando a [UpdateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateCustomKeyStore.html)operação.

### Usando o AWS KMS console
<a name="update-keystore-console"></a>

Ao editar um armazenamento de chaves, você pode alterar qualquer um dos valores editáveis. Algumas alterações exigem que o armazenamento de chaves externas seja desconectado do proxy de armazenamento de chaves externas.

Se você estiver editando o caminho do URI do proxy ou a credencial de autenticação do proxy, poderá inserir os novos valores ou carregar um [arquivo de configuração de proxy](create-xks-keystore.md#proxy-configuration-file) de armazenamento de chaves externas que contenha os novos valores.

1. Faça login no console Console de gerenciamento da AWS e abra o AWS Key Management Service (AWS KMS) em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

1. No painel de navegação, selecione **Custom key stores** (Armazenamentos de chaves personalizados), **External key stores** (Armazenamentos de chaves externas).

1. Escolha o repositório de chaves que você deseja editar.

   1. Se necessário, desconecte o armazenamento de chaves externas do proxy de armazenamento de chaves externas. No menu **Key store actions** (Ações do armazenamento de chaves), escolha **Disconnect** (Desconectar).

1. No menu **Key store actions** (Ações do armazenamento de chaves), escolha **Edit** (Editar).

1. Alterar uma ou mais das propriedades editáveis de armazenamento de chaves externas. Você também pode carregar um [arquivo de configuração de proxy](create-xks-keystore.md#proxy-configuration-file) de armazenamento de chaves externas com valores para o caminho do URI do proxy e a credencial de autenticação do proxy. Você pode usar um arquivo de configuração de proxy mesmo que alguns valores especificados no arquivo não tenham sido alterados.

1. Escolha **Update external key store** (Atualizar armazenamento de chaves externas). 

1. Revise o aviso e, se decidir continuar, confirme o aviso e escolha **Update external key store** (Atualizar armazenamento de chaves externas).

   Se o procedimento for bem-sucedido, uma mensagem descreverá as propriedades que você editou. Se for malsucedido, será exibida uma mensagem de erro descrevendo o problema e fornecendo ajuda para corrigi-lo.

1. Se necessário, reconecte o armazenamento de chaves externas. No menu **Key store actions** (Ações do armazenamento de chaves), escolha **Connect** (Conectar).

   Você pode deixar o armazenamento de chaves externas desconectado. Porém, enquanto estiver desconectado, não será possível criar as chaves do KMS no armazenamento de chaves externas nem usá-las no armazenamento de chaves externas em [operações de criptografia](manage-cmk-keystore.md#use-cmk-keystore).

### Usando a AWS KMS API
<a name="update-keystore-api"></a>

Para alterar as propriedades de um armazenamento de chaves externo, use a [UpdateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateCustomKeyStore.html)operação. Você pode alterar várias propriedades de um armazenamento de chaves externas na mesma operação. Se a operação for bem-sucedida, AWS KMS retornará uma resposta HTTP 200 e um objeto JSON sem propriedades. 

Use o parâmetro `CustomKeyStoreId` para identificar o armazenamento de chaves externas. Utilize os outros parâmetros para alterar as propriedades. Você não pode usar um [arquivo de configuração de proxy](create-xks-keystore.md#proxy-configuration-file) com a operação `UpdateCustomKeyStore`. O arquivo de configuração do proxy é suportado somente pelo AWS KMS console. Contudo, é possível usar o arquivo de configuração do proxy para ajudar você a determinar os valores corretos dos parâmetros para o proxy de armazenamento de chaves externas.

Os exemplos nesta seção usam a [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/), mas você pode usar qualquer linguagem de programação compatível. 

Antes de começar, [se necessário](#update-xks-keystore), [desconecte o armazenamento de chaves externas](xks-connect-disconnect.md) do proxy de armazenamento de chaves externas. Após a atualização, se necessário, você pode [reconectar o armazenamento de chaves externas](xks-connect-disconnect.md) ao proxy do armazenamento de chaves externas. Você pode deixar o armazenamento de chaves externas no estado desconectado, mas é necessário reconectá-lo para que seja possível criar novas chaves do KMS no armazenamento de chaves ou usar as chaves do KMS existentes no armazenamento de chaves para operações de criptografia.

**nota**  
Se você usa a AWS CLI versão 1.0, execute o comando a seguir antes de especificar um parâmetro com um valor HTTP ou HTTPS, como o `XksProxyUriEndpoint` parâmetro.  

```
aws configure set cli_follow_urlparam false
```
Caso contrário, a AWS CLI versão 1.0 substitui o valor do parâmetro pelo conteúdo encontrado nesse endereço URI, causando o seguinte erro:  

```
Error parsing parameter '--xks-proxy-uri-endpoint': Unable to retrieve 
https:// : received non 200 status code of 404
```

#### Alterar o nome do armazenamento de chaves externas
<a name="xks-edit-name"></a>

O primeiro exemplo usa a [UpdateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateCustomKeyStore.html)operação para alterar o nome amigável do armazenamento externo de chaves para`XksKeyStore`. O comando usa o parâmetro `CustomKeyStoreId` para identificar o armazenamento de chaves personalizado e `CustomKeyStoreName` para especificar o novo nome para o armazenamento de chaves personalizado. Substitua todos os valores de exemplo por valores reais para o armazenamento de chaves externas.

```
$ aws kms update-custom-key-store --custom-key-store-id cks-1234567890abcdef0 --new-custom-key-store-name XksKeyStore
```

#### Alterar a credencial de autenticação de proxy
<a name="xks-edit-credential"></a>

O exemplo a seguir atualiza a credencial de autenticação de proxy que o AWS KMS usa para se autenticar no proxy de armazenamento de chaves externas. Você pode usar um comando como este para atualizar a credencial, caso ela seja alternada em seu proxy.

Atualize primeiro a credencial no proxy de armazenamento de chaves externas. Em seguida, use esse recurso para relatar a alteração no AWS KMS. (Seu proxy oferecerá suporte brevemente à credencial antiga e à nova, para que você tenha tempo de atualizar sua credencial.) AWS KMS

É necessário sempre especificar o ID da chave de acesso e a chave de acesso secreta na credencial, mesmo que apenas um valor seja alterado. 

Os dois primeiros comandos definem as variáveis para manter os valores das credenciais. As operações `UpdateCustomKeyStore` usam o parâmetro `CustomKeyStoreId` para identificar o armazenamento de chaves externas. Utiliza o parâmetro `XksProxyAuthenticationCredential` com os campos `AccessKeyId` e `RawSecretAccessKey` para especificar a nova credencial. Substitua todos os valores de exemplo por valores reais para o armazenamento de chaves externas.

```
$ accessKeyID=access key id
$ secretAccessKey=secret access key

$ aws kms update-custom-key-store --custom-key-store-id cks-1234567890abcdef0 \
        --xks-proxy-authentication-credential \ 
            AccessKeyId=$accessKeyId,RawSecretAccessKey=$secretAccessKey
```

#### Alterar o caminho do URI do proxy
<a name="xks-edit-path"></a>

O exemplo a seguir atualiza o caminho do URI do proxy (`XksProxyUriPath`). A combinação do endpoint do URI do proxy e do caminho do URI do proxy deve ser exclusiva na região Conta da AWS e. Substitua todos os valores de exemplo por valores reais para o armazenamento de chaves externas.

```
$ aws kms update-custom-key-store --custom-key-store-id cks-1234567890abcdef0 \
            --xks-proxy-uri-path /kms/xks/v1
```

#### Alterar a conectividade do serviço de endpoint da VPC
<a name="xks-edit-connectivity-vpc"></a>

O exemplo a seguir usa a [UpdateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateCustomKeyStore.html)operação para alterar o tipo de conectividade proxy do armazenamento de chaves externo para`VPC_ENDPOINT_SERVICE`. Para fazer essa alteração, é necessário especificar os valores obrigatórios para a conectividade do serviço de endpoint da VPC, inclusive o nome do serviço de endpoint da VPC (`XksProxyVpcEndpointServiceName`) e um valor de endpoint do URI do proxy (`XksProxyUriEndpoint`) que inclua o nome DNS privado do serviço de endpoint da VPC. Substitua todos os valores de exemplo por valores reais para o armazenamento de chaves externas.

```
$ aws kms update-custom-key-store --custom-key-store-id cks-1234567890abcdef0 \
            --xks-proxy-connectivity "VPC_ENDPOINT_SERVICE" \
            --xks-proxy-uri-endpoint https://myproxy-private.xks.example.com \
            --xks-proxy-vpc-endpoint-service-name com.amazonaws.vpce.us-east-1.vpce-svc-example
```

#### Alteração na conectividade de endpoints públicos
<a name="xks-edit-connectivity-public"></a>

O exemplo a seguir altera o tipo de conectividade de proxy de armazenamento de chaves externas para `PUBLIC_ENDPOINT`. Ao fazer essa alteração, é necessário atualizar o valor do endpoint do URI do proxy (`XksProxyUriEndpoint`). Substitua todos os valores de exemplo por valores reais para o armazenamento de chaves externas.

**nota**  
A conectividade de endpoint da VPC oferece maior segurança do que a conectividade de endpoint público. Antes de mudar para a conectividade de endpoint público, considere outras opções, como localizar seu proxy de armazenamento de chaves externas on-premises e usar a VPC somente para comunicação. 

```
$ aws kms update-custom-key-store --custom-key-store-id cks-1234567890abcdef0 \
            --xks-proxy-connectivity "PUBLIC_ENDPOINT" \
            --xks-proxy-uri-endpoint https://myproxy.xks.example.com
```

# Visualizar repositórios de chaves externos
<a name="view-xks-keystore"></a>

Você pode visualizar os armazenamentos externos de chaves em cada conta e região usando o AWS KMS console ou usando a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação.

Ao visualizar um armazenamento de chaves externas, você pode ver o seguinte:
+ Informações básicas sobre o armazenamento de chaves, inclusive seu nome amigável, ID, tipo de armazenamento de chaves e data de criação.
+ Informações de configuração para o [proxy de armazenamento de chaves externa](keystore-external.md#concept-xks-proxy), inclusive o [tipo de conectividade](keystore-external.md#concept-xks-connectivity), o [endpoint](create-xks-keystore.md#require-endpoint) e o [caminho do URI do proxy](create-xks-keystore.md#require-path) e o [ID da chave de acesso](keystore-external.md#concept-xks-credential) da [credencial de autenticação de proxy](keystore-external.md#concept-xks-credential) atual.
+ Se o proxy de armazenamento de chaves externas usar a [conectividade do serviço de endpoint da VPC](choose-xks-connectivity.md#xks-vpc-connectivity), o console exibirá o nome do serviço de endpoint da VPC.
+ O [estado da conexão](xks-connect-disconnect.md#xks-connection-state) atual. 
**nota**  
Um valor do estado da conexão **Disconnected** (Desconectado) indica que o armazenamento de chaves externas nunca foi conectado ou que foi desconectado do proxy do armazenamento de chaves externas intencionalmente. No entanto, se as tentativas de usar uma chave do KMS em um armazenamento de chaves externas conectado falharem, pode ser indício de um problema com o armazenamento de chaves externas ou o proxy. Para obter ajuda, consulte [Erros de conexão do armazenamento de chaves externas](xks-troubleshooting.md#fix-xks-connection).
+ Uma seção de [monitoramento](xks-monitoring.md) com gráficos das [ CloudWatch métricas da Amazon](monitoring-cloudwatch.md#kms-metrics) projetada para ajudá-lo a detectar e resolver problemas com seu armazenamento externo de chaves. Para obter ajuda na interpretação dos gráficos, no uso deles no planejamento e na solução de problemas e na criação de CloudWatch alarmes com base nas métricas dos gráficos, consulte. [Monitorar repositórios de chaves externos](xks-monitoring.md)

## Propriedades do armazenamento de chaves externas
<a name="view-xks-properties"></a>

As seguintes propriedades de um armazenamento de chaves externo são visíveis no AWS KMS console e na [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)resposta. 

### Propriedades do armazenamento de chaves personalizado
<a name="view-xks-custom-key-store"></a>

Os valores a seguir aparecem na seção **Configuração geral** da página de detalhes de cada armazenamento de chaves personalizadas.Essas propriedades se aplicam a todos os armazenamentos de chaves personalizadas, incluindo armazenamentos de chaves e armazenamentos de AWS CloudHSM chaves externos.

**ID do armazenamento de chaves personalizado**  
Uma ID exclusiva que é AWS KMS atribuída ao armazenamento de chaves personalizadas.

**Nome do armazenamento de chaves personalizado**  
Um nome amigável que você atribui ao armazenamento de chaves personalizado ao criá-lo. Você pode alterar esse valor a qualquer momento.

**Tipo do armazenamento de chaves personalizado**  
O tipo do armazenamento de chaves personalizado. Os valores válidos são AWS CloudHSM (`AWS_CLOUDHSM`) ou External key store (Armazenamento de chaves externas) (`EXTERNAL_KEY_STORE`). Você não pode alterar o tipo depois de criar o armazenamento de chaves personalizado.

**Data de Criação**  
A data em que o armazenamento de chaves personalizado foi criado. Essa data é exibida na hora local da Região da AWS. 

**Estado da conexão**  
Indica se o armazenamento de chaves personalizado está conectado a seu armazenamento de chaves de reserva. O estado da conexão será `DISCONNECTED` somente se o armazenamento de chaves personalizado nunca tiver sido conectado ao armazenamento de chaves de reserva ou se tiver sido desconectado intencionalmente. Para obter detalhes, consulte [Estado da conexão](xks-connect-disconnect.md#xks-connection-state).

### Propriedades de configuração do armazenamento de chaves externas
<a name="view-xks-configuration"></a>

Os valores a seguir aparecem na seção **Configuração de proxy do armazenamento de chaves externo** da página de detalhes de cada armazenamento de chaves externo e no `XksProxyConfiguration` elemento da [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)resposta. Para obter uma descrição detalhada de cada campo, inclusive requisitos de exclusividade e ajuda para determinar o valor correto para cada campo, consulte [Organizar os pré-requisitos](create-xks-keystore.md#xks-requirements) no tópico *Criar um armazenamento de chaves externas*.

**Conectividade do proxy**  
Indica se o armazenamento de chaves externas usa [conectividade de endpoint público](choose-xks-connectivity.md#xks-connectivity-public-endpoint) ou [conectividade de serviço de endpoint da VPC](choose-xks-connectivity.md#xks-vpc-connectivity).

**Endpoint de URI do proxy**  
O endpoint AWS KMS usado para se conectar ao [proxy externo do armazenamento de chaves](keystore-external.md#concept-xks-proxy). 

**Caminho do URI do proxy**  
O caminho do endpoint do URI do proxy para o qual AWS KMS envia [solicitações da API do proxy](keystore-external.md#concept-proxy-apis).

**Credencial de proxy: ID da chave de acesso**  
Parte da [credencial de autenticação de proxy](keystore-external.md#concept-xks-credential) que você estabelece em seu proxy de armazenamento de chaves externas. O ID da chave de acesso identifica a chave de acesso secreta na credencial.   
AWS KMS usa o processo de assinatura SigV4 e a credencial de autenticação do proxy para assinar suas solicitações no proxy externo do armazenamento de chaves. A credencial na assinatura permite que o proxy externo do armazenamento de chaves autentique solicitações em seu nome de. AWS KMS

**Nome do serviço de endpoint da VPC**  
O nome do serviço de endpoint da Amazon VPC que oferece suporte ao armazenamento de chaves externas. Esse valor é exibido somente quando o armazenamento de chaves externas usa a [conectividade de serviço de endpoint da VPC](choose-xks-connectivity.md#xks-vpc-connectivity). Você pode localizar o proxy de armazenamento de chaves externas na VPC ou usar o serviço de endpoint da VPC para se comunicar de forma segura com o proxy de armazenamento de chaves externas.

**ID do proprietário do serviço de endpoint da VPC**  
O ID do serviço de endpoint da Amazon VPC compatível com o repositório de chaves externo. Esse valor é exibido somente quando o armazenamento de chaves externas usa a [conectividade de serviço de endpoint da VPC](choose-xks-connectivity.md#xks-vpc-connectivity). Você pode localizar o proxy de armazenamento de chaves externas na VPC ou usar o serviço de endpoint da VPC para se comunicar de forma segura com o proxy de armazenamento de chaves externas.

## Visualizar as propriedades do seu repositório de chaves externo
<a name="view-xks"></a>

Você pode visualizar seu armazenamento externo de chaves e suas propriedades associadas no AWS KMS console ou usando a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação.

### Usando o AWS KMS console
<a name="view-xks-keystore-console"></a>

Para visualizar armazenamentos de chaves externas em uma determinada conta e região, use o procedimento a seguir.

1. Faça login no console Console de gerenciamento da AWS e abra o AWS Key Management Service (AWS KMS) em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

1. No painel de navegação, selecione **Custom key stores** (Armazenamentos de chaves personalizados), **External key stores** (Armazenamentos de chaves externas).

1. Para exibir informações detalhadas sobre um armazenamento de chaves externas, escolha o nome do armazenamento de chaves.

### Usando a AWS KMS API
<a name="view-xks-keystore-api"></a>

Para visualizar seus armazenamentos externos de chaves, use a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação. Por padrão, essa operação retorna todos os armazenamentos de chaves personalizados na conta e região. No entanto, você pode usar o parâmetro `CustomKeyStoreId` ou `CustomKeyStoreName` (mas não ambos) para limitar o resultado para um determinado armazenamento de chaves personalizado. 

Para armazenamentos de chaves personalizados, a saída consiste no ID, nome e tipo do armazenamento de chaves personalizado e no [estado da conexão](xks-connect-disconnect.md#xks-connection-state) do armazenamento de chaves. Se o estado da conexão é `FAILED`, o resultado também inclui um `ConnectionErrorCode` que descreve o motivo do erro. Para obter ajuda para interpretar `ConnectionErrorCode` para um armazenamento de chaves externas, consulte [Códigos de erro de conexão para armazenamentos de chaves externas](xks-troubleshooting.md#xks-connection-error-codes).

Para armazenamentos de chaves externas, a saída também inclui o elemento `XksProxyConfiguration`. Esse elemento inclui o [tipo de conectividade](create-xks-keystore.md#require-connectivity), o [endpoint do URI do proxy](create-xks-keystore.md#require-endpoint), o [caminho do URI do proxy](create-xks-keystore.md#require-path) e o ID da chave de acesso da [credencial de autenticação do proxy](keystore-external.md#concept-xks-credential).

Os exemplos nesta seção usam a [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/), mas você pode usar qualquer linguagem de programação compatível. 

Por exemplo, o comando a seguir retorna todos os armazenamentos de chaves personalizados na conta e região. Você pode usar os parâmetros `Marker` e `Limit` para percorrer os armazenamentos de chaves personalizados do resultado.

```
$ aws kms describe-custom-key-stores
```

O comando a seguir usa o parâmetro `CustomKeyStoreName` para obter apenas o armazenamento de chaves externas de exemplo com o nome amigável `ExampleXksPublic`. Este exemplo de armazenamento de chaves usa conectividade pública de endpoint. Está conectado ao proxy de armazenamento de chaves externas. 

```
$ aws kms describe-custom-key-stores --custom-key-store-name ExampleXksPublic
{
    "CustomKeyStores": [
    {
      "CustomKeyStoreId": "cks-1234567890abcdef0",
      "CustomKeyStoreName": "ExampleXksPublic",
      "ConnectionState": "CONNECTED",    
      "CreationDate": "2022-12-14T20:17:36.419000+00:00",
      "CustomKeyStoreType": "EXTERNAL_KEY_STORE",
      "XksProxyConfiguration": { 
        "AccessKeyId": "ABCDE12345670EXAMPLE",
        "Connectivity": "PUBLIC_ENDPOINT",
        "UriEndpoint": "https://xks.example.com:6443",
        "UriPath": "/example/prefix/kms/xks/v1"
      }
    }
  ]
}
```

O comando a seguir obtém um exemplo de armazenamento de chaves externas com conectividade de serviço de endpoint da VPC. Neste exemplo, o armazenamento de chaves externas está conectado ao proxy de armazenamento de chaves externas. 

```
$ aws kms describe-custom-key-stores --custom-key-store-name ExampleXksVpc
{
    "CustomKeyStores": [
    {
      "CustomKeyStoreId": "cks-9876543210fedcba9",
      "CustomKeyStoreName": "ExampleXksVpc",
      "ConnectionState": "CONNECTED",
      "CreationDate": "2022-12-13T18:34:10.675000+00:00",
      "CustomKeyStoreType": "EXTERNAL_KEY_STORE",
      "XksProxyConfiguration": { 
        "AccessKeyId": "ABCDE98765432EXAMPLE",
        "Connectivity": "VPC_ENDPOINT_SERVICE",
        "UriEndpoint": "https://example-proxy-uri-endpoint-vpc",
        "UriPath": "/example/prefix/kms/xks/v1",
        "VpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-example"
      }
    }
  ]
}
```

O [`ConnectionState`](xks-connect-disconnect.md#xks-connection-state) `Disconnected` indica que um armazenamento de chaves externas nunca foi conectado ou foi intencionalmente desconectado do proxy de armazenamento de chaves externas. No entanto, se as tentativas de usar uma chave do KMS em um armazenamento de chaves externas conectado falharem, pode ser indício de um problema com o proxy de armazenamento de chaves externas ou outros componentes externos.

Quando o `ConnectionState` do armazenamento de chaves externas `FAILED`, a resposta `DescribeCustomKeyStores` inclui um elemento `ConnectionErrorCode` que explica o motivo desse erro.

Por exemplo, na saída a seguir, o `XKS_PROXY_TIMED_OUT` valor indica que AWS KMS pode se conectar ao proxy externo do armazenamento de chaves, mas a conexão falhou porque o proxy do armazenamento de chaves externo não respondeu AWS KMS no tempo alocado. Caso veja esse código de erro de conexão repetidamente, notifique seu fornecedor de proxy de armazenamento de chaves externas. Para obter ajuda com relação a esta e outras falhas de erro de conexão, consulte [Solução de problemas de armazenamentos de chaves externas](xks-troubleshooting.md).

```
$ aws kms describe-custom-key-stores --custom-key-store-name ExampleXksVpc
{
    "CustomKeyStores": [
    {
      "CustomKeyStoreId": "cks-9876543210fedcba9",
      "CustomKeyStoreName": "ExampleXksVpc",
      "ConnectionState": "FAILED",
      "ConnectionErrorCode": "XKS_PROXY_TIMED_OUT",
      "CreationDate": "2022-12-13T18:34:10.675000+00:00",
      "CustomKeyStoreType": "EXTERNAL_KEY_STORE",
      "XksProxyConfiguration": { 
        "AccessKeyId": "ABCDE98765432EXAMPLE",
        "Connectivity": "VPC_ENDPOINT_SERVICE",
        "UriEndpoint": "https://example-proxy-uri-endpoint-vpc",
        "UriPath": "/example/prefix/kms/xks/v1",
        "VpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-example"
      }
    }
  ]
}
```

# Monitorar repositórios de chaves externos
<a name="xks-monitoring"></a>

AWS KMS coleta métricas para cada interação com um armazenamento de chaves externo e as publica em sua CloudWatch conta. Essas métricas são usadas para gerar os grafos na seção de monitoramento da página de detalhes de cada armazenamento de chaves externas. O tópico a seguir detalha como usar os grafos para identificar e solucionar problemas operacionais e de configuração que afetam o armazenamento de chaves externas. Recomendamos usar as CloudWatch métricas para definir alarmes que notifiquem você quando seu armazenamento externo de chaves não estiver funcionando conforme o esperado. Para obter mais informações, consulte [Monitoramento com a Amazon CloudWatch](monitoring-cloudwatch.md).

**Topics**
+ [

## Visualizar os grafos
](#xks-monitoring-navigate)
+ [

## Interpretar os grafos
](#interpreting-graphs)

## Visualizar os grafos
<a name="xks-monitoring-navigate"></a>

Você pode visualizar os grafos em diferentes níveis de detalhes. Por padrão, cada grafo usa um intervalo de três horas e um [período](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#CloudWatchPeriods) de agregação de cinco minutos. Você pode ajustar a visualização do grafo no console, mas suas alterações serão revertidas para as configurações padrão quando a página de detalhes do armazenamento de chaves externas for fechada ou quando o navegador for atualizado. Para obter ajuda com a CloudWatch terminologia da Amazon, consulte os [ CloudWatch conceitos da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html).

### Visualizar detalhes do ponto de dados
<a name="graph-data-point"></a>

Os dados de cada grafo são coletados por [métricas do AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/monitoring-cloudwatch.html#kms-metrics). Para visualizar mais informações sobre um ponto de dados específico, pause o mouse sobre o ponto de dados no grafo linha. Isso exibirá um pop-up com mais informações sobre a métrica da qual o grafo foi derivado. Cada item da lista exibe o valor de [dimensão](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension) registrado no ponto de dados. O pop-up exibirá um valor nulo (**–**) se não houver dados métricos disponíveis para o valor da dimensão no ponto de dados. Alguns grafos registram várias dimensões e valores para um único ponto de dados. Outros grafos, como o [grafo de confiabilidade](#reliability-graph), usam os dados coletados pela métrica para calcular um valor exclusivo. Cada item da lista é associado a uma cor de grafo linha diferente.

### Modificar o intervalo de tempo
<a name="graph-time-range"></a>

Para alterar o [intervalo de tempo](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/modify_graph_date_time.html), selecione um dos intervalos de tempo predefinidos no canto superior direito da seção de monitoramento. Os intervalos de tempo predefinidos variam de uma hora a uma semana (**1h**, **3h**, **12h**, **1d**, **3d** ou **1w**). Isso ajusta o intervalo de tempo para todos os grafos. Se você quiser visualizar um gráfico específico em um intervalo de tempo diferente, ou se quiser definir um intervalo de tempo personalizado, amplie o gráfico ou visualize-o no CloudWatch console da Amazon.

### Ampliar grafos
<a name="graph-zoom"></a>

Você pode usar o [recurso de zoom de minimapa](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/zoom-graph.html) para focar em seções de grafos linhas e grafos de área empilhada sem alterações entre as visualizações com zoom aumentado e zoom diminuído. Por exemplo, é possível usar o recurso de zoom de minimapa para focar em um pico em um grafo linha para comparar o pico com outras métricas no painel usando a mesma linha do tempo. 

1. Escolha e arraste a área do gráfico em que deseja focar e, em seguida, solte-a.

1. Para redefinir o zoom, escolha o ícone **Redefinir zoom** igual a uma lupa com um símbolo de menos (-) no interior.

### Ampliar um grafo
<a name="graph-enlarge"></a>

Para ampliar um grafo, selecione o ícone de menu no canto superior direito de um grafo individual e escolha **Enlarge** (Ampliar). Você também pode selecionar o ícone de ampliação exibido ao lado do ícone de menu ao passar o mouse sobre um grafo.

Ampliar um grafo permite modificar ainda mais a visualização de um grafo especificando um período diferente, um intervalo de tempo personalizado ou um intervalo de atualização. Essas alterações serão revertidas para as configurações padrão quando você fechar a visualização ampliada.

Modificar o período  

1. Escolha o menu **Period options** (Opções do período). Por padrão, esse menu exibe o valor: **5 minutes** (5 minutos).

1. Escolha um período, os períodos predefinidos variam de um segundo a 30 dias.

   Por exemplo, escolha uma exibição de um minuto, que pode ser útil durante a solução de problemas. Ou escolha uma visualização menos detalhada de uma hora. Isso pode ser útil ao visualizar um intervalo de tempo mais amplo (por exemplo, 3 dias) para que possa ver tendências ao longo do tempo. Para obter mais informações, consulte [Períodos](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#CloudWatchPeriods) no *Guia CloudWatch do usuário da Amazon*.

Modificar o intervalo de tempo ou fuso horário  

1. Selecione um dos intervalos de tempo predefinidos, que variam de uma hora a uma semana: (**1h**, **3h**, **12h**, **1d**, **3d** ou **1w**). Como alternativa, você pode escolher **Custom** (Personalizado) para definir seu próprio intervalo de tempo.

1. Escolha **Custom** (Personalizado)

   1. *Intervalo de tempo:* selecione a guia **Absolute** (Absoluto) no canto superior esquerdo da caixa. Use o seletor de calendário ou as caixas de campos de texto para especificar um intervalo de tempo.

   1. *Fuso horário:* escolha a lista suspensa no canto superior direito da caixa. Você pode alterar o fuso horário para **UTC** ou **Local time zone** (Fuso horário local).

1. Depois de especificar um período, escolha **Apply** (Aplicar).

Modifique a frequência com que os dados do grafo serão atualizados  

1. No canto superior direito, escolha o menu **Refresh options** (Opções de atualização).

1. Escolha um intervalo de atualização: **Off** (Desligado), **10 Seconds** (10 segundos), **1 Minute** (1 minuto), **2 Minutes** (2 minutos), **5 Minutes** (5 minutos) ou **15 Minutes** (15 minutos). 

### Visualize gráficos no console da Amazon CloudWatch
<a name="graph-in-cloudwatch"></a>

Os gráficos na seção de monitoramento são derivados de métricas predefinidas que são AWS KMS publicadas na Amazon. CloudWatch Você pode abri-los no CloudWatch console e salvá-los nos CloudWatch painéis. Se você tiver vários armazenamentos de chaves externos, poderá abrir seus respectivos gráficos CloudWatch e salvá-los em um único painel para comparar sua integridade e uso.

**Adicionar ao CloudWatch painel**  
Selecione **Adicionar ao painel** no canto superior direito para adicionar todos os gráficos a um CloudWatch painel da Amazon. Você pode selecionar um painel existente ou criar outro. Para obter informações sobre como usar esse painel para criar visualizações personalizadas dos gráficos e alarmes, consulte Usando [ CloudWatchpainéis da Amazon no Guia do usuário](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) da *Amazon CloudWatch *.

**Exibir nas CloudWatch métricas**  
Selecione o ícone do menu no canto superior direito de um gráfico individual e escolha **Exibir em métricas** para visualizar esse gráfico no CloudWatch console da Amazon. No CloudWatch console, você pode adicionar esse único gráfico a um painel e modificar intervalos de tempo, períodos e intervalos de atualização. Para obter mais informações, consulte [Representação gráfica de métricas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph_metrics.html) no *Guia do CloudWatch usuário da Amazon*.

## Interpretar os grafos
<a name="interpreting-graphs"></a>

AWS KMS fornece vários gráficos para monitorar a integridade do seu armazenamento externo de chaves no AWS KMS console. Esses grafos são configurados automaticamente e derivados de [métricas do AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/monitoring-cloudwatch.html#kms-metrics).

Os dados de grafos são coletados como parte das chamadas que você faz para o armazenamento de chaves externas e chaves externas. Você pode ver dados preenchendo gráficos durante um intervalo de tempo em que você não fez nenhuma chamada. Esses dados vêm das `GetHealthStatus` chamadas periódicas feitas em seu nome para verificar o status do proxy externo do armazenamento de chaves e do gerenciador de chaves externo. AWS KMS Se os grafos exibirem a mensagem **No data available** (Nenhum dado disponível), não houve chamadas gravadas durante esse intervalo de tempo ou o armazenamento de chaves externas está no estado [`DISCONNECTED`](xks-connect-disconnect.md#xks-connection-state). Talvez você consiga identificar a hora em que o armazenamento de chaves externas foi desconectado [ajustando a visualização](#graph-time-range) para um intervalo de tempo mais amplo.

**Topics**
+ [

### Total requests
](#total-requests-graph)
+ [

### Confiabilidade
](#reliability-graph)
+ [

### Latência
](#latency-graph)
+ [

### As cinco principais exceções
](#top-5-exceptions-graph)
+ [

### Dias para o certificado expirar
](#cert-expire-graph)

### Total requests
<a name="total-requests-graph"></a>

O número total de AWS KMS solicitações recebidas para um armazenamento de chaves externo específico durante um determinado intervalo de tempo. Use esse grafo para determinar se você corre o risco de controle de utilização.

AWS KMS recomenda que seu gerenciador de chaves externo seja capaz de lidar com até 1800 solicitações de operações criptográficas por segundo. Se você abordar 540 mil chamadas em um período de cinco minutos, correrá o risco de controle de utilização.

Você pode monitorar o número de solicitações de operações criptográficas em chaves KMS em seu armazenamento de chaves externo que acelera com a AWS KMS métrica. [ExternalKeyStoreThrottle](monitoring-cloudwatch.md#metric-throttling) 

Se você estiver recebendo erros `KMSInvalidStateException` muito frequentes com uma mensagem explicando que a solicitação foi rejeitada “due to a very high request rate” [devido a uma taxa de solicitação muito alta], isso pode indicar que o gerenciador de chaves externas ou o proxy de armazenamento de chaves externas não consegue acompanhar a taxa de solicitação atual. Se possível, reduza a taxa de solicitação. Considere também solicitar uma redução no valor da cota de solicitação de armazenamento de chaves personalizado. Diminuir esse valor de cota pode aumentar a limitação, mas indica que AWS KMS está rejeitando solicitações em excesso rapidamente antes de serem enviadas ao proxy externo do armazenamento de chaves ou ao gerenciador de chaves externo. Para solicitar uma redução de cota, acesse o [AWS Support Center](https://console.aws.amazon.com/support/home) e crie um caso.

O grafo do total de solicitações é derivado da métrica [XksProxyErrors](monitoring-cloudwatch.md#metric-xks-proxy-errors), que coleta dados sobre as respostas bem-sucedidas e malsucedidas que o AWS KMS recebe de seu proxy de armazenamento de chaves externas. Quando você [visualiza um ponto de dados específico](#graph-data-point), o pop-up exibe o valor da `CustomKeyStoreId` dimensão junto com o número total de AWS KMS solicitações registradas nesse ponto de dados. `CustomKeyStoreId` será sempre o mesmo.

### Confiabilidade
<a name="reliability-graph"></a>

A porcentagem de AWS KMS solicitações para as quais o proxy externo do armazenamento de chaves retornou uma resposta bem-sucedida ou um erro que não pode ser repetido. Use esse grafo para avaliar a integridade operacional do proxy de armazenamento de chaves externas.

Ao exibir um valor menor que 100%, o grafo indica casos em que o proxy não respondeu ou respondeu com um erro com nova tentativa. Isso pode indicar problemas com a rede, lentidão do proxy de armazenamento de chaves externas ou do gerenciador de chaves externas ou bugs de implementação.

Se a solicitação incluir uma credencial inválida e seu proxy responder com `AuthenticationFailedException`, o grafo ainda indicará 100% de confiabilidade porque o proxy identificou um valor incorreto na [solicitação da API do proxy de armazenamento de chaves externas](keystore-external.md#concept-proxy-apis) e, portanto, a falha é esperada. Se a porcentagem do grafo de confiabilidade for de 100%, o proxy de armazenamento de chaves externas estará respondendo conforme o esperado. Se o grafo exibir um valor menor que 100%, o proxy respondeu com um erro com nova tentativa ou atingiu o tempo limite. Por exemplo, se o proxy responder com `ThrottlingException` devido a uma taxa de solicitação muito alta, ele exibirá uma porcentagem de confiabilidade menor porque o proxy não conseguiu identificar um problema específico na solicitação que causou a falha. Isso ocorre porque os erros com nova tentativa provavelmente são problemas transitórios que podem ser resolvidos ao repetir a solicitação.

As respostas de erro a seguir reduzirão a porcentagem de confiabilidade. Você pode usar o grafo [As cinco principais exceções](#top-5-exceptions-graph) e a métrica [XksProxyErrors](monitoring-cloudwatch.md#metric-xks-proxy-errors) para monitorar ainda mais a frequência com que seu proxy retorna cada erro com nova tentativa.
+ `InternalException`
+ `DependencyTimeoutException`
+ `ThrottlingException`
+ `XksProxyUnreachableException`

O gráfico de confiabilidade é derivado da [XksProxyErrors](monitoring-cloudwatch.md#metric-xks-proxy-errors) métrica, que coleta dados sobre as respostas bem-sucedidas e malsucedidas AWS KMS recebidas do proxy externo do armazenamento de chaves. A porcentagem de confiabilidade só diminuirá se a resposta tiver um valor `ErrorType` de `Retryable`. Quando você [visualiza um ponto de dados específico](#graph-data-point), o pop-up exibe o valor da `CustomKeyStoreId` dimensão junto com a porcentagem de confiabilidade das AWS KMS solicitações registradas nesse ponto de dados. `CustomKeyStoreId` será sempre o mesmo.

Recomendamos usar a [XksProxyErrors](monitoring-cloudwatch.md#metric-xks-proxy-errors) métrica para criar um CloudWatch alarme que o notifique sobre possíveis problemas de rede, alertando-o quando mais de cinco erros repetidos forem registrados em um período de um minuto. Para obter mais informações, consulte [Criar um alarme para erros passíveis de nova tentativa](xks-alarms.md#retryable-errors-alarm).

### Latência
<a name="latency-graph"></a>

O número de milissegundos necessários para que um proxy externo de armazenamento de chaves responda a uma AWS KMS solicitação. Use esse grafo para avaliar a performance do proxy de armazenamento de chaves externas e do gerenciador de chaves externas.

AWS KMS espera que o proxy externo do armazenamento de chaves responda a cada solicitação em 250 milissegundos. No caso de tempos limite de rede, AWS KMS tentará novamente a solicitação uma vez. Se o proxy falhar pela segunda vez, a latência registrada será o limite de tempo limite combinado para as duas tentativas de solicitação, e o grafo exibirá aproximadamente 500 milissegundos. Em todos os outros casos em que o proxy não responder dentro do tempo limite de 250 milissegundos, a latência registrada será de 250 milissegundos. Se o proxy estiver frequentemente atingindo o tempo limite nas operações de criptografia e descriptografia, consulte seu administrador do proxy externo. Para obter ajuda na solução de problemas de latência, consulte [Erros de latência e de tempo limite](xks-troubleshooting.md#fix-xks-latency).

Respostas lentas também podem indicar que seu gerenciador de chaves externo não consegue lidar com o tráfego de solicitações atual. AWS KMS recomenda que seu gerenciador de chaves externo seja capaz de lidar com até 1800 solicitações de operações criptográficas por segundo. Se o gerenciador de chaves externas não conseguir lidar com a taxa de 1800 solicitações por segundo, considere [solicitar uma redução na cota de solicitações de chaves do KMS em um armazenamento de chaves personalizado](requests-per-second.md#rps-key-stores). As solicitações de operações de criptografia que usam as chaves do KMS em seu armazenamento de chaves externas se anteciparão à falha com uma [exceção de controle de utilização](throttling.md), em vez de serem processadas e posteriormente rejeitadas pelo proxy de armazenamento de chaves externas ou pelo gerenciador de chaves externas.

O grafo de latência é derivado da métrica [XksProxyLatency](monitoring-cloudwatch.md#metric-xks-proxy-latency). Quando você [visualiza um ponto de dados específico](#graph-data-point), o pop-up exibe os valores correspondentes de dimensão `KmsOperation` e `XksOperation` junto com a latência média registrada para as operações no ponto de dados. Os itens da lista são ordenados da maior para a menor latência.

Recomendamos usar a [XksProxyLatency](monitoring-cloudwatch.md#metric-xks-proxy-latency) métrica para criar um CloudWatch alarme que notifique você quando sua latência estiver se aproximando do limite de tempo limite. Para obter mais informações, consulte [Criar um alarme para tempo limite de resposta](xks-alarms.md#latency-alarm).

### As cinco principais exceções
<a name="top-5-exceptions-graph"></a>

As cinco principais exceções para falhas nas operações de criptografia e de gerenciamento durante um intervalo de tempo específico. Use esse grafo para rastrear os erros mais frequentes e poder priorizar seus esforços de engenharia.

Essa contagem inclui as exceções AWS KMS recebidas do proxy externo do armazenamento de chaves e as `XksProxyUnreachableException` que AWS KMS retornam internamente quando não é possível estabelecer comunicação com o proxy externo do armazenamento de chaves.

Altas taxas de erros com nova tentativa podem indicar erros de redes, enquanto altas taxas de erros sem nova tentativa podem indicar um problema com a configuração do armazenamento de chaves externas. Por exemplo, um aumento `AuthenticationFailedExceptions` indica uma discrepância entre as credenciais de autenticação configuradas AWS KMS e o proxy externo do armazenamento de chaves. Para visualizar a configuração do armazenamento de chaves externas, consulte [Visualizar repositórios de chaves externos](view-xks-keystore.md). Para editar suas configurações de armazenamento de chaves externas, consulte [Editar propriedades do repositório de chaves externo](update-xks-keystore.md).

As exceções AWS KMS recebidas do proxy externo do armazenamento de chaves são diferentes das exceções que AWS KMS retornam quando uma operação falha. AWS KMS as operações criptográficas retornam an `KMSInvalidStateException` para todas as falhas relacionadas à configuração externa ou ao estado da conexão do armazenamento de chaves externo. Para identificar o problema, use o texto da mensagem de erro que o acompanha.

A tabela a seguir mostra as exceções que podem aparecer no gráfico das 5 principais exceções e as exceções correspondentes que AWS KMS retornam para você.


| Tipo de erro | Exceção exibida no grafo | Exceção que AWS KMS retornou para você | 
| --- | --- | --- | 
| Sem nova tentativa | AccessDeniedException   Para obter ajuda sobre a solução de problemas, consulte [Problemas de autorização de proxy](xks-troubleshooting.md#fix-xks-authorization). | **`CustomKeyStoreInvalidStateException`** em resposta às operações `CreateKey`. **`KMSInvalidStateException`** em resposta às operações de criptografia. | 
| Sem nova tentativa | AuthenticationFailedException   Para obter ajuda sobre a solução de problemas, consulte [Erros de credenciais de autenticação](xks-troubleshooting.md#fix-xks-credentials). | **`XksProxyIncorrectAuthenticationCredentialException`** em resposta às operações `CreateCustomKeyStore` e `UpdateCustomKeyStore`.**`CustomKeyStoreInvalidStateException`** em resposta às operações `CreateKey`. **`KMSInvalidStateException`** em resposta às operações de criptografia. | 
| Com nova tentativa | **`DependencyTimeoutException`** Para obter ajuda sobre a solução de problemas, consulte [Erros de latência e de tempo limite](xks-troubleshooting.md#fix-xks-latency). | **`XksProxyUriUnreachableException`** em resposta às operações `CreateCustomKeyStore` e `UpdateCustomKeyStore`. **`CustomKeyStoreInvalidStateException`** em resposta às operações `CreateKey`. **`KMSInvalidStateException`** em resposta às operações de criptografia. | 
| Com nova tentativa | **`InternalException`** O proxy de armazenamento de chaves externas rejeitou a solicitação porque não consegue se comunicar com o gerenciador de chaves externas. Verifique se a configuração do proxy do armazenamento de chaves externas está correta e se o gerenciador de chaves externas está disponível. | **`XksProxyInvalidResponseException`** em resposta às operações `CreateCustomKeyStore` e `UpdateCustomKeyStore`. **`CustomKeyStoreInvalidStateException`** em resposta às operações `CreateKey`. **`KMSInvalidStateException`** em resposta às operações de criptografia. | 
| Sem nova tentativa | **`InvalidCiphertextException`** Para obter ajuda sobre a solução de problemas, consulte [Erros de descriptografia](xks-troubleshooting.md#fix-xks-decrypt). | **`KMSInvalidStateException`** em resposta às operações de criptografia. | 
| Sem nova tentativa | **`InvalidKeyUsageException`** Para obter ajuda sobre a solução de problemas, consulte [Erros de operação de criptografia da chave externa](xks-troubleshooting.md#fix-external-key-crypto). | **`XksKeyInvalidConfigurationException`** em resposta às operações `CreateKey`. **`KMSInvalidStateException`** em resposta às operações de criptografia. | 
| Sem nova tentativa | **`InvalidStateException`** Para obter ajuda sobre a solução de problemas, consulte [Erros de operação de criptografia da chave externa](xks-troubleshooting.md#fix-external-key-crypto). | **`XksKeyInvalidConfigurationException`** em resposta às operações `CreateKey`. **`KMSInvalidStateException`** em resposta às operações de criptografia. | 
| Sem nova tentativa | **`InvalidUriPathException`** Para obter ajuda sobre a solução de problemas, consulte [Erros gerais de configuração](xks-troubleshooting.md#fix-xks-gen-configuration). | **`XksProxyInvalidConfigurationException`** em resposta às operações `CreateCustomKeyStore` e `UpdateCustomKeyStore`. **`CustomKeyStoreInvalidStateException`** em resposta às operações `CreateKey`. **`KMSInvalidStateException`** em resposta às operações de criptografia. | 
| Sem nova tentativa | **`KeyNotFoundException`** Para obter ajuda sobre a solução de problemas, consulte [Erros de chave externa](xks-troubleshooting.md#fix-external-key). | **`XksKeyNotFoundException`** em resposta às operações `CreateKey`. **`KMSInvalidStateException`** em resposta às operações de criptografia. | 
| Com nova tentativa | **`ThrottlingException`** O proxy de armazenamento de chaves externas rejeitou a solicitação devido a uma taxa de solicitação muito alta. Reduza a frequência de suas chamadas usando chaves do KMS neste armazenamento de chaves externas. | **`XksProxyUriUnreachableException`** em resposta às operações `CreateCustomKeyStore` e `UpdateCustomKeyStore`. **`CustomKeyStoreInvalidStateException`** em resposta às operações `CreateKey`. **`KMSInvalidStateException`** em resposta às operações de criptografia. | 
| Sem nova tentativa | **`UnsupportedOperationException`** Para obter ajuda sobre a solução de problemas, consulte [Erros de operação de criptografia da chave externa](xks-troubleshooting.md#fix-external-key-crypto). | **`XksKeyInvalidResponseException`** em resposta às operações `CreateKey`. **`KMSInvalidStateException`** em resposta às operações de criptografia. | 
| Sem nova tentativa | **`ValidationException`** Para obter ajuda sobre a solução de problemas, consulte [Problemas de proxy](xks-troubleshooting.md#fix-xks-proxy). | **`XksProxyInvalidResponseException`** em resposta às operações `CreateCustomKeyStore` e `UpdateCustomKeyStore`. **`CustomKeyStoreInvalidStateException`** em resposta às operações `CreateKey`. **`KMSInvalidStateException`** em resposta às operações de criptografia. | 
| Com nova tentativa | **`XksProxyUnreachableException`** Caso veja esse erro repetidamente, verifique se o proxy de armazenamento de chaves externas está ativo e conectado à rede e se o caminho do URI e o URI do endpoint ou o nome do serviço da VPC estão corretos no armazenamento de chaves externas. | **`XksProxyUriUnreachableException`** em resposta às operações `CreateCustomKeyStore` e `UpdateCustomKeyStore`. **`CustomKeyStoreInvalidStateException`** em resposta às operações `CreateKey`. **`KMSInvalidStateException`** em resposta às operações de criptografia. | 

O grafo das cinco principais exceções é derivado da métrica [XksProxyErrors](monitoring-cloudwatch.md#metric-xks-proxy-errors). Quando você [visualiza um ponto de dados específico](#graph-data-point), o pop-up exibe o valor da dimensão `ExceptionName` junto com o número de vezes que a exceção foi registrada no ponto de dados. Os cinco itens da lista são ordenados da exceção mais frequente para a menos frequente.

Recomendamos usar a [XksProxyErrors](monitoring-cloudwatch.md#metric-xks-proxy-errors) métrica para criar um CloudWatch alarme que notifique você sobre possíveis problemas de configuração, alertando-o quando mais de cinco erros que não podem ser repetidos forem registrados em um período de um minuto. Para obter mais informações, consulte [Criar um alarme para erros não passíveis de nova tentativa](xks-alarms.md#nonretryable-errors-alarm).

### Dias para o certificado expirar
<a name="cert-expire-graph"></a>

O número de dias até o certificado TLS do endpoint do proxy de armazenamento de chaves externas (`XksProxyUriEndpoint`) expirar. Use esse grafo para monitorar a próxima expiração de seu certificado TLS.

Quando o certificado expira, AWS KMS não é possível se comunicar com o proxy externo do armazenamento de chaves. Todos os dados protegidos por chaves do KMS em seu armazenamento de chaves externas ficarão inacessíveis até você renovar o certificado. 

O grafo de dias até a expiração do certificado é derivado da métrica [XksProxyCertificateDaysToExpire](monitoring-cloudwatch.md#metric-xks-proxy-certificate-days-to-expire). É altamente recomendável usar essa métrica para criar um CloudWatch alarme que o notifique sobre o vencimento futuro. A expiração do certificado pode impedir que você acesse os recursos criptografados. Defina o alarme para dar tempo para a sua organização renovar o certificado antes que ele expire. Para obter mais informações, consulte [Criar um alarme para expiração de certificado](xks-alarms.md#cert-expire-alarm).

# Conectar e desconectar repositórios de chaves externos
<a name="xks-connect-disconnect"></a>

Os novos armazenamentos de chaves externas não são conectados. Para criar e usar AWS KMS keys em seu armazenamento de chaves externo, você precisa conectar seu armazenamento de chaves externo ao [proxy de armazenamento de chaves externo](keystore-external.md#concept-xks-proxy). Você pode conectar e desconectar seu armazenamento de chaves externas a qualquer momento, e [visualizar seu estado de conexão](view-xks-keystore.md).

Enquanto o armazenamento de chaves externo estiver desconectado, AWS KMS não poderá se comunicar com o proxy externo do armazenamento de chaves. Como resultado, você poderá visualizar e gerenciar o armazenamento de chaves externas e suas chaves do KMS existentes. No entanto, não é possível criar chaves do KMS em seu armazenamento de chaves externas nem usar suas chaves do KMS em operações de criptografia. Talvez seja necessário desconectar o armazenamento de chaves externas em algum momento, como ao editar as propriedades, mas planeje adequadamente. Desconectar o armazenamento de chaves pode interromper a operação dos AWS serviços que usam suas chaves KMS. 

Não é necessário conectar seu armazenamento de chaves externas. Você pode deixar um armazenamento de chaves externas em estado desconectado indefinidamente e conectá-lo somente quando precisar usá-lo. No entanto, você pode desejar testar a conexão periodicamente para verificar se as configurações estão corretas e se ele pode ser conectado.

Quando você desconecta um armazenamento de chaves personalizado, as chaves do KMS do armazenamento de chaves tornam-se inutilizáveis imediatamente (sujeitas a consistência posterior). Porém, os recursos criptografados com [chaves de dados](data-keys.md) protegidas pela chave do KMS não serão afetados até que a chave do KMS seja usada novamente, por exemplo, para descriptografar a chave de dados. Esse problema afeta os Serviços da AWS, pois muitos deles usam chaves de dados para proteger recursos. Para obter detalhes, consulte [Como as chaves do KMS inutilizáveis afetam as chaves de dados](unusable-kms-keys.md).

**nota**  
Armazenamentos de chaves externas têm o estado `DISCONNECTED` somente quando nunca foram conectados ou quando você os desconecta explicitamente. Um estado `CONNECTED` não indica que o armazenamento de chaves externas ou seus componentes de apoio estejam operando com eficiência. Para obter informações sobre a performance dos componentes do armazenamento de chaves externas, consulte os grafos na seção **Monitoring** (Monitoramento) da página de detalhes de cada armazenamento de chaves externas. Para obter detalhes, consulte [Monitorar repositórios de chaves externos](xks-monitoring.md).  
Seu gerenciador de chaves externo pode fornecer métodos adicionais para interromper e reiniciar a comunicação entre o armazenamento de chaves AWS KMS externo e o proxy externo do armazenamento de chaves, ou entre o proxy externo do armazenamento de chaves e o gerenciador de chaves externo. Para obter detalhes, consulte a documentação do gerenciador de chaves externas.

**Topics**
+ [

## Estado da conexão
](#xks-connection-state)
+ [

# Conectar um repositório de chaves externo
](about-xks-connecting.md)
+ [

# Desconectar um repositório de chaves externo
](about-xks-disconnecting.md)

## Estado da conexão
<a name="xks-connection-state"></a>

A conexão e desconexão altera o *estado da conexão* do armazenamento de chaves personalizado. Os valores do estado da conexão são os mesmos para armazenamentos de AWS CloudHSM chaves e armazenamentos de chaves externos. 

Para ver o estado da conexão do seu armazenamento de chaves personalizadas, use a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/DescribeCustomKeyStores.html)operação ou o AWS KMS console. O **estado da conexão** é exibido em cada tabela de armazenamento de chaves personalizado, na seção **General configuration** (Configuração geral) da página de detalhes de cada armazenamento de chaves personalizado e na guia **Cryptographic configuration** (Configuração criptográfica) das chaves do KMS em um armazenamento de chaves personalizado. Para obter mais detalhes, consulte [Exibir uma loja de AWS CloudHSM chaves](view-keystore.md) e [Visualizar repositórios de chaves externos](view-xks-keystore.md).

O armazenamento de chaves personalizado pode ter um dos estados de conexão a seguir:
+ `CONNECTED`: o armazenamento de chaves personalizado está conectado a seu armazenamento de chaves de reserva. Você pode criar e usar chaves do KMS no armazenamento de chaves personalizado.

  O *armazenamento de chaves de apoio* para um armazenamento de AWS CloudHSM chaves é seu AWS CloudHSM cluster associado. O *armazenamento de chaves de reserva* para um armazenamento de chaves externas é o proxy de armazenamento de chaves externas e o gerenciador de chaves externas ao qual oferece suporte.

  Um estado CONNECTED significa que uma conexão foi bem-sucedida e que o armazenamento de chaves personalizado não foi desconectado intencionalmente. Isso não indica que a conexão está funcionando devidamente. Para obter informações sobre o status do AWS CloudHSM cluster associado ao seu armazenamento de AWS CloudHSM chaves, consulte [Obter CloudWatch métricas para AWS CloudHSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/hsm-metrics-cw.html) no Guia do AWS CloudHSM usuário. Para obter informações sobre o status e a operação do armazenamento de chaves externas, consulte os grafos na seção **Monitoring** (Monitoramento) da página de detalhes de cada armazenamento de chaves externas. Para obter detalhes, consulte [Monitorar repositórios de chaves externos](xks-monitoring.md).
+ `CONNECTING`: o processo de conexão de um armazenamento de chaves personalizado está em andamento. É um estado transitório.
+ `DISCONNECTED`: o armazenamento de chaves personalizadas nunca foi conectado ao seu suporte ou foi desconectado intencionalmente usando o AWS KMS console ou a operação. [DisconnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/DisconnectCustomKeyStores.html) 
+ `DISCONNECTING`: o processo de desconexão de um armazenamento de chaves personalizado está em andamento. É um estado transitório.
+ `FAILED`: falha na tentativa de conexão ao armazenamento de chaves personalizado. O `ConnectionErrorCode` na [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/DescribeCustomKeyStores.html)resposta indica o problema.

Para conectar um armazenamento de chaves personalizado, o estado de conexão deve ser `DISCONNECTED`. Se o estado da conexão for `FAILED`, use `ConnectionErrorCode` para identificar e resolver o problema. Desconecte o armazenamento de chaves personalizado antes de tentar conectá-lo novamente. Para obter ajuda com falhas de conexão, consulte [Erros de conexão do armazenamento de chaves externas](xks-troubleshooting.md#fix-xks-connection). Para obter ajuda para responder a um código de erro de conexão, consulte [Códigos de erro de conexão para armazenamentos de chaves externas](xks-troubleshooting.md#xks-connection-error-codes).

Para visualizar o código de erro de conexão:
+ Na [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)resposta, visualize o valor do `ConnectionErrorCode` elemento. Este elemento aparece na resposta de `DescribeCustomKeyStores` somente quando `ConnectionState` é `FAILED`.
+ Para visualizar o código de erro de conexão no AWS KMS console, na página de detalhes do armazenamento externo de chaves e passe o mouse sobre o valor **Falha**.  
![\[Código de erro de conexão na página de detalhes do armazenamento de chaves personalizado\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/connection-error-code.png)

# Conectar um repositório de chaves externo
<a name="about-xks-connecting"></a>

Quando seu armazenamento de chaves externas está conectado ao proxy de armazenamento de chaves externas, é possível [criar chaves do KMS no armazenamento de chaves externas](create-cmk-keystore.md) e usar chaves do KMS existentes em [operações de criptografia](manage-cmk-keystore.md#use-cmk-keystore). 

O processo que conecta um armazenamento de chaves externas ao proxy de armazenamento de chaves externas difere com base na conectividade do armazenamento de chaves externas.
+ Quando você conecta um armazenamento de chaves externo com [conectividade de endpoint público](keystore-external.md#concept-xks-connectivity), AWS KMS envia uma [GetHealthStatus solicitação](keystore-external.md#concept-proxy-apis) ao proxy externo do armazenamento de chaves para validar o [endpoint do URI do proxy, o caminho do URI](create-xks-keystore.md#require-endpoint) [do proxy e a credencial](create-xks-keystore.md#require-path) de autenticação do [proxy](keystore-external.md#concept-xks-credential). Uma resposta bem-sucedida do proxy confirma que o [endpoint do URI do proxy](create-xks-keystore.md#require-endpoint) e o [caminho do URI do proxy](create-xks-keystore.md#require-path) estão corretos e acessíveis e que o proxy autenticou a solicitação assinada com a [credencial de autenticação do proxy](keystore-external.md#concept-xks-credential) para o armazenamento de chaves externas.
+ Ao conectar um armazenamento de chaves externo com a [conectividade do serviço de endpoint VPC](choose-xks-connectivity.md#xks-vpc-connectivity) ao proxy externo do armazenamento de chaves, AWS KMS faça o seguinte: 
  + Confirma que o domínio do nome DNS privado especificado no [endpoint do URI do proxy](create-xks-keystore.md#require-endpoint) foi [verificado](vpc-connectivity.md#xks-private-dns). 
  + Cria um endpoint de interface de uma AWS KMS VPC para seu serviço de endpoint de VPC.
  + Cria uma zona hospedada privada para o nome DNS privado especificado no endpoint do URI do proxy
  + Envia uma [GetHealthStatussolicitação](keystore-external.md#concept-proxy-apis) para o proxy externo do armazenamento de chaves. Uma resposta bem-sucedida do proxy confirma que o [endpoint do URI do proxy](create-xks-keystore.md#require-endpoint) e o [caminho do URI do proxy](create-xks-keystore.md#require-path) estão corretos e acessíveis e que o proxy autenticou a solicitação assinada com a [credencial de autenticação do proxy](keystore-external.md#concept-xks-credential) para o armazenamento de chaves externas.

A operação de conexão inicia o processo de conexão do armazenamento de chaves personalizado, mas conectar um armazenamento de chaves externas ao proxy externo leva aproximadamente cinco minutos. Uma resposta bem-sucedida da operação de conexão não indica que o armazenamento de chaves externas esteja conectado. Para confirmar que a conexão foi bem-sucedida, use o AWS KMS console ou a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/DescribeCustomKeyStores.html)operação para visualizar o [estado da conexão](xks-connect-disconnect.md#xks-connection-state) externa do seu armazenamento de chaves.

Quando o estado da conexão é`FAILED`, um código de erro de conexão é exibido no AWS KMS console e adicionado à `DescribeCustomKeyStore` resposta. Para obter ajuda na interpretação dos códigos de erro de conexão, consulte [Códigos de erro de conexão para armazenamentos de chaves externas](xks-troubleshooting.md#xks-connection-error-codes).

## Conectar e reconectar ao repositório de chaves externo
<a name="connect-xks"></a>

Você pode conectar ou reconectar seu armazenamento de chaves externo no AWS KMS console ou usando a [ConnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html)operação.

### Usando o AWS KMS console
<a name="connect-xks-console"></a>

Você pode usar o AWS KMS console para conectar um armazenamento de chaves externo ao seu proxy de armazenamento de chaves externo. 

1. Faça login no console Console de gerenciamento da AWS e abra o AWS Key Management Service (AWS KMS) em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

1. No painel de navegação, selecione **Custom key stores** (Armazenamentos de chaves personalizados), **External key stores** (Armazenamentos de chaves externas).

1. Escolha a linha do armazenamento de chaves externas que deseja conectar. 

   Se o [estado de conexão](xks-connect-disconnect.md#xks-connection-state) do armazenamento de chaves externas for **FAILED**, você deverá [desconectar o armazenamento de chaves externas](disconnect-keystore.md#disconnect-keystore-console) antes de conectá-lo.

1. No menu **Key store actions** (Ações do armazenamento de chaves), escolha **Connect** (Conectar).

O processo de conexão normalmente leva cerca de cinco minutos para ser concluído. Quando a operação é concluída, o [estado da conexão](xks-connect-disconnect.md#xks-connection-state) é alterado para **CONNECTED**. 

Se o estado da conexão for **Failed**, passe o mouse sobre o estado da conexão para ver o *código de erro da conexão*, que explica a causa do erro. Para obter ajuda para responder a um código de erro de conexão, consulte [Códigos de erro de conexão para armazenamentos de chaves externas](xks-troubleshooting.md#xks-connection-error-codes). Para conectar um armazenamento de chaves externas com o estado de conexão **Failed**, você deve primeiro [desconectar o armazenamento de chaves personalizado](disconnect-keystore.md#disconnect-keystore-console).

### Usando a AWS KMS API
<a name="connect-xks-api"></a>

Para conectar um armazenamento de chaves externo desconectado, use a [ConnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html)operação. 

Antes de se conectar, o [estado da conexão](xks-connect-disconnect.md#xks-connection-state) do armazenamento de chaves externas deve ser `DISCONNECTED`. Se o estado da conexão atual for `FAILED`, [desconecte o armazenamento de chaves externas](about-xks-disconnecting.md#disconnect-xks-api) e conecte-o novamente. 

O processo de conexão leva cerca de cinco minutos para ser concluído. A menos que ocorra uma falha rapidamente, `ConnectCustomKeyStore` retornará uma resposta HTTP 200 e um objeto JSON sem propriedades. No entanto, essa resposta inicial não indica que a conexão foi bem-sucedida. Para determinar se o armazenamento de chaves externo está conectado, veja o estado da conexão na [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)resposta. 

Os exemplos nesta seção usam a [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/), mas você pode usar qualquer linguagem de programação compatível. 

Para identificar o armazenamento de chaves externas, use o ID do armazenamento de chaves personalizado. Você pode encontrar o ID na página **Armazenamentos de chaves personalizadas** no console ou usando a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação. Antes de executar esse exemplo, substitua o ID de exemplo por um válido.

```
$ aws kms connect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
```

A operação `ConnectCustomKeyStore` não retorna `ConnectionState` na resposta. Para verificar se o armazenamento de chaves externo está conectado, use a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação. Por padrão, essa operação retorna todos os armazenamentos de chaves personalizados em sua conta e região. No entanto, você pode usar o parâmetro `CustomKeyStoreId` ou `CustomKeyStoreName` (mas não ambos) para limitar a resposta para determinados armazenamentos de chaves personalizados. Um valor `ConnectionState` de `CONNECTED` indica que o armazenamento de chaves externas está conectado ao proxy de armazenamento de chaves externas.

```
$ aws kms describe-custom-key-stores --custom-key-store-name ExampleXksVpc
{
    "CustomKeyStores": [
    {
      "CustomKeyStoreId": "cks-9876543210fedcba9",
      "CustomKeyStoreName": "ExampleXksVpc",
      "ConnectionState": "CONNECTED",
      "CreationDate": "2022-12-13T18:34:10.675000+00:00",
      "CustomKeyStoreType": "EXTERNAL_KEY_STORE",
      "XksProxyConfiguration": { 
        "AccessKeyId": "ABCDE98765432EXAMPLE",
        "Connectivity": "VPC_ENDPOINT_SERVICE",
        "UriEndpoint": "https://example-proxy-uri-endpoint-vpc",
        "UriPath": "/example/prefix/kms/xks/v1",
        "VpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-example"
      }
    }
  ]
}
```

Se o valor `ConnectionState` na resposta de `DescribeCustomKeyStores` for `FAILED`, o elemento `ConnectionErrorCode` indica o motivo da falha. 

No exemplo a seguir, o `XKS_VPC_ENDPOINT_SERVICE_NOT_FOUND` valor do `ConnectionErrorCode` indica que não é AWS KMS possível encontrar o serviço de endpoint da VPC que ele usa para se comunicar com o proxy externo do armazenamento de chaves. Verifique se `XksProxyVpcEndpointServiceName` está correto, se o principal de AWS KMS serviço é um principal permitido no serviço de endpoint da Amazon VPC e se o serviço de endpoint de VPC não exige a aceitação de solicitações de conexão. Para obter ajuda para responder a um código de erro de conexão, consulte [Códigos de erro de conexão para armazenamentos de chaves externas](xks-troubleshooting.md#xks-connection-error-codes).

```
$ aws kms describe-custom-key-stores --custom-key-store-name ExampleXksVpc
{
    "CustomKeyStores": [
    {
      "CustomKeyStoreId": "cks-9876543210fedcba9",
      "CustomKeyStoreName": "ExampleXksVpc",
      "ConnectionState": "FAILED",
      "ConnectionErrorCode": "XKS_VPC_ENDPOINT_SERVICE_NOT_FOUND",
      "CreationDate": "2022-12-13T18:34:10.675000+00:00",
      "CustomKeyStoreType": "EXTERNAL_KEY_STORE",
      "XksProxyConfiguration": { 
        "AccessKeyId": "ABCDE98765432EXAMPLE",
        "Connectivity": "VPC_ENDPOINT_SERVICE",
        "UriEndpoint": "https://example-proxy-uri-endpoint-vpc",
        "UriPath": "/example/prefix/kms/xks/v1",
        "VpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-example"
      }
    }
  ]
}
```

# Desconectar um repositório de chaves externo
<a name="about-xks-disconnecting"></a>

Quando você desconecta um armazenamento de chaves externas com [conectividade do serviço de endpoint da VPC](choose-xks-connectivity.md#xks-vpc-connectivity) do proxy de armazenamento de chaves externas, o AWS KMS exclui o endpoint de interface para o serviço de endpoint da VPC e remove a infraestrutura de rede que ele criou para oferecer suporte à conexão. Nenhum processo equivalente é necessário para armazenamentos de chaves externas com conectividade de endpoint público. Essa ação não afeta o serviço de endpoint da VPC ou seus componentes de apoio nem afeta o proxy de armazenamento de chaves externas ou componentes externos.

Enquanto o armazenamento de chaves externo estiver desconectado, AWS KMS não envia nenhuma solicitação para o proxy externo do armazenamento de chaves. O estado da conexão do armazenamento de chaves externas é `DISCONNECTED`. As chaves do KMS no armazenamento de chaves externas desconectado estão no [estado de chave `UNAVAILABLE`](key-state.md) (a menos que estejam [pendentes de exclusão](deleting-keys.md)), isto é, não podem ser usadas em operações de criptografia. Porém, você ainda poderá visualizar e gerenciar o armazenamento de chaves externas e suas chaves do KMS existentes. 

O estado desconectado foi criado para ser temporário e reversível. Você pode reconectar o armazenamento de chaves externas a qualquer momento. Normalmente, não é necessária nenhuma reconfiguração. Porém, se alguma propriedade do proxy de armazenamento de chaves externas associado tiver sido alterada enquanto ele estava desconectado, como a alternância de sua [credencial de autenticação de proxy](keystore-external.md#concept-xks-credential), você deverá [editar as configurações do armazenamento de chaves externas](update-xks-keystore.md) antes de reconectar. 

**nota**  
Enquanto um armazenamento de chaves personalizado estiver desconectado, todas as tentativas de criar chaves do KMS nele ou de usar chaves do KMS existentes em operações de criptografia falharão. Essa ação pode impedir que os usuários armazenem e acessem dados sigilosos.

Para avaliar melhor o efeito de desconectar o armazenamento de chaves externas, identifique as chaves do KMS no armazenamento de chaves externas e [determine seu uso anterior](deleting-keys-determining-usage.md).

Você pode desconectar o armazenamento de chaves externas por motivos como estes:
+ **Para editar suas propriedades.** Você pode editar o nome do armazenamento de chaves personalizado, o caminho do URI do proxy e a credencial de autenticação do proxy enquanto o armazenamento de chaves externas está conectado. No entanto, para editar o tipo de conectividade do proxy, o endpoint do URI do proxy ou o nome do serviço de endpoint da VPC, primeiro é necessário desconectar o armazenamento de chaves externas. Para obter detalhes, consulte [Editar propriedades do repositório de chaves externo](update-xks-keystore.md).
+ **Para interromper toda a comunicação** entre AWS KMS e o proxy externo do armazenamento de chaves. Você também pode interromper a comunicação entre AWS KMS e seu proxy desativando seu endpoint ou serviço de endpoint VPC. Além disso, seu proxy de armazenamento de chaves externo ou software de gerenciamento de chaves pode fornecer mecanismos adicionais para AWS KMS impedir a comunicação com o proxy ou impedir que o proxy acesse seu gerenciador de chaves externo.
+ **Para desabilitar todas as chaves do KMS** no armazenamento de chaves externas. Você pode [desativar e reativar as chaves KMS](enabling-keys.md) em um armazenamento de chaves externo usando o AWS KMS console ou a [DisableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKey.html)operação. Essas operações são concluídas rapidamente (sujeitas a consistência posterior), mas atuam em uma chave do KMS de cada vez. A desconexão do armazenamento de chaves externas altera o estado da chave de todas as chaves do KMS no armazenamento de chaves externas para `Unavailable`, impedindo que elas sejam usadas em operações de criptografia.
+ **Para reparar uma falha na tentativa de conexão**. Se ocorrer falha em uma tentativa de conectar-se a um armazenamento de chaves externas (o estado da conexão do armazenamento de chaves personalizado apresentado é `FAILED`), você deve desconectar o armazenamento de chaves externas antes de tentar se conectar novamente.

## Desconectar seu repositório de chaves externo
<a name="disconnect-xks"></a>

Você pode desconectar o armazenamento externo de chaves no AWS KMS console ou usando a [DisconnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisconnectCustomKeyStore.html)operação.

### Usando o AWS KMS console
<a name="disconnect-xks-console"></a>

Você pode usar o AWS KMS console para conectar um armazenamento de chaves externo ao seu proxy de armazenamento de chaves externo. Esse processo leva cerca de cinco minutos para ser concluído. 

1. Faça login no console Console de gerenciamento da AWS e abra o AWS Key Management Service (AWS KMS) em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

1. No painel de navegação, selecione **Custom key stores** (Armazenamentos de chaves personalizados), **External key stores** (Armazenamentos de chaves externas).

1. Escolha a linha do armazenamento de chaves externas que deseja desconectar. 

1. No menu **Key store actions** (Ações do armazenamento de chaves), escolha **Disconnect** (Desconectar).

Quando a operação é concluída, o estado de conexão é alterado de **DISCONNECTING (DESCONECTANDO)** para **DISCONNECTED (DESCONECTADO)**. Se ocorrer falha na operação, será exibida uma mensagem de erro descrevendo o problema e fornecendo ajuda para corrigi-lo. Se precisar de ajuda adicional, consulte [Erros de conexão do armazenamento de chaves externas](xks-troubleshooting.md#fix-xks-connection).

### Usando a AWS KMS API
<a name="disconnect-xks-api"></a>

Para desconectar um armazenamento de chaves externo conectado, use a [DisconnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisconnectCustomKeyStore.html)operação. Se a operação for bem-sucedida, AWS KMS retornará uma resposta HTTP 200 e um objeto JSON sem propriedades. O processo leva cerca de cinco minutos para ser concluído. Para encontrar o estado da conexão do armazenamento de chaves externo, use a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação.

Os exemplos nesta seção usam a [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/), mas você pode usar qualquer linguagem de programação compatível. 

Este exemplo desconecta um armazenamento de chaves externas da conectividade do serviço de endpoint da VPC. Antes de executar este exemplo, substitua o ID de exemplo do armazenamento de chaves personalizado por um válido.

```
$ aws kms disconnect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
```

Para verificar se o armazenamento de chaves externo está desconectado, use a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação. Por padrão, essa operação retorna todos os armazenamentos de chaves personalizados em sua conta e região. No entanto, você pode usar o parâmetro `CustomKeyStoreId` e `CustomKeyStoreName` (mas não ambos) para limitar a resposta para determinados armazenamentos de chaves personalizados. O valor `ConnectionState` de `DISCONNECTED` indica que esse exemplo de armazenamento de chaves externas não está mais conectado ao proxy de armazenamento de chaves externas.

```
$ aws kms describe-custom-key-stores --custom-key-store-name ExampleXksVpc
{
    "CustomKeyStores": [
    {
      "CustomKeyStoreId": "cks-9876543210fedcba9",
      "CustomKeyStoreName": "ExampleXksVpc",
      "ConnectionState": "DISCONNECTED",
      "CreationDate": "2022-12-13T18:34:10.675000+00:00",
      "CustomKeyStoreType": "EXTERNAL_KEY_STORE",
      "XksProxyConfiguration": { 
        "AccessKeyId": "ABCDE98765432EXAMPLE",
        "Connectivity": "VPC_ENDPOINT_SERVICE",
        "UriEndpoint": "https://example-proxy-uri-endpoint-vpc",
        "UriPath": "/example/prefix/kms/xks/v1",
        "VpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-example"
      }
    }
  ]
}
```

# Excluir um repositório de chaves externo
<a name="delete-xks"></a>

Quando você exclui um armazenamento de chaves externo, AWS KMS exclui todos os metadados sobre o armazenamento de chaves externo AWS KMS, incluindo informações sobre seu proxy de armazenamento de chaves externo. Essa operação não afeta o [proxy externo do armazenamento de chaves](keystore-external.md#concept-xks-proxy), o [gerenciador de chaves externo](keystore-external.md#concept-ekm), [as chaves externas](keystore-external.md#concept-external-key) ou quaisquer AWS recursos que você criou para dar suporte ao armazenamento de chaves externo, como um Amazon VPC ou um serviço de endpoint de VPC.

Antes de excluir um armazenamento de chaves externas, você deve [excluir todas as chaves do KMS](deleting-keys.md) do armazenamento de chaves e [desconectar o armazenamento de chaves](xks-connect-disconnect.md) do proxy de armazenamento de chaves externas. Senão, as tentativas de excluir o armazenamento de chaves falharão.

A exclusão de um armazenamento de chaves externas é irreversível, mas você pode criar um novo armazenamento de chaves externas e associá-lo ao mesmo proxy de armazenamento de chaves externas e ao mesmo gerenciador de chaves externas. No entanto, você não pode recriar as chaves KMS de criptografia simétrica no armazenamento de chaves externo, mesmo que tenha acesso ao mesmo material de chave externa. AWS KMS inclui metadados no texto cifrado simétrico exclusivo de cada chave KMS. Esse recurso de segurança garante que somente a chave do KMS que criptografou os dados poderá descriptografá-los. 

Em vez de excluir o armazenamento de chaves externas, considere desconectá-lo. Enquanto um armazenamento de chaves externo estiver desconectado, você pode gerenciar o armazenamento de chaves externo e seu AWS KMS keys , mas não pode criar ou usar chaves KMS no armazenamento de chaves externo. Você pode reconectar o armazenamento de chaves externas a qualquer momento e continuar usando suas chaves do KMS para criptografar e descriptografar dados. Não há custo para um proxy de armazenamento de chaves externas desconectado ou chaves do KMS indisponíveis.

Você pode excluir seu armazenamento externo de chaves no AWS KMS console ou usando a [DeleteCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteCustomKeyStore.html)operação.

## Usando o AWS KMS console
<a name="delete-xks-console"></a>

Você pode usar o AWS KMS console para excluir um armazenamento de chaves externo.

1. Faça login no console Console de gerenciamento da AWS e abra o AWS Key Management Service (AWS KMS) em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Para alterar o Região da AWS, use o seletor de região no canto superior direito da página.

1. No painel de navegação, selecione **Custom key stores** (Armazenamentos de chaves personalizados), **External key stores** (Armazenamentos de chaves externas).

1. Encontre a linha que representa o armazenamento de chaves externas que você deseja excluir. Se o **Connection state** (Estado de conexão) do armazenamento de chaves externas não for **DISCONNECTED**, você deverá [desconectar o armazenamento de chaves externas](about-xks-disconnecting.md#disconnect-xks-console) antes de excluí-lo.

1. No menu **Key store actions** (Ações de armazenamento de chaves), escolha **Delete** (Excluir).

Quando a operação for concluída, uma mensagem de êxito será exibida, e o armazenamento de chaves externas não será mais exibido na lista de armazenamentos de chaves. Se a operação não for bem-sucedida, será exibida uma mensagem de erro descrevendo o problema e fornecendo ajuda para corrigi-lo. Se precisar de ajuda adicional, consulte [Solução de problemas de armazenamentos de chaves externas](xks-troubleshooting.md).

## Usando a AWS KMS API
<a name="delete-xks-api"></a>

Para excluir um armazenamento de chaves externo, use a [DeleteCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteCustomKeyStore.html)operação. Se a operação for bem-sucedida, AWS KMS retornará uma resposta HTTP 200 e um objeto JSON sem propriedades.

Para começar, desconecte o armazenamento de chaves externas. Antes de executar um comando como esse, substitua o ID de exemplo do armazenamento de chaves personalizado por um válido.

```
$ aws kms disconnect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
```

Depois que o armazenamento de chaves externo for desconectado, você poderá usar a [DeleteCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteCustomKeyStore.html)operação para excluí-lo. 

```
$ aws kms delete-custom-key-store --custom-key-store-id cks-1234567890abcdef0
```

Para confirmar que o armazenamento de chaves externo foi excluído, use a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação.

```
$ aws kms describe-custom-key-stores
            
{
    "CustomKeyStores": []
}
```

Se você especificar um nome ou ID de armazenamento de chaves personalizados que não exista mais, AWS KMS retornará uma `CustomKeyStoreNotFoundException` exceção.

```
$ aws kms describe-custom-key-stores --custom-key-store-id cks-1234567890abcdef0

An error occurred (CustomKeyStoreNotFoundException) when calling the DescribeCustomKeyStore operation:
```

# Solução de problemas de armazenamentos de chaves externas
<a name="xks-troubleshooting"></a>

A resolução da maioria dos problemas com armazenamentos de chaves externos é indicada pela mensagem de erro AWS KMS exibida com cada exceção ou pelo [código de erro de conexão](#fix-xks-connection) que AWS KMS retorna quando uma tentativa de [conectar o armazenamento de chaves externo](xks-connect-disconnect.md) ao proxy externo do armazenamento de chaves falha. Porém, alguns problemas são um pouco mais complexos. 

Ao diagnosticar um problema com um armazenamento de chaves externas, primeiro localize a causa. Isso reduzirá a variação de soluções e tornará a solução de problemas mais eficiente.
+ AWS KMS — O problema pode estar dentro AWS KMS, como um valor incorreto na [configuração do armazenamento de chaves externo](create-xks-keystore.md#xks-requirements).
+ Externo — O problema pode ter origem externa AWS KMS, incluindo problemas com a configuração ou operação do proxy externo do armazenamento de chaves, do gerenciador de chaves externo, das chaves externas ou do serviço de endpoint VPC.
+ Rede: pode ser um problema de conectividade ou de rede, como um problema com o endpoint do proxy, a porta, a pilha IP ou o nome ou domínio de DNS privado.

**nota**  
Quando as operações de gerenciamento em armazenamentos de chaves externas falham, elas geram várias exceções diferentes. Mas as operações AWS KMS criptográficas retornam `KMSInvalidStateException` para todas as falhas relacionadas à configuração externa ou ao estado da conexão do armazenamento de chaves externo. Para identificar o problema, use o texto da mensagem de erro que o acompanha.  
A [ConnectCustomKeyStore](xks-connect-disconnect.md)operação é bem-sucedida rapidamente antes que o processo de conexão seja concluído. Para determinar se o processo de conexão foi bem-sucedido, veja o [estado da conexão](xks-connect-disconnect.md#xks-connection-state) do armazenamento de chaves externas. Se o processo de conexão falhar, o AWS KMS retornará um [código de erro de conexão](#xks-connection-error-codes) que explica a causa e sugere uma solução.

**Topics**
+ [

## Ferramentas de solução de problemas de armazenamentos de chaves externas
](#xks-troubleshooting-tools)
+ [

## Erros de configuração
](#fix-xks-configuration)
+ [

## Erros de conexão do armazenamento de chaves externas
](#fix-xks-connection)
+ [

## Erros de latência e de tempo limite
](#fix-xks-latency)
+ [

## Erros de credenciais de autenticação
](#fix-xks-credentials)
+ [

## Erros de estado da chave
](#fix-unavailable-xks-keys)
+ [

## Erros de descriptografia
](#fix-xks-decrypt)
+ [

## Erros de chave externa
](#fix-external-key)
+ [

## Problemas de proxy
](#fix-xks-proxy)
+ [

## Problemas de autorização de proxy
](#fix-xks-authorization)

## Ferramentas de solução de problemas de armazenamentos de chaves externas
<a name="xks-troubleshooting-tools"></a>

AWS KMS fornece várias ferramentas para ajudá-lo a identificar e resolver problemas com seu armazenamento de chaves externo e suas chaves. Use essas ferramentas em conjunto com as ferramentas fornecidas com o proxy de armazenamento de chaves externas e o gerenciador de chaves externas.

**nota**  
Seu proxy de armazenamento de chaves externas e seu gerenciador de chaves externas podem fornecer métodos mais fáceis de criar e manter seu armazenamento de chaves externas e as respectivas chaves do KMS. Para obter detalhes, consulte a documentação de suas ferramentas externas. 

**AWS KMS exceções e mensagens de erro**  
AWS KMS fornece uma mensagem de erro detalhada sobre qualquer problema encontrado. Você pode encontrar informações adicionais sobre AWS KMS exceções na [https://docs.aws.amazon.com/kms/latest/APIReference/](https://docs.aws.amazon.com/kms/latest/APIReference/) e. AWS SDKs Mesmo se você estiver usando o AWS KMS console, talvez essas referências sejam úteis. Por exemplo, consulte a lista de [erros](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html#API_CreateCustomKeyStore_Errors) da operação `CreateCustomKeyStores`.  
Para otimizar o desempenho do proxy do repositório de chaves externo, o AWS KMS retorna exceções com base na confiabilidade do proxy em um período determinado de agregação de 5 minutos. No caso de um erro interno do servidor: 500, serviço indisponível: 503 ou tempo limite de conexão, um proxy com alta confiabilidade retorna `KMSInternalException` e aciona uma nova tentativa automática para garantir que as solicitações eventualmente obtenham sucesso. No entanto, um proxy com baixa confiabilidade retorna `KMSInvalidStateException`. Para obter mais informações, consulte [Monitoring an external key store](https://docs.aws.amazon.com/kms/latest/developerguide/xks-monitoring.html).   
Se o problema surgir em um AWS serviço diferente, como quando você usa uma chave KMS em seu armazenamento de chaves externo para proteger um recurso em outro AWS serviço, o AWS serviço pode fornecer informações adicionais para ajudá-lo a identificar o problema. Se o AWS serviço não fornecer a mensagem, você poderá ver a mensagem de erro nos [CloudTrail registros que registram](logging-using-cloudtrail.md) o uso da sua chave KMS.

**[CloudTrail logs](logging-using-cloudtrail.md)**  
Cada operação AWS KMS da API, incluindo ações no AWS KMS console, é registrada em AWS CloudTrail registros. AWS KMS registra uma entrada de registro para operações bem-sucedidas e malsucedidas. Para operações com falha, a entrada de log inclui o nome da exceção do AWS KMS (`errorCode`) e a mensagem de erro (`errorMessage`). Use essas informações para ajudar a identificar e resolver o erro. Para ver um exemplo, consulte [Descriptografar falhas com uma chave do KMS em um armazenamento de chaves externas](ct-decrypt.md#ct-decrypt-xks-fail).  
A entrada de log também inclui o ID da solicitação. Se a solicitação atingiu seu proxy de armazenamento de chaves externas, você poderá usar o ID da solicitação na entrada de log para encontrar a solicitação correspondente em seus logs de proxy, caso o proxy os forneça.

**[CloudWatch métricas](monitoring-cloudwatch.md#kms-metrics)**  
AWS KMS registra CloudWatch métricas detalhadas da Amazon sobre a operação e o desempenho do seu armazenamento de chaves externo, incluindo latência, limitação, erros de proxy, status do gerenciador de chaves externo, o número de dias até que seu certificado TLS expire e a idade relatada de suas credenciais de autenticação de proxy. Você pode usar essas métricas para desenvolver modelos de dados para a operação do seu armazenamento externo de chaves e CloudWatch alarmes que alertem você sobre problemas iminentes antes que eles ocorram.   
AWS KMS recomenda que você crie CloudWatch alarmes para monitorar as métricas externas do armazenamento de chaves. Esses alarmes alertarão sobre os primeiros sinais de problemas antes que eles se desenvolvam.

**[Grafos de monitoramento](xks-monitoring.md)**  
AWS KMS exibe gráficos das CloudWatch métricas do armazenamento de chaves externo na página de detalhes de cada armazenamento de chaves externo no AWS KMS console. Você pode usar os dados nos gráficos para ajudar a localizar a origem dos erros, detectar problemas iminentes, estabelecer linhas de base e refinar seus limites de alarme. CloudWatch Para obter detalhes sobre como interpretar os grafos de monitoramento e usar seus dados, consulte [Monitorar repositórios de chaves externos](xks-monitoring.md).

**Exibições de armazenamentos de chaves externas e chaves do KMS**  
AWS KMS exibe informações detalhadas sobre seus armazenamentos de chaves externos e as chaves KMS no armazenamento de chaves externo no AWS KMS console e na resposta às [DescribeCustomKeyStores[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operações e. Essas exibições incluem campos especiais para armazenamentos de chaves externas e chaves do KMS com informações que você pode usar para solucionar problemas, como o [estado da conexão](xks-connect-disconnect.md#xks-connection-state) do armazenamento de chaves externas e o ID da chave externa associada à chave do KMS. Para obter detalhes, consulte [Visualizar repositórios de chaves externos](view-xks-keystore.md).

**[Cliente de teste do proxy XKS](https://github.com/aws-samples/aws-kms-xksproxy-test-client)**  
AWS KMS fornece um cliente de teste de código aberto que verifica se o proxy externo do armazenamento de chaves está em conformidade com a especificação da [API AWS KMS External Key Store Proxy](https://github.com/aws/aws-kms-xksproxy-api-spec/). Você pode usar esse cliente de teste para identificar e resolver problemas com seu proxy de armazenamento de chaves externas.

## Erros de configuração
<a name="fix-xks-configuration"></a>

Ao criar um armazenamento de chaves externas, você especifica valores de propriedade que abrangem a *configuração* do armazenamento de chaves externas, como a [credencial de autenticação do proxy](create-xks-keystore.md#require-credential), o [endpoint do URI do proxy](create-xks-keystore.md#require-endpoint), o [caminho do URI do proxy](create-xks-keystore.md#require-path) e o [nome do serviço de endpoint da VPC](create-xks-keystore.md#require-vpc-service-name). Quando AWS KMS detecta um erro no valor de uma propriedade, a operação falha e retorna um erro que indica o valor defeituoso. 

Muitos problemas de configuração podem ser resolvidos ao corrigir o valor incorreto. Você pode corrigir um caminho do URI do proxy inválido ou uma credencial de autenticação do proxy sem desconectar o armazenamento de chaves externas. Para obter definições desses valores, inclusive requisitos de exclusividade, consulte [Organizar os pré-requisitos](create-xks-keystore.md#xks-requirements). Para obter instruções sobre como atualizar esses valores, consulte [Editar propriedades do repositório de chaves externo](update-xks-keystore.md).

Para evitar erros com o caminho do URI do proxy e os valores da credencial de autenticação do proxy, ao criar ou atualizar o armazenamento de chaves externas, carregue um [arquivo de configuração de proxy](create-xks-keystore.md#proxy-configuration-file) para o console do AWS KMS . É um arquivo baseado em JSON com caminho do URI do proxy e valores de credencial de autenticação de proxy que é fornecido pelo proxy de armazenamento de chaves externas ou pelo gerenciador de chaves externas. Você não pode usar um arquivo de configuração de proxy com operações de AWS KMS API, mas pode usar os valores no arquivo para ajudá-lo a fornecer valores de parâmetros para suas solicitações de API que correspondam aos valores em seu proxy.

### Erros gerais de configuração
<a name="fix-xks-gen-configuration"></a>

**Exceções**: `CustomKeyStoreInvalidStateException` (`CreateKey`), `KMSInvalidStateException` (operações de criptografia), `XksProxyInvalidConfigurationException` (operações de gerenciamento, exceto para `CreateKey`)

[**Códigos de erro de conexão**](#xks-connection-error-codes): `XKS_PROXY_INVALID_CONFIGURATION`, `XKS_PROXY_INVALID_TLS_CONFIGURATION`

Para armazenamentos de chaves externos com [conectividade de endpoint público](choose-xks-connectivity.md#xks-connectivity-public-endpoint), AWS KMS testa os valores da propriedade ao criar e atualizar o armazenamento de chaves externo. Para armazenamentos de chaves externas com [conectividade de serviço de endpoint da VPC](choose-xks-connectivity.md#xks-vpc-connectivity), o AWS KMS testa os valores das propriedades ao criar e atualizar o armazenamento de chaves externas. 

**nota**  
A operação `ConnectCustomKeyStore`, que é assíncrona, pode ser bem-sucedida mesmo que a tentativa de conectar o armazenamento de chaves externas ao proxy de armazenamento de chaves externas falhe. Nesse caso, não há exceção, mas o estado da conexão do armazenamento de chaves externas é Failed, e um código de erro de conexão explica a mensagem de erro. Para obter mais informações, consulte [Erros de conexão do armazenamento de chaves externas](#fix-xks-connection).

Se AWS KMS detectar um erro no valor de uma propriedade, a operação falhará e retornará `XksProxyInvalidConfigurationException` com uma das seguintes mensagens de erro.


|  | 
| --- |
| O proxy de armazenamento de chaves externas rejeitou a solicitação devido a um caminho de URI inválido. Verifique o caminho do URI para o armazenamento de chaves externas e atualize, se necessário. | 
+ O [caminho do URI do proxy](create-xks-keystore.md#require-path) é o caminho base para AWS KMS solicitações ao proxy APIs. Se o caminho estiver incorreto, todas as solicitações ao proxy falharão. Para [visualizar o caminho atual do URI do proxy](view-xks-keystore.md) para o armazenamento de chaves externas, use o console do AWS KMS ou a operação `DescribeCustomKeyStores`. Para encontrar o caminho correto do URI do proxy, consulte a documentação do proxy de armazenamento de chaves externas. Para obter ajuda na correção do valor do caminho do URI do proxy, consulte [Editar propriedades do repositório de chaves externo](update-xks-keystore.md).
+ O caminho do URI do proxy para o proxy de armazenamento de chaves externas pode ser alterado com as atualizações no proxy de armazenamento de chaves externas ou no gerenciador de chaves externas. Para obter informações sobre essas alterações, consulte a documentação do proxy de armazenamento de chaves externas ou do gerenciador de chaves externas.


|  | 
| --- |
| `XKS_PROXY_INVALID_TLS_CONFIGURATION`O AWS KMS não consegue estabelecer uma conexão TLS com o proxy de armazenamento de chaves externas. Verifique a configuração do TLS, inclusive o certificado. | 
+ Todos os proxies de armazenamento de chaves externas precisam de um certificado TLS. O certificado TLS deve ser emitido por uma autoridade de certificação (CA) pública com suporte para armazenamentos de chaves externas. Para obter uma lista dos compatíveis CAs, consulte [Autoridades de certificação confiáveis](https://github.com/aws/aws-kms-xksproxy-api-spec/blob/main/TrustedCertificateAuthorities) na especificação da API AWS KMS External Key Store Proxy.
+ Para conectividade de endpoints públicos, o nome comum (CN) da entidade no certificado TLS deve corresponder ao nome do domínio no [endpoint do URI do proxy](create-xks-keystore.md#require-endpoint) do armazenamento de chaves externas. Por exemplo, se o endpoint público for https://myproxy.xks.example.com, o TLS, o CN no certificado TLS deverá ser `myproxy.xks.example.com` ou `*.xks.example.com`.
+ Para conectividade de serviços de endpoint da VPC, o nome comum (CN) do assunto no certificado TLS deve corresponder ao nome DNS privado do [serviço de endpoint da VPC](create-xks-keystore.md#require-vpc-service-name). Por exemplo, se o nome DNS privado for myproxy-private.xks.example.com, o CN no certificado TLS deverá ser `myproxy-private.xks.example.com` ou `*.xks.example.com`.
+ O certificado TLS não pode ter expirado. Para obter o prazo de validade de um certificado TLS, use ferramentas SSL, como o [OpenSSL](https://www.openssl.org/). Para monitorar a data de expiração de um certificado TLS associado a um armazenamento de chaves externo, use a [XksProxyCertificateDaysToExpire](monitoring-cloudwatch.md#metric-xks-proxy-certificate-days-to-expire) CloudWatch métrica. O número de dias até a data de expiração da certificação TLS também aparece na [seção **Monitoramento**](xks-monitoring.md) do AWS KMS console. 
+ Se você estiver usando [conectividade de endpoint público](choose-xks-connectivity.md#xks-connectivity-public-endpoint), use ferramentas de teste SSL para testar a configuração de SSL. Os erros de conexão TLS podem ser resultado do encadeamento incorreto de certificados. 

### Erros de configuração de conectividade do serviço de endpoint da VPC
<a name="fix-xks-vpc-configuration"></a>

**Exceções**: `XksProxyVpcEndpointServiceNotFoundException`, `XksProxyVpcEndpointServiceInvalidConfigurationException`

Além dos problemas gerais de conectividade, você pode encontrar os seguintes problemas ao criar, conectar ou atualizar um armazenamento de chaves externo com a conectividade do serviço de endpoint VPC. AWS KMS testa os valores das propriedades de um armazenamento de chaves externo com a conectividade do serviço de endpoint VPC ao [criar](create-xks-keystore.md), [conectar](xks-connect-disconnect.md) e [atualizar](update-xks-keystore.md) o armazenamento de chaves externo. Quando as operações de gerenciamento falham devido a erros de configuração, elas geram as seguintes exceções:


|  | 
| --- |
| XksProxyVpcEndpointServiceNotFoundException | 

A causa pode ser uma das seguintes:
+ Um nome de serviço de endpoint da VPC incorreto. Verifique se o nome do serviço de endpoint da VPC para o armazenamento de chaves externas está correto e corresponde ao valor do endpoint do URI do proxy para o armazenamento de chaves externas. Para encontrar o nome do serviço do VPC endpoint, use o console Amazon [VPC](https://console.aws.amazon.com/vpc) ou a operação. [DescribeVpcEndpointServices](https://docs.aws.amazon.com/AmazonVPC/latest/APIReference/DescribeVpcEndpointServices.html) Para encontrar o nome do serviço do VPC endpoint e o endpoint do URI do proxy de um armazenamento de chaves externo existente, use o AWS KMS console ou a operação. [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) Para obter detalhes, consulte [Visualizar repositórios de chaves externos](view-xks-keystore.md).
+ O serviço de endpoint da VPC pode estar em um local Região da AWS diferente do armazenamento de chaves externo. Verifique se o serviço de endpoint da VPC e o armazenamento de chaves externas estão na mesma região. (O nome externo do nome da região, como, faz parte do nome do serviço do VPC endpoint`us-east-1`, como com.amazonaws.vpce.us-east-1. vpce-svc-example.) Para obter uma lista dos requisitos do serviço de endpoint da VPC para um armazenamento de chaves externas, consulte [Serviço de VPC endpoint](create-xks-keystore.md#require-vpc-service-name). Você não pode migrar um serviço de endpoint da VPC ou um armazenamento de chaves externas para uma região diferente. Contudo, você pode criar um novo armazenamento de chaves externas na mesma região do serviço de endpoint da VPC. Para obter mais detalhes, consulte [Configurar a conectividade do serviço de endpoint da VPC](vpc-connectivity.md) e [Criar um repositório de chaves externo](create-xks-keystore.md).
+ AWS KMS não é um principal permitido para o serviço de endpoint da VPC. A lista de **entidades principais autorizadas** para o serviço de endpoint da VPC deve incluir o valor de `cks.kms.<region>.amazonaws.com`, como `cks.kms.eu-west-3.amazonaws.com`. Para obter instruções sobre como adicionar esse valor, consulte [Manage permissions](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#add-remove-permissions) (Gerenciar permissões) no *Guia do AWS PrivateLink *.


|  | 
| --- |
| XksProxyVpcEndpointServiceInvalidConfigurationException | 

Esse erro ocorre quando o serviço de endpoint da VPC não atende a um dos seguintes requisitos:
+ A VPC requer pelo menos duas sub-redes privadas, cada uma em uma zona de disponibilidade diferente. Para obter ajuda para adicionar uma sub-rede à sua VPC, consulte [Crie uma sub-rede na VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-subnets.html#create-subnets) no *Guia do usuário da Amazon VPC*.
+ Seu [tipo de serviço de endpoint da VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/create-endpoint-service.html) deve usar um balanceador de carga de rede, não um balanceador de carga de gateway.
+ A aceitação não deve ser obrigatória para o serviço de endpoint da VPC (**Acceptance required** [Aceitação obrigatória] deve ser false). Se a aceitação manual de cada solicitação de conexão for necessária, AWS KMS não será possível usar o serviço de VPC endpoint para se conectar ao proxy externo do armazenamento de chaves. Para obter detalhes, consulte [Accept or reject connection requests](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#accept-reject-connection-requests) (Aceitar ou rejeitar solicitações de conexão) no *Guia do AWS PrivateLink *.
+ O serviço de endpoint da VPC deve ter um nome DNS privado que seja o subdomínio de um domínio público. Por exemplo, se o nome DNS privado for `https://myproxy-private.xks.example.com`, os domínios `xks.example.com` ou `example.com` devem ter um servidor DNS público. Para visualizar ou alterar o nome DNS privado do serviço de endpoint da VPC, consulte [Manage DNS names for VPC endpoint services](https://docs.aws.amazon.com/vpc/latest/privatelink/manage-dns-names.html) (Gerenciar nomes de DNS para serviços de endpoint da VPC) no *Guia do AWS PrivateLink *.
+ O **status da verificação do domínio** do domínio de seu nome DNS privado deverá ser `verified`. Para visualizar e atualizar o status de verificação do domínio do nome DNS privado, consulte [Etapa 5: verificar o domínio do seu nome de DNS privado](vpc-connectivity.md#xks-private-dns). Pode levar alguns minutos para que o status de verificação atualizado seja exibido depois que você adicionar o registro de texto obrigatório. 
**nota**  
O domínio DNS privado só poderá ser verificado se for o subdomínio de um domínio público. Caso contrário, o status de verificação do domínio DNS privado não será alterado, mesmo depois de adicionar o registro TXT obrigatório. 
+ Certifique-se de que qualquer firewall entre AWS KMS e o proxy externo do armazenamento de chaves permita o tráfego de e para a porta 443 no proxy. AWS KMS se comunica na porta 443. IPv4 Esse valor não é configurável.
+ O nome DNS privado do serviço de endpoint da VPC deve corresponder ao valor do [endpoint do URI do proxy](create-xks-keystore.md#require-endpoint) para o armazenamento de chaves externas. Para um armazenamento de chaves externas com conectividade de serviço de endpoint da VPC, o endpoint do URI do proxy deve ser `https://` seguido pelo nome DNS privado do serviço de endpoint da VPC. Para visualizar o valor do endpoint do URI do proxy, consulte [Visualizar repositórios de chaves externos](view-xks-keystore.md). Para alterar o valor do endpoint do URI do proxy, consulte [Editar propriedades do repositório de chaves externo](update-xks-keystore.md).

## Erros de conexão do armazenamento de chaves externas
<a name="fix-xks-connection"></a>

O [processo de conexão de um armazenamento de chaves externas](about-xks-connecting.md) ao proxy de armazenamento de chaves externas leva cerca de cinco minutos para ser concluído. A menos que se antecipe à falha, a operação `ConnectCustomKeyStore` retornará uma resposta HTTP 200 e um objeto JSON sem propriedades. No entanto, essa resposta inicial não indica que a conexão foi bem-sucedida. Para determinar se o armazenamento de chaves externas está conectado, consulte o [estado da conexão](xks-connect-disconnect.md#xks-connection-state). Se a conexão falhar, o estado da conexão do armazenamento de chaves externo mudará para `FAILED` e AWS KMS retornará um [código de erro de conexão](#xks-connection-error-codes) que explica a causa da falha.

**nota**  
Quando o estado de conexão de um armazenamento de chaves personalizado é `FAILED`, você deve desconectar o armazenamento de chaves personalizado antes de tentar reconectá-lo. Não é possível conectar um armazenamento de chaves personalizado a um status de conexão `FAILED`.

Para visualizar o estado da conexão de um armazenamento de chaves externas:
+ Na [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)resposta, visualize o valor do `ConnectionState` elemento.
+ No AWS KMS console, o **estado da conexão** aparece na tabela de armazenamento de chaves externo. Além disso, na página de detalhes de cada armazenamento de chaves externas, o **estado da conexão** é exibido na seção **General configuration** (Configuração geral).

Quando o estado da conexão é `FAILED`, o código de erro de conexão ajuda a explicar o erro. 

Para visualizar o código de erro de conexão:
+ Na [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)resposta, visualize o valor do `ConnectionErrorCode` elemento. Este elemento aparece na resposta de `DescribeCustomKeyStores` somente quando `ConnectionState` é `FAILED`.
+ Para visualizar o código de erro de conexão no AWS KMS console, na página de detalhes do armazenamento externo de chaves e passe o mouse sobre o valor **Falha**.  
![\[Código de erro de conexão na página de detalhes do armazenamento de chaves personalizado\]](http://docs.aws.amazon.com/pt_br/kms/latest/developerguide/images/connection-error-code.png)

### Códigos de erro de conexão para armazenamentos de chaves externas
<a name="xks-connection-error-codes"></a>

Os códigos de erro de conexão a seguir se aplicam a armazenamentos de chaves externas

`INTERNAL_ERROR`  
AWS KMS não foi possível concluir a solicitação devido a um erro interno. Repetir a solicitação . Para solicitações `ConnectCustomKeyStore`, desconecte o armazenamento de chaves personalizado antes de tentar se conectar novamente.

`INVALID_CREDENTIALS`  
Um ou ambos os valores de `XksProxyAuthenticationCredential` não são válidos no proxy de armazenamento de chaves externas especificado.

`NETWORK_ERRORS`  
Os erros de rede estão AWS KMS impedindo a conexão do armazenamento de chaves personalizadas ao armazenamento de chaves de apoio.

`XKS_PROXY_ACCESS_DENIED`  
AWS KMS as solicitações têm acesso negado ao proxy externo do armazenamento de chaves. Se o proxy de armazenamento de chaves externas tiver regras de autorização, verifique se elas permitem que o AWS KMS se comunique com o proxy em seu nome.

`XKS_PROXY_INVALID_CONFIGURATION`  
Um erro de configuração está impedindo que o armazenamento de chaves externas se conecte ao proxy. Verifique o valor de `XksProxyUriPath`.

`XKS_PROXY_INVALID_RESPONSE`  
AWS KMS não é possível interpretar a resposta do proxy externo do armazenamento de chaves. Caso veja esse código de erro de conexão repetidamente, notifique seu fornecedor de proxy de armazenamento de chaves externas.

`XKS_PROXY_INVALID_TLS_CONFIGURATION`  
AWS KMS não é possível se conectar ao proxy externo do armazenamento de chaves porque a configuração do TLS é inválida. Verifique se o proxy de armazenamento de chaves externas é compatível com TLS 1.2 ou 1.3. Além disso, verifique se o certificado TLS não expirou, se corresponde ao nome do host no valor `XksProxyUriEndpoint` e se está assinado por uma autoridade de certificação confiável incluída na lista de [autoridades de certificação confiáveis](https://github.com/aws/aws-kms-xksproxy-api-spec/blob/main/TrustedCertificateAuthorities).

`XKS_PROXY_NOT_REACHABLE`  
AWS KMS não consegue se comunicar com seu proxy externo de armazenamento de chaves. Verifique se `XksProxyUriEndpoint` e `XksProxyUriPath` estão corretos. Use as ferramentas do proxy de armazenamento de chaves externas para verificar se o proxy está ativo e disponível em sua rede. Além disso, verifique se as instâncias do gerenciador de chaves externas estão operando corretamente. As tentativas de conexão falharão com esse código de erro de conexão se o proxy relatar que todas as instâncias do gerenciador de chaves externas estão indisponíveis.

`XKS_PROXY_TIMED_OUT`  
AWS KMS pode se conectar ao proxy externo do armazenamento de chaves, mas o proxy não responde AWS KMS no tempo alocado. Caso veja esse código de erro de conexão repetidamente, notifique seu fornecedor de proxy de armazenamento de chaves externas.

`XKS_VPC_ENDPOINT_SERVICE_INVALID_CONFIGURATION`  
A configuração do serviço de endpoint do Amazon VPC não está em conformidade com os requisitos de um AWS KMS armazenamento de chaves externo.  
+ O serviço de endpoint da VPC deve ser um serviço de endpoint para endpoints de interface na Conta da AWS do autor da chamada.
+ Deve ter um balanceador de carga de rede (NLB) conectado a pelo menos duas sub-redes, cada uma em uma zona de disponibilidade diferente.
+ A `Allow principals` lista deve incluir o principal AWS KMS de serviço da região,`cks.kms.<region>.amazonaws.com`, tal como`cks.kms.us-east-1.amazonaws.com`.
+ *Não* deve exigir a [aceitação](https://docs.aws.amazon.com/vpc/latest/privatelink/create-endpoint-service.html) de solicitações de conexão.
+ Ele deve ter um nome DNS privado. O nome DNS privado de um armazenamento de chaves externas com conectividade `VPC_ENDPOINT_SERVICE` deve ser exclusivo na Região da AWS.
+ O domínio do nome DNS privado deve ter o [status de verificação](https://docs.aws.amazon.com/vpc/latest/privatelink/verify-domains.html) `verified`.
+ O [certificado TLS](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html) especifica o nome de host DNS privado no qual o endpoint é acessível.

`XKS_VPC_ENDPOINT_SERVICE_NOT_FOUND`  
AWS KMS não consigo encontrar o serviço de endpoint VPC que ele usa para se comunicar com o proxy externo do armazenamento de chaves. Verifique se `XksProxyVpcEndpointServiceName` está correto e se a entidade principal do serviço do AWS KMS tem permissões de consumidor no serviço de endpoint da Amazon VPC.

## Erros de latência e de tempo limite
<a name="fix-xks-latency"></a>

**Exceções**: `CustomKeyStoreInvalidStateException` (`CreateKey`), `KMSInvalidStateException` (operações de criptografia), `XksProxyUriUnreachableException` (operações de gerenciamento)

[**Códigos de erro de conexão**](#xks-connection-error-codes): `XKS_PROXY_NOT_REACHABLE`, `XKS_PROXY_TIMED_OUT`

Quando não é AWS KMS possível contatar o proxy dentro do intervalo de tempo limite de 250 milissegundos, ele retorna uma exceção. `CreateCustomKeyStore`e `UpdateCustomKeyStore` retorne`XksProxyUriUnreachableException`. As operações criptográficas retornam o padrão `KMSInvalidStateException` com uma mensagem de erro que descreve o problema. Se `ConnectCustomKeyStore` falhar, AWS KMS retorna um [código de erro de conexão](#fix-xks-connection) que descreve o problema. 

Os erros de tempo limite poderão ser problemas transitórios que podem ser resolvidos ao repetir a solicitação. Se o problema persistir, verifique se o proxy de armazenamento de chaves externas está ativo e conectado à rede e se o endpoint do URI do proxy, o caminho do URI do proxy e o nome do serviço de endpoint da VPC (se houver) estão corretos no armazenamento de chaves externas. Além disso, verifique se o gerenciador de chaves externo está próximo ao do Região da AWS armazenamento de chaves externo. Se precisar atualizar qualquer um desses valores, consulte [Editar propriedades do repositório de chaves externo](update-xks-keystore.md).

Para rastrear os padrões de latência, use a [`XksProxyLatency`](monitoring-cloudwatch.md#metric-xks-proxy-latency) CloudWatch métrica e o gráfico de **latência média** (com base nessa métrica) na [seção **Monitoramento**](xks-monitoring.md) do AWS KMS console. Seu proxy de armazenamento de chaves externas também pode gerar logs e métricas que rastreiam a latência e os tempos limite.


|  | 
| --- |
| `XksProxyUriUnreachableException`AWS KMS não pode se comunicar com o proxy externo do armazenamento de chaves. Pode ser um problema de rede transitório. Caso veja esse erro repetidamente, verifique se o proxy de armazenamento de chaves externas está ativo e conectado à rede e se o URI do endpoint está correto no armazenamento de chaves externas. | 
+ O proxy externo do armazenamento de chaves não respondeu a uma solicitação de API de AWS KMS proxy dentro do intervalo de tempo limite de 250 milissegundos. Isso pode indicar um problema de rede transitório ou um problema operacional ou de performance com o proxy. Se uma nova tentativa não resolver o problema, notifique o administrador do proxy de armazenamento de chaves externas.

Erros de latência e de tempo limite geralmente se manifestam como falhas de conexão. Quando a [ConnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html)operação falha, o *estado da conexão* do armazenamento de chaves externo muda para `FAILED` e AWS KMS retorna um *código de erro de conexão* que explica o erro. Para obter uma lista de códigos de erro de conexão e sugestões para resolver os erros, consulte [Códigos de erro de conexão para armazenamentos de chaves externas](#xks-connection-error-codes). As listas de códigos de conexão de **todos os armazenamentos de chaves personalizados** e **Armazenamentos de chaves externas** se aplicam aos armazenamentos de chaves externas. Os erros de conexão a seguir estão relacionados à latência e aos tempos limite.


|  | 
| --- |
| `XKS_PROXY_NOT_REACHABLE`- ou -`CustomKeyStoreInvalidStateException`, `KMSInvalidStateException`, `XksProxyUriUnreachableException`AWS KMS não pode se comunicar com o proxy externo do armazenamento de chaves. Verifique se o proxy de armazenamento de chaves externas está ativo e conectado à rede e se o caminho do URI e o URI do endpoint ou o nome do serviço da VPC estão corretos no armazenamento de chaves externas. | 

Esse erro poderá ocorrer pelos seguintes motivos:
+ O proxy do armazenamento de chaves externas não está ativo ou não está conectado à rede.
+ Há um erro nos valores do [endpoint do URI do proxy](create-xks-keystore.md#require-endpoint), do [caminho do URI do proxy](create-xks-keystore.md#require-path) ou do [nome do serviço de endpoint da VPC](create-xks-keystore.md#require-vpc-service-name) (se aplicável) na configuração do armazenamento de chaves externas. Para visualizar a configuração do armazenamento de chaves externo, use a [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html)operação ou [visualize a página de detalhes](view-xks-keystore.md) do armazenamento de chaves externo no AWS KMS console.
+ Pode haver um erro de configuração de rede, como um erro de porta, no caminho de rede entre AWS KMS e o proxy externo do armazenamento de chaves. AWS KMS se comunica com o proxy externo do armazenamento de chaves na porta 443 over. IPv4 Esse valor não é configurável.
+ Quando o proxy externo do armazenamento de chaves relata (em uma [GetHealthStatus](keystore-external.md#concept-proxy-apis)resposta) que todas as instâncias externas do gerenciador de chaves são`UNAVAILABLE`, a [ConnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html)operação falha com um `ConnectionErrorCode` de`XKS_PROXY_NOT_REACHABLE`. Para obter ajude, consulte a documentação do gerenciador de chaves externas.
+ Esse erro pode resultar de uma longa distância física entre o gerenciador de chaves externo e Região da AWS o armazenamento de chaves externo. A latência de ping (tempo de ida e volta da rede (RTT)) entre o Região da AWS e o gerenciador de chaves externo não deve ser superior a 35 milissegundos. Talvez seja necessário criar um armazenamento de chaves externo em um Região da AWS que esteja mais próximo do gerenciador de chaves externo ou mover o gerenciador de chaves externo para um data center mais próximo do Região da AWS.


|  | 
| --- |
| `XKS_PROXY_TIMED_OUT`- ou -`CustomKeyStoreInvalidStateException`, `KMSInvalidStateException`, `XksProxyUriUnreachableException`O AWS KMS rejeitou a solicitação porque o proxy de armazenamento de chaves externas não respondeu a tempo. Repetir a solicitação . Caso veja esse erro repetidamente, informe-o ao administrador do proxy de armazenamento de chaves externas. | 

Esse erro poderá ocorrer pelos seguintes motivos:
+ Esse erro pode resultar de uma longa distância física entre o gerenciador de chaves externas e o proxy de armazenamento de chaves externas. Se possível, mova o proxy de armazenamento de chaves externas para mais perto do gerenciador de chaves externas.
+ Erros de tempo limite podem ocorrer quando o proxy não foi projetado para lidar com o volume e a frequência das solicitações de AWS KMS. Se suas CloudWatch métricas indicarem um problema persistente, notifique o administrador externo do proxy do armazenamento de chaves.
+ Podem ocorrer erros de tempo limite quando a conexão entre o gerenciador de chaves externas e a Amazon VPC para o armazenamento de chaves externas não está funcionando corretamente. Se você estiver usando AWS Direct Connect, verifique se sua VPC e seu gerenciador de chaves externo podem se comunicar de forma eficaz. Para obter ajuda para resolver qualquer problema, consulte [Solução de problemas AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Troubleshooting.html) no Guia do Direct Connect usuário. 


|  | 
| --- |
| `XKS_PROXY_TIMED_OUT`- ou -`CustomKeyStoreInvalidStateException`, `KMSInvalidStateException`, `XksProxyUriUnreachableException` O proxy de armazenamento de chaves externas não respondeu à solicitação no tempo estipulado. Repetir a solicitação . Caso veja esse erro repetidamente, informe-o ao administrador do proxy de armazenamento de chaves externas. | 
+ Esse erro pode resultar de uma longa distância física entre o gerenciador de chaves externas e o proxy de armazenamento de chaves externas. Se possível, mova o proxy de armazenamento de chaves externas para mais perto do gerenciador de chaves externas.

## Erros de credenciais de autenticação
<a name="fix-xks-credentials"></a>

**Exceções**: `CustomKeyStoreInvalidStateException` (`CreateKey`), `KMSInvalidStateException` (operações de criptografia), `XksProxyIncorrectAuthenticationCredentialException` (operações de gerenciamento, exceto `CreateKey`)

Você estabelece e mantém uma credencial de autenticação AWS KMS em seu proxy externo de armazenamento de chaves. Em seguida, você informa os valores AWS KMS das credenciais ao criar um armazenamento de chaves externo. Para alterar a credencial de autenticação, faça a alteração no proxy de armazenamento de chaves externas. Em seguida, [atualize a credencial](update-xks-keystore.md#xks-edit-name) do armazenamento de chaves externas. Se o proxy alternar a credencial, você deverá [atualizar a credencial](update-xks-keystore.md#xks-edit-name) do armazenamento de chaves externas. 

Se o proxy de armazenamento de chaves externas não autenticar uma solicitação assinada com a [credencial de autenticação do proxy](keystore-external.md#concept-xks-credential) para seu armazenamento de chaves externas, o efeito dependerá da solicitação:
+ `CreateCustomKeyStore` e `UpdateCustomKeyStore` falham com uma `XksProxyIncorrectAuthenticationCredentialException`.
+ `ConnectCustomKeyStore` é bem-sucedido, mas a conexão falha. O estado da conexão é `FAILED`, e o código de erro da conexão é `INVALID_CREDENTIALS`. Para obter detalhes, consulte [Erros de conexão do armazenamento de chaves externas](#fix-xks-connection).
+ As operações criptográficas retornam `KMSInvalidStateException` para todos os erros de configuração externa e erros de estado de conexão em um repositório de chaves externo. A mensagem de erro que acompanha descreve o problema.


|  | 
| --- |
| O proxy de armazenamento de chaves externas rejeitou a solicitação porque não conseguiu autenticar o AWS KMS. Verifique as credenciais para o armazenamento de chaves externas e atualize-as, se necessário.  | 

Esse erro poderá ocorrer pelos seguintes motivos:
+ O ID da chave de acesso ou a chave de acesso secreta para o armazenamento de chaves externas não correspondem aos valores estabelecidos no proxy de armazenamento de chaves externas. 

  Para corrigir esse erro, [atualize a credencial de autenticação do proxy](update-xks-keystore.md#xks-edit-name) para o armazenamento de chaves externas. Você pode fazer essa alteração sem desconectar o armazenamento de chaves externas.
+ Um proxy reverso entre AWS KMS e o proxy externo do armazenamento de chaves pode estar manipulando cabeçalhos HTTP de forma a invalidar as assinaturas SigV4. Para corrigir esse erro, notifique o administrador do proxy.

## Erros de estado da chave
<a name="fix-unavailable-xks-keys"></a>

**Exceções**: `KMSInvalidStateException`

Utiliza-se `KMSInvalidStateException` para duas finalidades distintas para as chaves do KMS em armazenamentos de chaves personalizados. 
+ Quando uma operação de gerenciamento, como `CancelKeyDeletion`, falha e retorna essa exceção, isso indica que o [estado](key-state.md) da chave do KMS não é compatível com a operação.
+ Quando uma [operação de criptografia](kms-cryptography.md#cryptographic-operations) em uma chave do KMS em um armazenamento de chaves personalizado falha com `KMSInvalidStateException`, pode indicar um problema no estado da chave do KMS. Mas a operação AWS KMS criptográfica retorna `KMSInvalidStateException` para todos os erros de configuração externa e erros de estado de conexão em um armazenamento de chaves externo. Para identificar o problema, use o texto da mensagem de erro que acompanha a exceção.

Para encontrar o estado de chave necessário para as operações de uma AWS KMS API, consulte[Principais estados das AWS KMS chaves](key-state.md). Para encontrar o estado de chave de uma chave do KMS, na página **Customer managed keys** (Chaves gerenciadas pelo cliente), visualize o campo **Status** da chave do KMS. Ou use a [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)operação e visualize o `KeyState` elemento na resposta. Para obter detalhes, consulte [Identificar e visualizar chaves](viewing-keys.md).

**nota**  
O estado da chave de uma chave do KMS em um armazenamento de chaves externas não indica nada sobre o status da [chave externa](keystore-external.md#concept-external-key) associada. Para obter informações sobre o status da chave externa, use o gerenciador de chaves externas e as ferramentas de proxy de armazenamento de chaves externas.   
`CustomKeyStoreInvalidStateException` refere-se ao [estado da conexão](xks-connect-disconnect.md#xks-connection-state) do armazenamento de chaves externas, não ao [estado da chave](key-state.md) de uma chave do KMS.

Uma operação criptográfica em uma chave do KMS em um armazenamento personalizado poderá falhar se o estado da chave do KMS for `Unavailable` ou `PendingDeletion`. (As chaves desativadas retornam `DisabledException`.)
+ Uma chave KMS tem um estado de `Disabled` chave somente quando você desativa intencionalmente a chave KMS no AWS KMS console ou usando a operação. [DisableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKey.html) Enquanto uma chave do KMS está desabilitada, é possível visualizar e gerenciar a chave, mas não é possível usá-la para operações de criptografia. Para corrigir o problema, habilite a chave. Para obter detalhes, consulte [Habilitar e desabilitar chaves](enabling-keys.md).
+ Uma chave do KMS tem um estado da chave `Unavailable` quando o armazenamento de chaves externas é desconectado do proxy de armazenamento de chaves externas. Para corrigir uma chave do KMS indisponível, [reconecte o armazenamento de chaves externas](xks-connect-disconnect.md). Após a reconexão do armazenamento de chaves externas, o estado de chave das chaves do KMS nesse armazenamento de chaves externas é automaticamente restaurado ao estado anterior, como `Enabled` ou `Disabled`.

  Uma chave do KMS tem um estado de chave `PendingDeletion` quando foi programada para exclusão e está no período de espera. Um erro de estado da chave em uma chave do KMS que está pendente de exclusão indica que a chave não deve ser excluída, seja porque está sendo usada para criptografia, seja porque é obrigatória para descriptografia. Para reabilitar a chave do KMS, cancele a exclusão programada e [habilite a chave](enabling-keys.md). Para obter detalhes, consulte [Agendar exclusão de chave](deleting-keys-scheduling-key-deletion.md).

## Erros de descriptografia
<a name="fix-xks-decrypt"></a>

**Exceções**: `KMSInvalidStateException`

Quando uma operação de [descriptografia](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) com uma chave KMS em um armazenamento de chaves externo falha, AWS KMS retorna o padrão `KMSInvalidStateException` que as operações criptográficas usam para todos os erros de configuração externa e erros de estado de conexão em um armazenamento de chaves externo. A mensagem de erro indica o problema.

Para descriptografar um texto cifrado que foi criptografado usando [criptografia dupla](keystore-external.md#concept-double-encryption), o gerenciador de chaves externas usa primeiro a chave externa para descriptografar a camada externa do texto cifrado. Em seguida, AWS KMS usa o material AWS KMS chave na chave KMS para decifrar a camada interna do texto cifrado. O gerenciador de chaves externas ou o AWS KMS podem rejeitar um texto cifrado inválido ou corrompido.

As mensagens de erro a seguir acompanham a `KMSInvalidStateException` quando a descriptografia falha. Isso indica um problema no texto cifrado ou no contexto de criptografia opcional da solicitação.


|  | 
| --- |
| O proxy de armazenamento de chaves externas rejeitou a solicitação porque o texto cifrado especificado ou os dados autenticados adicionais estão corrompidos, ausentes ou são inválidos. | 
+ Quando o proxy externo do armazenamento de chaves ou o gerenciador de chaves externo relatam que um texto cifrado ou seu contexto de criptografia é inválido, isso normalmente indica um problema com o texto cifrado ou o contexto de criptografia na solicitação enviada para. `Decrypt` AWS KMS Para `Decrypt` operações, AWS KMS envia ao proxy o mesmo texto cifrado e contexto de criptografia que ele recebe na `Decrypt` solicitação. 

  Esse erro pode ser causado por um problema de redes em trânsito, como um bit invertido. Repetir a solicitação `Decrypt`. Se o problema persistir, verifique se o texto cifrado não foi alterado ou corrompido. Além disso, verifique se o contexto de criptografia na `Decrypt` solicitação AWS KMS corresponde ao contexto de criptografia na solicitação que criptografou os dados.


|  | 
| --- |
| O texto cifrado que o proxy de armazenamento de chaves externas enviou para descriptografia, ou o contexto de criptografia, está corrompido, ausente ou é inválido. | 
+ Quando AWS KMS rejeita o texto cifrado recebido do proxy, indica que o gerenciador de chaves externo ou proxy retornou um texto cifrado inválido ou corrompido para. AWS KMS

  Esse erro pode ser causado por um problema de redes em trânsito, como um bit invertido. Repetir a solicitação `Decrypt`. Se o problema persistir, verifique se o gerenciador de chaves externo está funcionando corretamente e se o proxy externo do armazenamento de chaves não altera o texto cifrado que recebe do gerenciador de chaves externo antes de retorná-lo. AWS KMS

## Erros de chave externa
<a name="fix-external-key"></a>

A [chave externa](keystore-external.md#concept-external-key) é uma chave de criptografia do gerenciador de chaves externas que serve como material de chave externa para uma chave do KMS. O AWS KMS não consegue acessar diretamente a chave externa. Ele deve solicitar que o gerenciador de chaves externas (por meio do proxy de armazenamento de chaves externas) use a chave externa para criptografar dados ou descriptografar um texto cifrado.

Você especifica o ID da chave externa em seu gerenciador de chaves externas ao criar uma chave do KMS em seu armazenamento de chaves externas. Você não pode alterar o ID da chave externa depois que a chave do KMS é criada. Para evitar problemas com a chave do KMS, a operação `CreateKey` solicita que o proxy de armazenamento de chaves externas verifique o ID e a configuração da chave externa. Se a chave externa não [atender aos requisitos](create-xks-keys.md#xks-key-requirements) de uso com uma chave do KMS, a operação `CreateKey` falhará com uma exceção e uma mensagem de erro que identificam o problema. 

No entanto, poderão ocorrer problemas depois que a chave do KMS for criada. Se uma operação criptográfica falhar devido a um problema com a chave externa, a operação falhará e retornará um `KMSInvalidStateException` com uma mensagem de erro que indica o problema.

### CreateKey erros na chave externa
<a name="fix-external-key-create"></a>

**Exceções**: `XksKeyAlreadyInUseException`, `XksKeyNotFoundException`, `XksKeyInvalidConfigurationException`

A [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operação tenta verificar a ID e as propriedades da chave externa que você fornece no parâmetro **ID da chave externa** (console) ou `XksKeyId` (API). Essa prática foi criada para detectar erros antes de você tentar usar a chave externa com a chave do KMS.

**Chave externa em uso** 

Cada chave do KMS em um armazenamento de chaves externas deve usar uma chave externa diferente. Quando `CreateKey` reconhece que o ID da chave externa (XksKeyId) de uma chave KMS não é exclusivo no armazenamento de chaves externo, ele falha com um. `XksKeyAlreadyInUseException` 

Se você usar várias IDs para a mesma chave externa, `CreateKey` não reconhecerá a duplicata. No entanto, as chaves KMS com a mesma chave externa não são interoperáveis porque têm materiais de AWS KMS chave e metadados diferentes. 

**Chave externa não encontrada** 

Quando o proxy externo do armazenamento de chaves relata que não consegue encontrar a chave externa usando o ID da chave externa (XksKeyId) da chave KMS, a `CreateKey` operação falha e retorna `XksKeyNotFoundException` com a seguinte mensagem de erro.


|  | 
| --- |
| O proxy de armazenamento de chaves externas rejeitou a solicitação porque não conseguiu localizar a chave externa. | 

Esse erro poderá ocorrer pelos seguintes motivos:
+ Talvez o ID da chave externa (`XksKeyId`) da chave do KMS seja inválido. Para encontrar o ID usado pelo proxy de chaves externas para identificar a chave externa, consulte a documentação do proxy de armazenamento de chaves externas ou do gerenciador de chaves externas. 
+ A chave externa pode ter sido excluída do gerenciador de chaves externas. Para investigar, use suas ferramentas de gerenciamento de chaves externas. Se a chave externa for excluída permanentemente, use outra chave externa com a chave do KMS. Para obter uma lista ou requisitos da chave externa, consulte [Requisitos para uma chave do KMS em um armazenamento de chaves externas](create-xks-keys.md#xks-key-requirements).

**Requisitos de chaves externas não atendidos**

Quando o proxy de armazenamento de chaves externas relata que a chave externa não [atende aos requisitos](create-xks-keys.md#xks-key-requirements) de uso com uma chave do KMS, a operação `CreateKey` apresenta falhas e retorna `XksKeyInvalidConfigurationException` com uma das mensagens de erro abaixo.


|  | 
| --- |
| A especificação de chave da chave externa deve ser AES\$1256. A especificação chave da chave externa especificada é<key-spec>. | 
+ A chave externa deve ser uma chave de criptografia simétrica de 256 bits com uma especificação de chave AES\$1256. Se a chave externa especificada for de um tipo diferente, especifique o ID de uma chave externa que atenda a esse requisito. 


|  | 
| --- |
| O status da chave externa deve ser ENABLED. O status da chave externa especificada é<status>. | 
+ A chave externa deve estar habilitada no gerenciador de chaves externas. Se a chave externa especificada não estiver habilitada, use as ferramentas do gerenciador de chaves externas para habilitá-la ou especifique uma chave externa habilitada.


|  | 
| --- |
| O uso de chave da chave externa deve incluir ENCRYPT e DECRYPT. O uso chave da chave externa especificada é < key-usage >. | 
+ A chave externa deve estar configurada para criptografia e descriptografia no gerenciador de chaves externas. Se a chave externa especificada não incluir essas operações, use as ferramentas do gerenciador de chaves externas para alterar as operações ou especifique outra chave externa.

### Erros de operação de criptografia da chave externa
<a name="fix-external-key-crypto"></a>

**Exceções**: `KMSInvalidStateException`

Quando o proxy de armazenamento de chaves externas não consegue encontrar a chave externa associada à chave do KMS, ou quando a chave externa não [atende aos requisitos](create-xks-keys.md#xks-key-requirements) de uso com uma chave do KMS, a operação de criptografia falha. 

Os problemas de chave externa detectados durante uma operação de criptografia são mais difíceis de resolver do que os problemas de chave externa detectados antes de criar a chave do KMS. Você não pode alterar o ID da chave externa depois que a chave do KMS é criada. Se a chave do KMS ainda não tiver criptografado nenhum dado, você poderá excluir a chave do KMS e criar uma nova com outro ID de chave externa. No entanto, o texto cifrado gerado com a chave KMS não pode ser descriptografado por nenhuma outra chave KMS, mesmo com a mesma chave externa, porque as chaves terão metadados e materiais de chave diferentes. AWS KMS Em vez disso, na medida do possível, use suas ferramentas de gerenciamento de chaves externas para resolver o problema com a chave externa. 

Quando o proxy de armazenamento de chaves externas relata um problema com a chave externa, as operações criptográficas retornam `KMSInvalidStateException` com uma mensagem de erro que identifica o problema.

**Chave externa não encontrada**

Quando o proxy externo do armazenamento de chaves relata que não consegue encontrar a chave externa usando o ID da chave externa (XksKeyId) da chave KMS, as operações criptográficas retornam a `KMSInvalidStateException` com a seguinte mensagem de erro. 


|  | 
| --- |
| O proxy de armazenamento de chaves externas rejeitou a solicitação porque não conseguiu localizar a chave externa. | 

Esse erro poderá ocorrer pelos seguintes motivos:
+ O ID da chave externa (`XksKeyId`) da chave do KMS não é mais válido. 

  Para encontrar o ID da chave externa associada à sua chave do KMS, [visualize os detalhes da chave do KMS](identify-key-types.md#view-xks-key). Para encontrar o ID que o proxy de chaves externas usa para identificar a chave externa, consulte a documentação do proxy de armazenamento de chaves externas ou do gerenciador de chaves externas.

  AWS KMS verifica o ID da chave externa ao criar uma chave KMS em um armazenamento de chaves externo. Porém, o ID poderá se tornar inválido, sobretudo se o valor do ID da chave externa for um alias ou nome mutável. Você não pode alterar o ID da chave externa associada a uma chave do KMS existente. Para descriptografar qualquer texto cifrado criptografado sob a chave do KMS, é necessário associar novamente a chave externa ao ID da chave externa existente.

  Se você ainda não usou a chave do KMS para criptografar dados, poderá criar uma nova chave do KMS com um ID de chave externa válido. No entanto, se você gerou texto cifrado com a chave do KMS, não poderá usar nenhuma outra chave do KMS para descriptografar o texto cifrado, mesmo usando a mesma chave externa.
+ A chave externa pode ter sido excluída do gerenciador de chaves externas. Para investigar, use suas ferramentas de gerenciamento de chaves externas. Se possível, tente [recuperar o material de chave](fix-keystore.md#fix-keystore-recover-backing-key) de uma cópia ou backup do gerenciador de chaves externas. Se a chave externa for excluída permanentemente, todo texto cifrado criptografado sob a chave do KMS associada se tornará irrecuperável.

**Erros de configuração de chave externa**

Quando o proxy de armazenamento de chaves externas relata que a chave externa não [atende aos requisitos](create-xks-keys.md#xks-key-requirements) de uso com uma chave do KMS, a operação criptográfica retorna `KMSInvalidStateException` com uma das mensagens de erro abaixo. 


|  | 
| --- |
| O proxy de armazenamento de chaves externas rejeitou a solicitação porque a chave externa não é compatível com a operação solicitada. | 
+ A chave externa deve oferecer suporte a criptografia e descriptografia. Se o uso da chave não incluir criptografia e descriptografia, use suas ferramentas de gerenciamento de chaves externas para alterar o uso da chave.


|  | 
| --- |
| O proxy de armazenamento de chaves externas rejeitou a solicitação porque a chave externa não está habilitada no gerenciador de chaves externas. | 
+ A chave externa deve estar habilitada e disponível para uso no gerenciador de chaves externas. Se o status da chave externa não for `Enabled`, use as ferramentas do gerenciador de chaves externas para habilitá-la.

## Problemas de proxy
<a name="fix-xks-proxy"></a>

**Exceções:** 

 `CustomKeyStoreInvalidStateException` (`CreateKey`), `KMSInvalidStateException` (operações de criptografia), `UnsupportedOperationException`, `XksProxyUriUnreachableException`, `XksProxyInvalidResponseException` (operações de gerenciamento, exceto `CreateKey`)

O proxy externo do armazenamento de chaves medeia toda a comunicação entre AWS KMS e o gerenciador de chaves externo. Ele traduz AWS KMS solicitações genéricas em um formato que seu gerente de chaves externo possa entender. Se o proxy externo do armazenamento de chaves não estiver em conformidade com a [especificação da API AWS KMS External Key Store Proxy](https://github.com/aws/aws-kms-xksproxy-api-spec/), se não estiver operando corretamente ou não conseguir se comunicar com ele AWS KMS, você não poderá criar ou usar chaves KMS no seu armazenamento de chaves externo. 

Embora muitos erros mencionem o proxy de armazenamento de chaves externas por causa de seu papel essencial na arquitetura de armazenamento de chaves externas, esses problemas podem se originar no gerenciador de chaves externas ou na chave externa. 

Os problemas nesta seção estão relacionados a problemas no design ou na operação do proxy de armazenamento de chaves externas. A solução desses problemas pode exigir uma alteração no software do proxy. Consulte o administrador do proxy. Para ajudar a diagnosticar problemas de proxy, o AWS KMS fornece o [XKS Proxy Text Client](https://github.com/aws-samples/aws-kms-xksproxy-test-client), um cliente de teste de código aberto que verifica se seu proxy de armazenamento de chaves externas está em conformidade com a [AWS KMS External Key Store Proxy API Specification](https://github.com/aws/aws-kms-xksproxy-api-spec/) (Especificação da API de proxy de armazenamento de chaves externas do ).


|  | 
| --- |
| `CustomKeyStoreInvalidStateException`, `KMSInvalidStateException` ou `XksProxyUriUnreachableException`O proxy de armazenamento de chaves externas está no estado não íntegro. Caso veja essa mensagem repetidamente, notifique o administrador do proxy de armazenamento de chaves externas. | 
+ Esse erro pode indicar um problema operacional ou erro de software no proxy de armazenamento de chaves externas. Você pode encontrar entradas de CloudTrail registro para a operação AWS KMS da API que gerou cada erro. É possível resolver esse erro repetindo a operação. No entanto, se persistir, notifique o administrador do proxy de armazenamento de chaves externas.
+ Quando o proxy do armazenamento de chaves externo relata (em [GetHealthStatus](keystore-external.md#concept-proxy-apis)resposta) que todas as instâncias externas do gerenciador de chaves são`UNAVAILABLE`, as tentativas de criar ou atualizar um armazenamento de chaves externo falham com essa exceção. Se esse erro persistir, consulte a documentação do gerenciador de chaves externas.


|  | 
| --- |
| `CustomKeyStoreInvalidStateException`, `KMSInvalidStateException` ou `XksProxyInvalidResponseException`AWS KMS não é possível interpretar a resposta do proxy externo do armazenamento de chaves. Caso veja esse erro repetidamente, consulte o administrador do proxy de armazenamento de chaves externas. | 
+ AWS KMS as operações geram essa exceção quando o proxy retorna uma resposta indefinida que AWS KMS não pode ser analisada ou interpretada. Esse erro poderá ocorrer ocasionalmente devido a problemas externos temporários ou a erros de rede esporádicos. Porém, se persistir, isso pode indicar que o proxy do armazenamento de chaves externas não está em conformidade com a [AWS KMS External Key Store Proxy API Specification](https://github.com/aws/aws-kms-xksproxy-api-spec/) (Especificação da API de proxy de armazenamento de chaves externas do ). Notifique o administrador ou fornecedor do armazenamento de chaves externas.


|  | 
| --- |
|  `CustomKeyStoreInvalidStateException`, `KMSInvalidStateException` ou `UnsupportedOperationException` O proxy de armazenamento de chaves externas rejeitou a solicitação porque não é compatível com a operação de criptografia solicitada. | 
+ O proxy externo do armazenamento de chaves deve oferecer suporte a todos os [proxy APIs](keystore-external.md#concept-proxy-apis) definidos na [Especificação da API AWS KMS External Key Store Proxy](https://github.com/aws/aws-kms-xksproxy-api-spec/). Esse erro indica que o proxy não é compatível com a operação relacionada à solicitação. Notifique o administrador ou fornecedor do armazenamento de chaves externas.

## Problemas de autorização de proxy
<a name="fix-xks-authorization"></a>

**Exceções**: `CustomKeyStoreInvalidStateException`, `KMSInvalidStateException`

Alguns proxies de armazenamento de chaves externas implementam requisitos de autorização para o uso de suas chaves externas. O proxy de armazenamento de chaves externas é permitido, mas não obrigatório, para criar e implementar um esquema de autorização que permita que usuários específicos solicitem operações específicas sob certas condições. Por exemplo, o proxy pode dar ao usuário A permissão para criptografar com uma chave externa específica, mas não para descriptografar com ela. Para obter mais informações, consulte [Autorização de proxy de armazenamento de chaves externas (opcional)](authorize-xks-key-store.md#xks-proxy-authorization).

A autorização de proxy é baseada nos metadados AWS KMS incluídos em suas solicitações ao proxy. Os campos `awsSourceVpc` e `awsSourceVpce` são incluídos nos metadados somente quando a solicitação vem de um endpoint da VPC e somente quando o autor da chamada está na mesma conta da chave do KMS. 

```
"requestMetadata": {
    "awsPrincipalArn": string,
    "awsSourceVpc": string, // optional
    "awsSourceVpce": string, // optional
    "kmsKeyArn": string,
    "kmsOperation": string,
    "kmsRequestId": string,
    "kmsViaService": string // optional
}
```

Quando o proxy rejeita uma solicitação devido a uma falha na autorização, a AWS KMS operação relacionada falha. `CreateKey`devoluções`CustomKeyStoreInvalidStateException`. AWS KMS as operações criptográficas retornam`KMSInvalidStateException`. Ambos usam esta mensagem de erro:


|  | 
| --- |
| O proxy de armazenamento de chaves externas negou o acesso à operação. Verifique se o usuário e a chave externa estão autorizados para essa operação e repita a solicitação. | 
+ Para resolver o erro, use o gerenciador de chaves externas ou as ferramentas de proxy de armazenamento de chaves externas para determinar por que a autorização falhou. Em seguida, atualize o procedimento que causou a solicitação não autorizada ou use suas ferramentas de proxy de armazenamento de chaves externas para atualizar a política de autorização. Você não pode solucionar este erro no AWS KMS.