Vista geral da Key Management Service API

A API Key Management Service (KMS) usa recursos personalizados do Kubernetes para gerir o ciclo de vida das chaves criptográficas.

Para usar a API KMS, use a consola GDC. Se a sua aplicação usar as suas próprias bibliotecas para chamar a API, adote o ponto final do serviço de exemplo na secção seguinte e as definições completas da API para criar os seus pedidos:

Ponto final do serviço e documento de descoberta

As APIs KMS são fornecidas em dois pacotes, consoante a implementação zonal ou a implementação global.

Os pontos finais da API para as APIs KMS zonais e globais são os seguintes, respectivamente:

  • https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.gdc.goog/v1
  • https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.global.gdc.goog/v1

A variável MANAGEMENT_API_SERVER_ENDPOINT é o ponto final do servidor da API Management.

Use o comando kubectl proxy para aceder ao URL no seu navegador para obter o documento de descoberta da API KMS. O comando kubectl proxy abre um proxy em 127.0.0.1:8001 para o servidor da API Kubernetes na sua máquina local. Depois de executar esse comando, aceda aos documentos nos seguintes URLs:

  • http://127.0.0.1:8001/apis/kms.gdc.goog/v1
  • http://127.0.0.1:8001/apis/kms.global.gdc.goog/v1

Exemplos de recursos

Seguem-se exemplos de recursos. O espaço de nomes é um espaço de nomes do projeto. Consulte a secção Crie uma chave na página Crie e elimine chaves para mais informações sobre a criação de chaves.

Recurso AEADKey

apiVersion: "kms.gdc.goog/v1"
kind: AEADKey
metadata:
  name: my-test-key
  namespace: user-kms-project
spec:
  algorithm: AES_256_GCM

Recurso SigningKey

apiVersion: "kms.gdc.goog/v1"
kind: SigningKey
metadata:
  name: my-test-key
  namespace: user-kms-project
spec:
  algorithm: EC_SIGN_P384_SHA384

Recurso KeyImport

apiVersion: "kms.gdc.goog/v1"
kind: KeyImport
metadata:
  name: my-test-key-import
  namespace: user-kms-project
spec:
  context:
    mechanism: ECDH_P521_AES256

Recurso KeyExport

apiVersion: "kms.gdc.goog/v1"
kind: KeyExport
metadata:
  name: my-test-key-export
  namespace: user-kms-project
spec:
  context:
    mechanism: ECDH_P521_AES256
    publicKey: pub_key_from_import
  keyToExport:
    kind: AEADKey
    name: key_name_to_export

Recurso RotationJob

apiVersion: "kms.gdc.goog/v1"
kind: RotationJob
metadata:
  name: my-test-rotate-job
spec:
  rootKeyResourceName: namespaces/kms-system/secrets/kms-key-ctm-root

Recurso MZAEADKey

apiVersion: "kms.global.gdc.goog/v1"
kind: MZAEADKey
metadata:
  name: my-test-mz-key
  namespace: user-kms-project
spec:
  algorithm: AES_256_GCM