Crie e elimine chaves

O AO realiza operações de gestão de chaves através do comando kubectl para aceder ao servidor da API Management.

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.

Autorizações necessárias

Para receber as autorizações de que precisa, peça ao administrador de IAM da sua organização para lhe conceder as seguintes funções do KMS no seu projeto:

  • Para criar e listar chaves, peça a função KMS Creator (kms-creator).
  • Para criar, listar e eliminar chaves, peça a função de administrador do KMS (kms-admin).

Crie uma chave

Conclua os seguintes passos:

  1. Crie uma chave no espaço de nomes do projeto. O exemplo seguinte cria a chave AEAD:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    apply -f - << EOF
    apiVersion: "kms.gdc.goog/v1"
    kind: AEADKey
    metadata:
      name: KEY_NAME
      namespace: PROJECT
    spec:
      algorithm: AES_256_GCM
    EOF
    

    Substitua as seguintes variáveis:

    • MANAGEMENT_API_SERVER: o ficheiro kubeconfig do servidor da API Management. Inicie sessão e gere o ficheiro kubeconfig se não tiver um.
    • KEY_NAME: um nome para a chave que quer criar, por exemplo: key-1.
    • PROJECT: o nome do projeto. Por exemplo: kms-test1.
  2. Valide a criação da chave:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get aeadkey KEY_NAME \
      --namespace=PROJECT -o yaml
    

    Se a criação da chave for bem-sucedida, vê o valor True na coluna READY.

Elimine uma chave

Conclua os seguintes passos:

  1. Elimine a chave no espaço de nomes do projeto:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      delete KEY_PRIMITIVE KEY_NAME \
      --namespace=PROJECT
    

    Substitua as seguintes variáveis:

    • MANAGEMENT_API_SERVER: o ficheiro kubeconfig do servidor da API Management. Inicie sessão e gere o ficheiro kubeconfig se não tiver um.
    • KEY_PRIMITIVE: a chave que quer eliminar, por exemplo: aeadkey para a chave AEAD.
    • KEY_NAME: o nome da chave que quer eliminar, por exemplo: key-1.
    • PROJECT: o nome do projeto. Por exemplo: kms-test1.
  2. Valide a eliminação da chave e certifique-se de que não vê a chave no resultado:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get KEY_PRIMITIVE  KEY_NAME \
      --namespace=PROJECT