Conectar um repositório de chaves externo
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 e usar chaves do KMS existentes em operações de criptografia.
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 externas à conectividade de endpoint público, o AWS KMS envia uma solicitação GetHealthStatus ao proxy do armazenamento de chaves externas para validar o endpoint do URI do proxy, o caminho do URI do proxy e a credencial de autenticação do proxy. Uma resposta bem-sucedida do proxy confirma que o endpoint do URI do proxy e o caminho do URI do proxy estão corretos e acessíveis e que o proxy autenticou a solicitação assinada com a credencial de autenticação do proxy para o armazenamento de chaves externas.
-
Quando você conecta um armazenamento de chaves externas com a conectividade do serviço de endpoint da VPC ao proxy de armazenamento de chaves externas, o AWS KMS faz o seguinte:
-
Confirma que o domínio do nome DNS privado especificado no endpoint do URI do proxy foi verificado.
-
Cria um endpoint de interface de uma VPC do AWS KMS para o serviço de endpoint da VPC.
-
Cria uma zona hospedada privada para o nome DNS privado especificado no endpoint do URI do proxy
-
Envia uma solicitação GetHealthStatus ao proxy de armazenamento de chaves externas. Uma resposta bem-sucedida do proxy confirma que o endpoint do URI do proxy e o caminho do URI do proxy estão corretos e acessíveis e que o proxy autenticou a solicitação assinada com a credencial de autenticação do proxy 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 console do AWS KMS ou a operação DescribeCustomKeyStores para visualizar o estado da conexão do armazenamento de chaves externas.
Quando o estado da conexão é FAILED, um código de erro de conexão é exibido no console do AWS KMS e adicionado à resposta DescribeCustomKeyStore. 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.
Conectar e reconectar ao repositório de chaves externo
Você pode conectar ou reconectar seu repositório de chaves externo usando o console do AWS KMS ou a operação ConnectCustomKeyStore.
Você pode usar o console do AWS KMS para conectar um armazenamento de chaves externas ao proxy de armazenamento de chaves externas.
-
Faça login no Console de gerenciamento da AWS e abra o console do AWS Key Management Service (AWS KMS) em https://console.aws.amazon.com/kms
. -
Para alterar a Região da AWS, use o seletor de regiões no canto superior direito da página.
No painel de navegação, selecione Custom key stores (Armazenamentos de chaves personalizados), External key stores (Armazenamentos de chaves externas).
-
Escolha a linha do armazenamento de chaves externas que deseja conectar.
Se o estado de conexão do armazenamento de chaves externas for FAILED, você deverá desconectar o armazenamento de chaves externas antes de conectá-lo.
-
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 é 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. Para conectar um armazenamento de chaves externas com o estado de conexão Failed, você deve primeiro desconectar o armazenamento de chaves personalizado.
Para conectar um armazenamento de chaves externas desconectado, use a operação ConnectCustomKeyStore.
Antes de se conectar, o estado da conexão do armazenamento de chaves externas deve ser DISCONNECTED. Se o estado da conexão atual for FAILED, desconecte o armazenamento de chaves externas 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 externas está conectado, consulte o estado da conexão na resposta de DescribeCustomKeyStores.
Os exemplos nesta seção usam a AWS Command Line Interface (AWS CLI)
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 personalizados no console ou usando a operação DescribeCustomKeyStores. Antes de executar esse exemplo, substitua o ID de exemplo por um válido.
$aws kms connect-custom-key-store --custom-key-store-idcks-1234567890abcdef0
A operação ConnectCustomKeyStore não retorna ConnectionState na resposta. Para verificar se o armazenamento de chaves externas está conectado, use a operação DescribeCustomKeyStores. 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-nameExampleXksVpc{ "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 valor XKS_VPC_ENDPOINT_SERVICE_NOT_FOUND para ConnectionErrorCode indica que o AWS KMS não consegue encontrar o serviço de endpoint da VPC que ele usa para se comunicar com o proxy de armazenamento de chaves externas. Verifique se XksProxyVpcEndpointServiceName está correto, se a entidade principal do serviço do AWS KMS é uma entidade principal permitida no serviço de endpoint da Amazon VPC e se o serviço de endpoint da 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.
$aws kms describe-custom-key-stores --custom-key-store-nameExampleXksVpc{ "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" } } ] }