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

Hereda:
Objeto
  • Objeto
Mostrar todo
Definido en:
lib/mongo/crypt/kms/master_key_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 de documento de la clave maestra KMS contiene parámetros de la clave maestra KMS que se utilizan para la creación de claves de datos.

Resumen de constantes colapsar

KMS_PROVIDERS =

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.

Nombres conocidos de proveedores de KMS.

%w[aws Azure gcp kmip local].freeze

Resumen del método de instancia colapsar

Detalles del Constructor

#inicializar(kms_provider, options) ⇒ 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:

  • kms_provider. (string)

    Nombre del proveedor de KMS.

  • opciones (encriptada)

    Un hash que contiene opciones de clave maestra para el proveedor de KMS. Los parámetros obrigatorios para los proveedores de KMS se describen en las clases correspondientes dentro del módulo Mongo::Crypt::KMS.

Aumenta:

  • (ArgumentError)

    Si faltan opciones requeridas o están incorrectas.



37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Archivo 'lib/mongo/crypt/kms/master_key_document.rb', línea 37

def inicializar(kms_provider, opciones)
  propagar ArgumentError.Nuevo('Las opciones de documento clave no deben ser nulas') si opciones.nil?

  master_key = opciones.obtener(llave_maestra, {})
  @key_document = caso kms_provider.to_s
                  cuando 'aws' entonces KMS::AWS::MasterKeyDocument.Nuevo(master_key)
                  cuando 'azure' entonces KMS::Azure::MasterKeyDocument.Nuevo(master_key)
                  cuando 'gcp' entonces KMS::GCP::MasterKeyDocument.Nuevo(master_key)
                  cuando 'kmip' entonces KMS::KMIP::MasterKeyDocument.Nuevo(master_key)
                  cuando 'local' entonces KMS::Local::MasterKeyDocument.Nuevo(master_key)
                  else
                    propagar ArgumentError.Nuevo("El proveedor de KMS debe ser uno de #{KMS_PROVIDERS}")
                  end
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)

    Documento de clave maestra como documento BSON.



55
56
57
# Archivo 'lib/mongo/crypt/kms/master_key_document.rb', línea 55

def to_document
  @key_document.to_document
end