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 o comando kubectl para aceder ao servidor da API Management. Para o fazer, obtenha um ficheiro kubeconfig através da interface de linhas de comando (CLI) gcloud.

Para receber as autorizações necessárias para criar chaves, peça ao administrador de IAM da sua organização para lhe conceder a função de criador do KMS (kms-creator) no seu projeto. Se precisar de privilégios adicionais, como 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