Encripte e desencripte dados

O AO realiza operações de encriptação e desencriptação através da CLI com isolamento de ar do Google Distributed Cloud (GDC) para o KMS através de um cliente gRPC.

Antes de começar

Antes de realizar operações do KMS, configure kubectl para aceder ao servidor da API Management e obter as autorizações necessárias.

Configure o acesso ao servidor da API Management

Configure o kubectl para aceder ao servidor da API Management:

  1. Se ainda não o fez, obtenha um ficheiro kubeconfig para o servidor da API Management através da interface de linhas de comando (CLI) gcloud.
  2. Defina a variável de ambiente MANAGEMENT_API_SERVER:

    export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIG
    

    Substitua PATH_TO_KUBECONFIG pelo caminho do ficheiro kubeconfig gerado.

  3. Se ainda não o fez, transfira, instale e configure a CLI gdcloud. Para o fazer, siga a vista geral da CLI gdcloud.

Autorizações necessárias

Para receber as autorizações de que precisa, peça ao administrador da IAM da organização que lhe conceda a função de programador do KMS (kms-developer) no seu projeto.

Encripte dados

Para encriptar dados, use o comando gdcloud kms keys encrypt. Este comando encripta um ficheiro de texto simples especificado através da chave AEAD e escreve-o num ficheiro de texto cifrado especificado.

  • Para encriptar dados, transmita o nome da chave e o seguinte:

    gdcloud kms keys encrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \
      --plaintext-file=PLAINTEXT_PATH \
      --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \
      --ciphertext-file=CIPHERTEXT_PATH
    

    Substitua as seguintes variáveis:

    • NAMESPACE: o espaço de nomes do projeto, por exemplo: kms-test1.
    • KEY_NAME: o nome da chave usada para encriptar o texto simples, por exemplo: key-1.
    • PLAINTEXT_PATH: o caminho para o ficheiro que contém o texto simples a encriptar.
    • ADDITIONAL_AUTHENTICATED_DATA_FILE: um ficheiro opcional que contém dados autenticados adicionais (AAD). O AAD é usado para verificações de integridade e protege os seus dados de um ataque de delegado confuso. O AAD e o texto simples têm um limite de tamanho de 64 KB.
    • CIPHERTEXT_PATH: o caminho para o ficheiro que contém o texto simples encriptado.

    Depois de executar o comando, vê um ficheiro especificado na flag --ciphertext-file que contém o conteúdo encriptado do ficheiro de texto simples.

Desencriptar dados

Para desencriptar dados, use o comando gdcloud kms keys decrypt. Este comando desencripta um ficheiro de texto encriptado especificado através da chave AEAD e escreve-o num ficheiro de texto simples especificado.

  • Para desencriptar texto cifrado, transmita o nome da chave e o seguinte:

    gdcloud kms keys decrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \
     --ciphertext-file=CIPHERTEXT_PATH \
     --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \
     --plaintext-file=PLAINTEXT_PATH
    

    Substitua as seguintes variáveis:

    • NAMESPACE: o espaço de nomes do projeto.
    • KEY_NAME: o nome da chave usada para encriptar o texto não cifrado.
    • CIPHERTEXT_PATH: o caminho do ficheiro que quer desencriptar.
    • ADDITIONAL_AUTHENTICATED_DATA_FILE: um ficheiro opcional que contém dados autenticados adicionais (AAD). O AAD é usado para verificações de integridade e protege os seus dados de um ataque de delegado confuso. O AAD e o texto simples têm um limite de tamanho de 64 KB.
    • PLAINTEXT_PATH: o caminho para o ficheiro que contém o texto simples descifrado.

    Depois de executar o comando, vê um ficheiro que especificou na flag --plaintext-file que contém os dados desencriptados.