Exemplo 2: criptografia ou descriptografia de grandes volumes de dados
Cenário
Criptografar ou descriptografar uma grande quantidade de dados.
- Processo de criptografia:
- Crie uma CMK no KMS.
- Chame a API da criação de chave de dados do KMS para criar uma DEK. Uma DEK de texto não criptografado e uma DEK de texto cifrado serão geradas. A DEK de texto cifrado foi gerada usando uma CMK para criptografar a DEK de texto não criptografado.
- Use a DEK de texto não criptografado para criptografar um arquivo de texto não criptografado, gerando um arquivo de texto cifrado.
- Armazene o DEK de texto cifrado e o arquivo de texto cifrado juntos em um dispositivo de armazenamento permanente ou um serviço de armazenamento.
- Processo de descriptografia:
- Leia a DEK de texto cifrado e o arquivo de texto cifrado do dispositivo de armazenamento permanente ou do serviço de armazenamento.
- Chame a API de descriptografia de chave de dados e use a CMK de criptografia para descriptografar a DEK de texto cifrado. A DEK de texto não criptografado será gerada.
Se a CMK for excluída, a descriptografia falhará. Mantenha corretamente suas CMKs.
- Use a DEK de texto não criptografado para descriptografar o arquivo de texto cifrado.
As APIs envolvidas
As APIs usadas para as seguintes operações estão envolvidas:
Procedimento
- Crie uma CMK.
- Informações da API
Formato de URI: POST /v1.0/{project_id}/kms/create-key
Para obter detalhes, consulte Criação de uma CMK.
As chaves principais padrão são criadas por serviços integrados ao KMS. Os nomes das chaves principais padrão terminam com /default. Não termine seus nomes de CMK com /default.
- Exemplo de solicitação
POST: https://{endpoint}/v1.0/53d1aefc533f4ce9a59c26b01667cbcf/kms/create-key
Obtenha {endpoint} de Regiões e pontos de extremidade.
Corpo:
{ "key_alias": "test" }
- Exemplo de resposta
{ "key_info": { "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e", "domain_id": "b168fe00ff56492495a7d22974df2d0b" } }
- Informações da API
- Crie uma DEK.
- Informações da API
Formato de URI: POST /v1.0/{project_id}/kms/create-datakey
Para obter detalhes, consulte Criação de uma DEK.
- Exemplo de solicitação
POST https://{endpoint}/v1.0/53d1aefc533f4ce9a59c26b01667cbcf/kms/create-datakey
Obtenha {endpoint} de Regiões e pontos de extremidade.
Você pode usar a API para Consulta da lista de CMKs para verificar informações de chave, incluindo key_id.
Corpo:
{ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "datakey_length": "512" }
- Exemplo de resposta
{ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "plain_text": "8151014275E426C72EE7D44267EF11590DCE0089E19863BA8CC832187B156A72A5A17F17B5EF0D525872C59ECEB72948AF85E18427F8BE0D46545C979306C08D", "cipher_text": "020098009EEAFCE122CAA5927D2E020086F9548BA1675FDB022E4ECC01B96F2189CF4B85E78357E73E1CEB518DAF7A4960E7C7DE8885ED3FB2F1471ABF400119CC1B20BD3C4A9B80AF590EFD0AEDABFDBB0E2B689DA7B6C9E7D3C5645FCD9274802586BE63779471F9156F2CDF07CD8412FFBE9230643034363662302D653732372D346439632D623335642D6638346262343734613337660000000045B05321483BD9F9561865EE7DFE9BE267A42EB104E98C16589CE46940B18E52" }
- Informações da API
- Criptografe a DEK.
- Informações da API
Formato de URI: POST /v1.0/{project_id}/kms/encrypt-datakey
Para obter detalhes, consulte Criptografia de uma DEK.
- Exemplo de solicitação
POST https://{endpoint}/v1.0/53d1aefc533f4ce9a59c26b01667cbcf/kms/encrypt-datakey
Obtenha {endpoint} de Regiões e pontos de extremidade.
Você pode usar a API para Consulta da lista de CMKs para verificar informações de chave, incluindo key_id.
Corpo:
{ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "plain_text": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F5A5FD42D16A20302798EF6ED309979B43003D2320D9F0E8EA9831A92759FB4B", "datakey_plain_length": "64" }
- Exemplo de resposta
{ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "cipher_text": "020098005273E14E6E8E95F5463BECDC27E80AF820B9FC086CB47861899149F67CF07DAFF2810B7D27BDF19AB7632488E0926A48DB2FC85BEA905119411B46244C5E6B8036C60A0B0B4842FFE6994518E89C19B1C1D688D9043BCD6053EA7BA0652642CE59F2543C80669139F4F71ABB9BD9A24330643034363662302D653732372D346439632D623335642D66383462623437346133376600000000D34457984F9730D57F228C210FD22CA6017913964B21D4ECE45D81092BB9112E", "datakey_length": "64" }
- Informações da API
- Descriptografe a DEK.
- Informações da API
Formato de URI: POST /v1.0/{project_id}/kms/decrypt-datakey
Para obter detalhes, consulte Descriptografia de uma DEK.
- Exemplo de solicitação
POST https://{endpoint}/v1.0/53d1aefc533f4ce9a59c26b01667cbcf/kms/decrypt-datakey
Obtenha {endpoint} de Regiões e pontos de extremidade.
Você pode usar a API para Consulta da lista de CMKs para verificar informações de chave, incluindo key_id.
Corpo:
{ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "datakey_cipher_length": "64", "cipher_text": "020098005273E14E6E8E95F5463BECDC27E80AF820B9FC086CB47861899149F67CF07DAFF2810B7D27BDF19AB7632488E0926A48DB2FC85BEA905119411B46244C5E6B8036C60A0B0B4842FFE6994518E89C19B1C1D688D9043BCD6053EA7BA0652642CE59F2543C80669139F4F71ABB9BD9A24330643034363662302D653732372D346439632D623335642D66383462623437346133376600000000D34457984F9730D57F228C210FD22CA6017913964B21D4ECE45D81092BB9112E" }
- Exemplo de resposta
{ "data_key": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "datakey_length": "64", "datakey_dgst": "F5A5FD42D16A20302798EF6ED309979B43003D2320D9F0E8EA9831A92759FB4B" }
- Informações da API