Usando o protocolo de interoperabilidade de gerenciamento de chaves (KMIP)
IBM® Key Protect for IBM Cloud® oferece suporte nativo ao Protocolo de Interoperabilidade de Gerenciamento de Chaves (KMIP), permitindo que você crie adaptadores KMIP e envie certificados diretamente pelo console do Key Protect.
Esta solução descreve a arquitetura de suporte nativo ao KMIP do Key Protect para proteger suas instâncias do VMware®. O suporte nativo ao KMIP do Key Protect funciona em conjunto com a criptografia nativa do VMware vSphere e a criptografia do vSAN™ para oferecer um gerenciamento simplificado da criptografia de armazenamento, com a segurança e a flexibilidade das chaves gerenciadas pelo cliente do IBM Cloud® Key Protect.
Essa solução é uma alternativa à oferta “ KMIP para VMware ” disponível em IBM Cloud. Este documento não aborda a configuração dessas soluções básicas. Para obter mais informações sobre a arquitetura da solução da fundação, consulte a Visão geral do VMware Solutions.
Esse recurso funciona em paralelo com a solução atual do KMIP para o VMware. Não é possível importar adaptadores criados com a solução “ VMware ” para “ Key Protect ”, nem o contrário.
Benefícios
Key Protect O suporte nativo ao KMIP oferece os seguintes benefícios:
- VMware certificação
- O suporte ao KMIP no Key Protect é certificado pela VMware e pode ser integrado diretamente a qualquer serviço ou plataforma que aceite criptografia por meio de um servidor KMS KMIP. O suporte ao KMIP é integrado e gerenciado pelo Key Protect, eliminando a necessidade de suporte a servidores KMIP de terceiros.
- Criptografia no nível do hipervisor
- A integração com o VMware, a criptografia vSAN e a criptografia vSphere oferece criptografia na camada do hipervisor, em vez de na camada de armazenamento ou da máquina virtual. Essa abordagem simplifica o gerenciamento e proporciona transparência à sua solução de armazenamento e ao seu aplicativo.
- Serviço totalmente gerenciado
- O servidor de gerenciamento de chaves é totalmente gerenciado e está disponível em várias regiões multizona (MZRs) do IBM Cloud.
- Chaves gerenciadas pelo cliente
- Você mantém controle total sobre suas chaves de criptografia e pode revogá-las a qualquer momento.
- Boa relação custo-benefício
- As chaves simétricas do KMIP são cobradas como uma única versão de chave; assim, você paga apenas pelo que usa.
Criação de um adaptador
Um máximo de 200 adaptadores pode ser criado em uma única instância. Cada adaptador pode ter um máximo de 200 certificados associados a ele.
Os adaptadores KMIP são criados usando Key Protect chaves raiz. Se você não tiver uma chave raiz, crie uma.
Antes de começar, certifique-se de que possui a função “ Manager ” ou a função “ KmipAdapterManager ” na instância.
Para criar um adaptador:
-
No menu de navegação, clique em “Adaptadores KMIP ”. Se este for o seu primeiro adaptador, a tabela estará vazia.
-
Clique em Criar.
-
No painel lateral, forneça as seguintes informações:
- Nome- Digite um nome para o adaptador (2 a 40 caracteres).
- Descrição (opcional) — Insira uma descrição para o adaptador (2 a 240 caracteres).
- Chave raiz- Selecione a chave raiz a ser usada para este adaptador. A chave raiz criptografa as chaves KMIP criadas pelo adaptador. Sua chave raiz deve estar no estado “
active” para que seu adaptador funcione corretamente.
-
Opcional: Adicione um certificado público TLS para permitir que o titular do certificado privado correspondente se comunique com Key Protect por meio do adaptador KMIP. Somente certificados autorizados podem enviar solicitações pelo protocolo KMIP à sua instância.
Para adicionar um certificado:
- Clique em Incluir.
- Digite um nome para o certificado.
- Insira o conteúdo do certificado no formato PEM, incluindo as tags
BEGIN CERTIFICATEeEND CERTIFICATE. - Clique em “Adicionar certificado ”.
A associação do certificado pode levar alguns minutos. Um certificado só pode estar associado a um único adaptador em uma região do Key Protect.
Os recursos gerenciados por meio do protocolo KMIP não podem ser acessados pela API HTTP.
Mantenha em segurança a chave privada de todos os certificados enviados. Qualquer certificado carregado em um adaptador KMIP pode realizar todas as operações KMIP compatíveis.
Configuração de um cliente KMIP para se comunicar com um adaptador
Para se comunicar com seu adaptador, você deve configurar um servidor de mensagens(VMware) ou criar um cliente KMIP capaz de se comunicar por meio de um servidor de mensagens ( TCP ) com um servidor de mensagens ( mTLS ) e enviar mensagens utilizando o formato de mensagem TTLV, conforme descrito nas especificações do KMIP.
Para obter mais informações sobre o VMware vSphere, siga as etapas descritas em “Adicionar um provedor de chaves padrão usando o cliente vSphere ”. Ao adicionar um provedor de chaves padrão, utilize o endpoint Key Protect específico para a região da sua instância. Por exemplo, para uma instância do Key Protect na região us-south,
use us-south.kms.cloud.ibm.com como endereço e 5696 como porta.
O cliente do vSphere deve enviar seu certificado de cliente para o adaptador para se comunicar com o adaptador KMIP. Siga as etapas descritas na seção “Usar a opção de certificado para estabelecer uma conexão confiável com o provedor de chaves padrão” para baixar o certificado do cliente e, em seguida, carregue-o no adaptador.
Concessão de acesso ao KMIP
Revise funções e permissões para saber como as funções do IBM Cloud IAM são mapeadas para as ações do Key Protect.
As ações de IAM a seguir regem os recursos que serão usados para gerenciar o acesso aos recursos do KMIP:
kms.kmip-management.createkms.kmip-management.listkms.kmip-management.readkms.kmip-management.delete
Cada ação concede o comportamento mencionado a todos os recursos kmip_adapter certificate e kmip_object na instância, sem granularidade.
Visualização e atualização dos detalhes do adaptador
O painel de detalhes do adaptador exibe informações sobre um adaptador e permite que você realize ações como adicionar certificados.
Para visualizar os detalhes do adaptador:
- Clique no menu de ações (⋯) do adaptador.
- Selecione “Detalhes ”.
O painel de detalhes exibe o nome do adaptador, a descrição, as chaves simétricas KMIP associadas e os certificados carregados. Você também pode enviar certificados adicionais a partir deste painel.
As chaves simétricas do KMIP não podem ser excluídas pelo console. Para excluir chaves, use a CLI. Somente chaves simétricas KMIP
que não estejam no estado “ Active ” (estado 1) podem ser excluídas. Não é possível excluir um adaptador se ele contiver chaves no estado “ Active ”.
Os recursos de cada adaptador são protegidos por uma chave raiz. Não é possível excluir uma chave raiz que esteja ativa e associada a um adaptador.
Cada chave simétrica KMIP criada conta como uma única versão de chave e incorre em uma cobrança de uma versão de chave. A exclusão de uma chave simétrica KMIP é definitiva.
Objetos e operações compatíveis com KMIP
Consulte Result Reason(Motivo do resultado ) na documentação da versão do KMIP 1.4 para saber os motivos das falhas esperadas, como uma solicitação contra uma operação sem suporte.
Operações suportadas pelo KMIP
Apenas as seguintes operações são suportadas.
| Seção | Operação | Resumo |
|---|---|---|
| 4.1 | Criar | Cria um objeto KMIP. |
| 4.9 | Localização | Pesquisa objetos que correspondam aos critérios ou metadados de atributos especificados. |
| 4.11 | Obter | Recupera informações sobre o objeto, especificamente a chave “material”. |
| 4.12 | Obter atributos | Recupera os metadados dos atributos do objeto. |
| 4.14 | Incluir Atributo | Adiciona metadados de atributos ao objeto. |
| 4.19 | Ativar | Define o objeto como “Ativo”. O objeto não pode ser destruído enquanto estiver no estado ativo. |
| 4.20 | Revogar | Define o objeto como estando no estado “Comprometido” se o código do motivo da revogação for “Comprometimento da chave” ou “Comprometimento da CA”. Caso contrário, define o objeto como “Desativado”. |
| 4.21 | Destruir | Destrói o material de chave do objeto. Essa ação não pode ser revertida. |
| 4.26 | Descubra as versões | Solicita ao servidor as versões do protocolo KMIP compatíveis. É retornado apenas v1.4. |
Objetos suportados
| Seção | Object |
|---|---|
| 2.2 | Chave simétrica |
Criação e uso de adaptadores KMIP na API
Esta seção descreve como usar adaptadores KMIP do perfil native_1.0 com a API, incluindo a adição e remoção de certificados de cliente KMIP, bem como a visualização e exclusão de objetos KMIP.
É possível criar um adaptador KMIP realizando uma chamada POST para o seguinte endpoint.
https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters
As operações nos sub-recursos do adaptador KMIP, incluindo certificados de cliente KMIP e objetos KMIP, estarão nos seguintes pontos de extremidade:
https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>/certificates
https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>/kmip_objects
-
Recupere as credenciais de autenticação para trabalhar com chaves no serviço.
-
Copie o ID da chave raiz que você deseja usar para criar o adaptador KMIP.
Para obter o ID de uma chave na instância do Key Protect, é possível recuperar uma lista de chaves ou acessar o painel do Key Protect painel de controle.
-
Crie um adaptador KMIP com o seguinte comando
curl:$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_adapter+json" \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.kmip_adapter+json", "collectionTotal": 1 }, "resources": [ { "name": "<adapter_name>", "description": "<adapter_description>", "profile": "native_1.0", "profile_data": { "crk_id": "<root_keyID_or_alias>" } } ] }'Substitua as variáveis na solicitação de exemplo de acordo com a tabela a seguir.
| Variável | Descrição |
|---|---|
| região | Obrigatório. A abreviação da região, como us-south ou eu-gb, que representa a área geográfica onde sua instância do Key Protect está localizada.Para obter mais informações, consulte Terminais regionais em serviço. |
| root_keyID_or_alias | Obrigatório. O identificador exclusivo ou apelido da chave raiz que você deseja usar para o adaptador. |
| IAM_token | Obrigatório. Seu token de acesso do IBM Cloud. Inclua o conteúdo completo do token do IAM, incluindo o valor Bearer, na solicitação curl. Para obter mais informações, consulte “Como recuperar um token de acesso ”. |
| instance_ID | Obrigatório. O identificador exclusivo que é designado para sua instância de serviço Key Protect. Para obter mais informações, consulte “Como recuperar um ID de instância ”. |
| nome_do_adaptador | Opcional. Um nome legível por humanos do adaptador KMIP exclusivo na instância do kms. Se um não for especificado, ele será gerado automaticamente no formato kmip_adapter_<random_string>. Para proteger
sua privacidade, não utilize dados pessoais, como seu nome ou localização, como nome para o seu adaptador KMIP. O nome deve ser alfanumérico e não pode conter espaços ou caracteres especiais que não sejam - ou _. O nome não pode ser
um UUID. |
| descrição do adaptador | Opcional A descrição do adaptador KMIP. O comprimento máximo é de 240 caracteres. Para proteger sua privacidade, não utilize dados pessoais, como seu nome ou localização, como descrição para o seu adaptador KMIP. |
-
Opcional: você pode listar os adaptadores KMIP que existem em uma instância com o seguinte comando
curl:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_adapter+json"Você também pode obter um adaptador KMIP específico usando o seguinte comando
curl:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_adapter+json"Observe que você pode usar o UUID do adaptador ou o nome do adaptador para obter um adaptador específico.
-
Você pode excluir um adaptador KMIP com o seguinte comando
curl:$ curl -X DELETE \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_adapter+json"Você só pode excluir o adaptador KMIP se todos os objetos KMIP sob o adaptador forem excluídos.
Adição de um certificado de cliente KMIP a um adaptador KMIP
Depois de criar um adaptador KMIP, você pode adicionar um certificado de cliente KMIP para associá-lo ao adaptador. Após o registro de um certificado, você poderá utilizá-lo para se comunicar com o servidor KMIP por meio de mTLS, conforme descrito nas especificações do KMIP. O registro do certificado pode levar até cinco minutos. Os certificados devem ser exclusivos dentro da mesma região.
-
Recupere as credenciais de autenticação para trabalhar com chaves no serviço.
-
Identifique o adaptador KMIP ao qual você deseja adicionar seu certificado.
-
Adicione o certificado de cliente KMIP com o seguinte comando
curl:$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/certificates" \ -H "accept: application/vnd.ibm.kms.kmip_client_certificate+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.kmip_client_certificate+json" \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.kmip_client_certificate+json", "collectionTotal": 1 }, "resources": [ { "certificate": "<certificate_pem>", "name": "<certificate_name>" } ] }'Substitua as variáveis na solicitação de exemplo de acordo com a tabela a seguir.
| Variável | Descrição |
|---|---|
| região | Obrigatório. A abreviação da região, como us-south ou eu-gb, que representa a área geográfica onde sua instância do Key Protect está localizada.Para obter mais informações, consulte Terminais regionais em serviço. |
| ADAPTER_ID | Obrigatório. O identificador ou nome exclusivo do adaptador KMIP com o qual você deseja registrar o certificado. |
| IAM_token | Obrigatório. Seu token de acesso do IBM Cloud. Inclua o conteúdo completo do token do IAM, incluindo o valor Bearer, na solicitação curl. Para obter mais informações, consulte “Como recuperar um token de acesso ”. |
| instance_ID | Obrigatório. O identificador exclusivo que é designado para sua instância de serviço Key Protect. Para obter mais informações, consulte “Como recuperar um ID de instância ”. |
| certificado_pem | Requerido O conteúdo do certificado do cliente KMIP. Ele deve estar no formato x509 PEM. Ele deve ter explicitamente as tags BEGIN CERTIFICATE e END CERTIFICATE. |
| certificate_name | Opcional. Um nome legível por humanos que identifica exclusivamente um certificado dentro do adaptador fornecido. Se um não for especificado, ele será gerado automaticamente no formato kmip_cert_<random_string>.
Para proteger sua privacidade, não utilize dados pessoais, como seu nome ou localização, como nome para o seu adaptador KMIP. O nome deve ser alfanumérico e não pode conter espaços ou caracteres especiais que não sejam - ou _. O nome
não pode ser um UUID. |
-
Opcional: você pode listar os certificados de cliente KMIP associados a um adaptador com o seguinte comando
curl:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/certificates" \ -H "accept: application/vnd.ibm.kms.kmip_client_certificate+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"Você também pode obter um certificado de cliente KMIP específico usando o seguinte comando
curl:$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/certificates/<certificate_name_or_id>" \ -H "accept: application/vnd.ibm.kms.kmip_client_certificate+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"Observe que você pode usar o UUID do certificado ou o nome do certificado para obter um adaptador específico.
-
Você pode excluir um certificado de cliente KMIP com o seguinte comando
curl:$ curl -X DELETE \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_name_or_ID>" \ -H "accept: application/vnd.ibm.kms.kmip_adapter+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"Você só pode excluir o adaptador KMIP se todos os objetos KMIP sob o adaptador forem excluídos.
Visualização e exclusão de objetos KMIP em um adaptador
Os objetos KMIP não podem ser criados por meio da API REST, mas podem ser visualizados e excluídos.
-
Recupere as credenciais de autenticação para trabalhar com chaves no serviço.
-
Identifique o adaptador KMIP ao qual você deseja adicionar seu certificado.
-
Você pode visualizar objetos KMIP em um adaptador KMIP com o seguinte comando
curl:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/kmip_objects" \ -H "accept: application/vnd.ibm.kms.kmip_object+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" -
Você pode visualizar um objeto KMIP específico em um adaptador KMIP com o seguinte comando
curl:$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/kmip_objects/<object_id>" \ -H "accept: application/vnd.ibm.kms.kmip_object+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" -
Você pode excluir um objeto KMIP específico em um adaptador KMIP com o seguinte comando
curl:$ curl -X DELETE \ "https://<region>.kms.cloud.ibm.com/api/v2/kmip_adapters/<adapter_id>/kmip_objects/<object_id>" \ -H "accept: application/vnd.ibm.kms.kmip_object+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"Onde o
<object_id>é o UUID do objeto KMIP. Não é possível excluir objetos KMIP no estado Ativo (state=2).