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