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 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
.
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 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=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 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