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.

Colapso delresumen constante

SUGERENCIA_DE_FORMATO =

Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

"el documento clave de GCP debe tener el siguiente 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 forma parte de una API privada. Debe evitarlo 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:

  • opta (encriptada)

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

Opciones Hash (opts):

  • id_proyecto (Cadena)

    Id. del proyecto de GCP.

  • ubicación (Cadena)

    Ubicación de GCP.

  • Llavero (Cadena)

    Anillo de claves KMS de GCP.

  • :key_name (Cadena)

    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.



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

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

Detalles de los atributos de instancia

#punto finalCadena | nulo (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el punto final de GCP KMS.

Devuelve:

  • (String | nil)

    Extremo de GCP KMS.



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

def endpoint
  @endpoint
end

#key_nameString (solo lectura)

Este método forma parte de una API privada. Debe evitarlo 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.



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

def key_name
  @key_name
end

#key_ringString (solo lectura)

Este método forma parte de una API privada. Debe evitarlo 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.



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

def key_ring
  @llavero
end

#key_versionstring | nulo (solo lectura)

Este método forma parte de una API privada. Debe evitarlo 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.



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

def key_version
  @key_version
end

#ubicaciónCadena (solo lectura)

Este método forma parte de una API privada. Debe evitarlo 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.



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

def ubicación
  @location
end

#project_idString (solo lectura)

Este método forma parte de una API privada. Debe evitarlo 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.



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

def project_id
  @project_id
end

Detalles del método de instancia

#to_documentBSON::Document

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Convierte el objeto de documento de clave maestra en un documento BSON en formato libmongocrypt.

Devuelve:

  • (BSON::Document)

    Credenciales de GCP KMS en formato libmongocrypt.



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

def to_document
  return BSON::Documento.Nuevo({}) si @empty
  BSON::Documento.Nuevo({
    proveedor: 'gcp',
    ID del proyecto: project_id,
    location: ubicación,
    llavero: key_ring,
    keyName: key_name
  }).tocar hacer |BSON|
    a menos que key_version.nil?
      BSON.update({ keyVersion: key_version })
    end
    a menos que endpoint.nil?
      BSON.update({ punto final: endpoint })
    end
  end
end