Clase: Mongo::Crypt::KMS::GCP::MasterKeyDocument Privado

Hereda:
Objeto
  • Objeto
Mostrar todo
Incluye:
validación
Definido en:
lib/mongo/crypt/kms/gcp/master_document.rb

Overview

Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.

El objeto del documento de la clave maestra de GCP KMS contiene los parámetros de la clave maestra de KMS.

Resumen de constantes colapsar

SUGERENCIA DE FORMATO =

Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.

'el documento clave de GCP debe estar en el formato: ' +
"{ project_id: 'PROJECT_ID', location: 'LOCATION', " +
"key_ring: 'KEY-RING', key_name: 'KEY-NAME' }"

Resumen de atributos de la instancia colapsar

Resumen del método de instancia colapsar

Métodos incluidos en Validaciones

#validate_param, validate_tls_options

Detalles del Constructor

#inicializar(opts) ⇒ MasterKeyDocument

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Crea un formulario de objeto de documento de clave maestra a partir de un hash de parámetros.

Parámetros:

  • opciones (encriptada)

    Un hash que contiene opciones de clave maestra para el proveedor de KMS de GCP.

Opciones Hash (opts):

  • id_proyecto (string)

    Id. del proyecto de GCP.

  • ubicación (string)

    Ubicación de GCP.

  • Llavero (string)

    Anillo de claves KMS de GCP.

  • :key_name (string)

    Nombre de la clave de GCP KMS.

  • :key_version (String | nil)

    Versión de clave GCP KMS, opcional.

  • punto final (String | nil)

    Endpoint de clave de KMS de GCP, opcional.

Aumenta:

  • (ArgumentError)

    Si faltan opciones requeridas o están incorrectas.



61
62
63
64
65
66
67
68
69
70
71
72
# Archivo 'lib/mongo/crypt/kms/gcp/master_document.rb', línea 61

def inicializar(opciones)
  si opciones.¿vacío?
    @empty = true
    return
  end
  @project_id = validate_param(id_proyecto, opciones, FORMAT_HINT)
  @location = validate_param(ubicación, opciones, FORMAT_HINT)
  @key_ring = validate_param(Llavero, opciones, FORMAT_HINT)
  @key_name = validate_param(:key_name, opciones, FORMAT_HINT)
  @key_version = validate_param(:key_version, opciones, FORMAT_HINT, obligatorio: false)
  @endpoint = validate_param(punto final, opciones, FORMAT_HINT, obligatorio: false)
end

Detalles de atributo de instancias

#endpointString| nil (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el endpoint de GCP KMS.

Devuelve:

  • (String | nil)

    Extremo de GCP KMS.



43
44
45
# Archivo 'lib/mongo/crypt/kms/gcp/master_document.rb', línea 43

def endpoint
  @endpoint
end

#key_nameString (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el nombre de la clave KMS de GCP.

Devuelve:

  • (string)

    Nombre de la clave de GCP KMS.



37
38
39
# Archivo 'lib/mongo/crypt/kms/gcp/master_document.rb', línea 37

def key_name
  @key_name
end

#key_ringString (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el anillo de claves de GCP KMS.

Devuelve:

  • (string)

    Anillo de claves KMS de GCP.



34
35
36
# Archivo 'lib/mongo/crypt/kms/gcp/master_document.rb', línea 34

def key_ring
  @key_ring
end

#key_versionstring | nulo (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve la versión de la clave de GCP KMS.

Devuelve:

  • (String | nil)

    Versión de clave de GCP KMS.



40
41
42
# Archivo 'lib/mongo/crypt/kms/gcp/master_document.rb', línea 40

def key_version
  @key_version
end

#ubicaciónstring (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve la ubicación de GCP.

Devuelve:

  • (string)

    Ubicación de GCP.



31
32
33
# Archivo 'lib/mongo/crypt/kms/gcp/master_document.rb', línea 31

def Ubicación
  @location
end

#project_idString (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el identificador del proyecto de GCP.

Devuelve:

  • (string)

    Id. del proyecto de GCP.



28
29
30
# Archivo 'lib/mongo/crypt/kms/gcp/master_document.rb', línea 28

def project_id
  @project_id
end

Detalles del método de instancia

#to_documentBSON::Document

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Convertir el objeto de clave maestra del documento a un documento BSON en formato libmongocrypt.

Devuelve:

  • (BSON::Document)

    Credenciales de GCP KMS en formato libmongocrypt.



77
78
79
80
81
82
83
84
85
86
87
88
89
90
# Archivo 'lib/mongo/crypt/kms/gcp/master_document.rb', línea 77

def to_document
  return BSON::Documento.Nuevo({}) si @empty

  BSON::Documento.Nuevo({
                       proveedor: 'gcp',
                       projectId: project_id,
                       location: Ubicación,
                       keyRing: key_ring,
                       keyName: key_name
                     }).tocar hacer |BSON|
    BSON.update({ keyVersion: key_version }) a menos que key_version.nil?
    BSON.update({ punto final: endpoint }) a menos que endpoint.nil?
  end
end