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:
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 EOFSubstitua 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.
Verifique a criação da chave:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get aeadkey KEY_NAME \ --namespace=PROJECT -o yamlSe a criação da chave for bem-sucedida, o valor
Truevai aparecer na colunaREADY.
Excluir uma chave
Siga estas etapas:
Exclua a chave no namespace do projeto:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ delete KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECTSubstitua 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,
aeadkeypara a chaveAEAD. - KEY_NAME: o nome da chave que você quer
excluir. Por exemplo:
key-1. - PROJECT: o nome do projeto. Por exemplo,
kms-test1.
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