Criando chaves raiz
Use IBM® Key Protect for IBM Cloud® para criar chaves raiz.
Chaves raiz são chaves simétricas de quebra de chaves usadas para proteger a segurança dos dados criptografados na nuvem. Para obter mais informações sobre chaves raiz, consulte Protegendo dados com criptografia de envelope.
As chaves de criptografia que são criadas em uma região podem ser usadas para criptografar armazenamentos de dados localizados em qualquer região dentro da IBM Cloud.
Criando chaves raiz no console
Depois de criar uma instância do serviço, conclua as etapas a seguir para criar uma chave raiz no console IBM Cloud.
Se você implementar a oferta Dedicated Key Protect, deverá primeiro inicializar a instância antes de criar qualquer recurso.
Se você ativar as configurações de autorização dupla para a sua instância do Key Protect, tenha em mente que qualquer chave que você incluir no serviço requererá uma autorização de dois usuários para excluir chaves.
-
Acesse Menu > Lista de recursos para visualizar uma lista de seus recursos.
-
Em sua lista de recursos do IBM Cloud, selecione a sua instância provisionada do Key Protect.
-
Para criar uma nova chave, clique em “Adicionar chave ”. Um painel lateral será aberto. Certifique-se de que a opção Criar uma chave esteja selecionada. Observe que, para definir um alias de chave, um chaveiro ou uma política de rotação para esta chave, é necessário clicar na guia “Opções avançadas” para exibi-los.
Se você não for um Manager (ou tiver um nível equivalente de permissões), a opção Política de rotação não aparecerá.
Specify the key's details:
| Configuração | Descrição |
|---|---|
| Tipo | O tipo de chave que você gostaria de gerenciar no Key Protect. As chaves raiz são selecionadas por padrão. |
| Nome da chave | Um nome de exibição legível para fácil identificação de sua chave. O comprimento deve estar entre 2 e 90 caracteres (inclusive). Para proteger sua privacidade, assegure-se de que o nome da chave não contenha informações pessoalmente identificáveis (PII), como seu nome ou local. Observe que os nomes de chaves não precisam ser exclusivos. |
| Descrição da chave | Opcional. Descrições são uma maneira útil de adicionar informações sobre uma chave (por exemplo, uma frase descrevendo seu propósito) de uma maneira que não é possível usar um alias ou seu nome. Essa descrição deve ter no mínimo dois caracteres e no máximo 240 e não pode ser alterada posteriormente. Para proteger sua privacidade, não utilize dados pessoais, como seu nome ou localização, como descrição para sua chave. |
| Alias da chave | Opcional. Um alias de chave também é uma maneira de descrever uma chave As chaves podem ter até cinco aliases. |
| Conjunto de chaves | Opcional. Conjuntos de chaves são agrupamentos de chaves que permitem que esses agrupamentos sejam gerenciados de forma independente conforme necessário.
Cada chave deve ser uma parte de um conjunto de chaves. Se nenhum conjunto de chaves for selecionado, as chaves serão colocadas no conjunto de chaves default. Observe que, para poder colocar a chave que está sendo criada
em um conjunto de chaves, você deve ter a função de Gerenciador em relação a esse conjunto de chaves. Para obter mais informações sobre funções, confira Gerenciando o acesso de usuário. |
| Política de rotação | Opcional. Se você tiver a função de_Gerenciador_, será possível configurar uma política de rotação para a chave no momento da criação da chave Se uma política de instância existir para criar políticas de rotação em chaves por padrão, também será possível sobrescrever essa política no momento da criação de chave para um intervalo diferente... Observe que se sua instância tiver uma política de rotação ativada e você Desativar a política de rotação no momento da criação da chave, a política ainda será gravada em sua chave em um estado Desativado. Se você desejar ativar essa política posteriormente, poderá fazê-lo. Confira Configurar uma política de rotação após a chave ter sido criada para obter mais informações. |
Quando terminar de preencher os detalhes da chave, clique em “Adicionar” para confirmar.
Se você souber em qual chaveiro deseja colocar uma chave e for o administrador desse chaveiro, também poderá acessar o painel “Chaveiros”, selecionar ⋯ e clicar em “Adicionar nova chave ”. Isto abrirá o mesmo painel que você vê clicando em Incluir, na página Chaves, com a variável Conjuntos de chaves preenchida com o nome do conjunto de chaves.
As chaves criadas no serviço são chaves simétricas de 256 bits, compatíveis com o algoritmo AES_KW. Para obter segurança adicional, as chaves são geradas pelos módulos de segurança de hardware (HSMs) certificados FIPS 140-2 Nível 3 que estão localizados em data centers do IBM Cloud seguros.
Se você precisar provisionar chaves raiz de forma consistente entre contas ou ambientes, poderá automatizar isso com o módulo Key Protect Key. Para obter uma configuração completa que também provisiona a instância Key Protect e os chaveiros, consulte o módulo Key Protect com tudo incluído. Para obter uma visão geral, consulte Terraform IBM Modules.
Criando chaves raiz com a API
Se você implementar a oferta Dedicated Key Protect, deverá primeiro inicializar a instância antes de criar qualquer recurso.
Crie uma chave raiz fazendo uma chamada POST para o terminal a seguir.
https://<region>.kms.cloud.ibm.com/api/v2/keys
-
Recupere as suas credenciais de autenticação para trabalhar com chaves no serviço.
-
Crie uma chave raiz executando o comando
curla seguir.$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/api/v2/keys" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.key+json" \ -H "x-kms-key-ring: <key_ring_ID>" \ -H "correlation-id: <correlation_ID>" \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.key+json", "collectionTotal": 1 }, "resources": [ { "type": "application/vnd.ibm.kms.key+json", "name": "<key_name>", "aliases": [alias_list], "description": "<key_description>", "expirationDate": "<expiration_date>", "extractable": <key_type> } ] }'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 de região, como us-south ou eu-gb, que representa a área geográfica onde a instância do Key Protect reside. Para obter mais informações, consulte Terminais regionais em serviço. |
| 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 Recuperando 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 Recuperando um ID da instância. |
| key_ring_ID | Opcional. O identificador exclusivo do conjunto de chaves de destino do qual você deseja que a chave recém-criada faça parte. Se não especificado, o cabeçalho será automaticamente configurado como 'padrão' e a chave será colocada no conjunto de chaves padrão na instância de serviço do Key Protect especificada. Para obter mais informações, consulte Agrupando chaves. |
| correlation_ID | O identificador exclusivo que é usado para rastrear e correlacionar transações. |
| key_name | Obrigatório. Um nome legível para identificação conveniente de sua chave. Importante: para proteger sua privacidade, não armazene seus dados pessoais como metadados para sua chave. |
| alias_list | Um ou mais aliases exclusivos e legíveis designados à sua chave. Importante: para proteger sua privacidade, não armazene seus dados pessoais como metadados para sua chave. Cada alias deve ser alfanumérico, fazer distinção entre maiúsculas e minúsculas e não pode conter espaços ou caracteres especiais além de traços (-) ou sublinhados (_). O alias não pode ser um UUID da versão 4 e não deve ser um nome reservado do Key Protect: allowed_ip, key, keys, metadata, policy, policies, registration, registrations, ring, rings, rotate, wrap, unwrap, rewrap, version, versions. O tamanho do alias pode ser entre 2 e 90 caracteres (inclusive). |
| key_description | Uma descrição estendida de sua chave. Importante: para proteger sua privacidade, não armazene seus dados pessoais como metadados para sua chave. |
| expiration_date | Opcional. A data e a hora em que a chave expira no sistema, no formato RFC 3339 (AAAA-MM-DD HH:MM:SS.SS, por exemplo, 2019-10-12T07:20:50.52Z ). Tenha cuidado ao definir uma data de expiração, pois as chaves criadas com uma data de expiração passam automaticamente para o estado Desativado em uma hora após a expiração. Nesse estado, as únicas ações permitidas na chave são desembrulhar, desembrulhar novamente, girar e excluir. As chaves desativadas não podem ser usadas para criptografar (envolver) novos dados, mesmo que tenham sido giradas enquanto desativadas. A rotação não redefine ou estende a data de validade, nem permite que a data seja alterada. Recomenda-se que todos os dados criptografados com uma chave expirada ou vencida sejam criptografados novamente usando uma nova chave raiz do cliente (CRK) antes que a CRK original expire, para evitar interrupções no serviço. A exclusão e a restauração de uma chave desativada não a movem de volta ao estado Ativo. Se o atributo expiration_date for omitido, a chave não expira. |
| key_type | Um valor booleano determina se o material de chave pode sair do serviço. Ao configurar o atributo extractable como false, o serviço cria uma chave raiz que pode ser usada para operações de agrupamento ou desagrupamento. |
Tenha cuidado ao definir uma data de expiração, pois as chaves criadas com uma data de expiração passam automaticamente para o estado Desativado em uma hora após a expiração. Nesse estado, as únicas ações permitidas na chave são desembrulhar, desembrulhar novamente, girar e excluir. As chaves desativadas não podem ser usadas para criptografar (envolver) novos dados, mesmo que tenham sido giradas enquanto desativadas. A rotação não redefine ou estende a data de validade, nem permite que a data seja alterada. Recomenda-se que todos os dados criptografados com uma chave expirada ou vencida sejam criptografados novamente usando uma nova chave raiz do cliente (CRK) antes que a CRK original expire, para evitar interrupções no serviço. A exclusão e a restauração de uma chave desativada não a movem de volta ao estado Ativo. Se o atributo expiration_date for omitido, a chave não expira.
Você pode monitorar o uso de chaves com datas de expiração usando IBM Cloud Logs. Os registros indicam a data de expiração e o número de dias restantes usando as propriedades JSON responseData.expirationDate e responseData.daysToKeyExpire para chaves que têm data de expiração e para os seguintes valores action: kms.secrets.wrap, kms.secrets.unwrap, kms.secrets.rewrap, kms.secrets.read,
kms.secrets.readmetadata, kms.secrets.create, kms.secrets-with-policy-overrides.create e kms.secrets.expire. Além disso, uma chamada REST bem-sucedida para GET /api/v2/keys retorna
a propriedade expirationDate para cada chave que tenha uma data de validade.
Para proteger a confidencialidade de seus dados pessoais, evite inserir informações pessoalmente identificáveis (PII), como seu nome ou local, ao incluir chaves no serviço.
Uma resposta POST api/v2/keys bem-sucedida retorna o valor de ID para a sua chave, junto com outros metadados. O ID é um identificador exclusivo que é designado para sua chave e é usado para chamadas subsequentes para a API do Key
Protect.
{
"metadata": {
"collectionType": "application/vnd.ibm.kms.key+json",
"collectionTotal": 1
},
"resources": [
{
"type": "application/vnd.ibm.kms.key+json",
"id": "02fd6835-6001-4482-a892-13bd2085f75d",
"name": "test-root-key",
"aliases": [
"alias-1",
"alias-2"
],
"description": "A test root key",
"state": 1,
"extractable": false,
"crn": "crn:v1:bluemix:public:kms:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
"imported": false,
"creationDate": "2020-03-12T03:37:32Z",
"createdBy": "...",
"algorithmType": "Deprecated",
"algorithmMetadata": {
"bitLength": "256",
"mode": "Deprecated"
},
"algorithmBitSize": 256,
"algorithmMode": "Deprecated",
"lastUpdateDate": "2020-03-12T03:37:32Z",
"keyVersion": {
"id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
"creationDate": "2020-03-12T03:37:32Z"
},
"dualAuthDelete": {
"enabled": false
},
"deleted": false
}
]
}
Para obter uma descrição detalhada dos parâmetros de resposta, consulte o documento de referência da API REST do Key Protect.
O que vem a seguir
-
Para descobrir mais sobre como proteger chaves com criptografia de envelope, consulte Chaves de quebra.
-
Para saber mais sobre como gerenciar suas chaves programaticamente, consulte a documentação de referência da API do Key Protect.