Criar e excluir chaves

O AO realiza operações de gerenciamento de chaves usando o comando kubectl para acessar o servidor da API Management.

Antes de começar

Antes de realizar operações do KMS, configure o comando kubectl para acessar o servidor da API Management. Para fazer isso, receba um arquivo kubeconfig usando a interface de linha de comando (CLI) gdcloud.

Para receber as permissões necessárias para criar chaves, peça ao administrador do IAM da organização para conceder a você o papel de criador do KMS (kms-creator) no seu projeto. Se você precisar de mais privilégios, como excluir chaves, solicite a função de administrador do KMS (kms-admin).

Crie uma chave

Siga estas etapas:

  1. Crie uma chave no namespace do projeto. O exemplo a seguir 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 arquivo kubeconfig do servidor da API Management. Faça login e gere o arquivo kubeconfig se você não tiver um.
    • KEY_NAME: um nome para a chave que você quer criar. Por exemplo: key-1.
    • PROJECT: o nome do projeto. Por exemplo, kms-test1.
  2. Verifique 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, o valor True vai aparecer na coluna READY.

Excluir uma chave

Siga estas etapas:

  1. Exclua a chave no namespace do projeto:

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

    Substitua as seguintes variáveis:

    • MANAGEMENT_API_SERVER: o arquivo kubeconfig do servidor da API Management. Faça login e gere o arquivo kubeconfig se você não tiver um.
    • KEY_PRIMITIVE: a chave que você quer excluir, por exemplo, aeadkey para a chave AEAD.
    • KEY_NAME: o nome da chave que você quer excluir. Por exemplo: key-1.
    • PROJECT: o nome do projeto. Por exemplo, kms-test1.
  2. Verifique a exclusão da chave e confira se ela não aparece no retorno:

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