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:
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 EOFSubstitua 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.
Valide 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, vê o valor
Truena colunaREADY.
Elimine uma chave
Conclua os seguintes passos:
Elimine a chave no espaço de nomes do projeto:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ delete KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECTSubstitua 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:
aeadkeypara a chaveAEAD. - KEY_NAME: o nome da chave que quer eliminar, por exemplo:
key-1. - PROJECT: o nome do projeto. Por exemplo:
kms-test1.
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