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 clave maestra KMS contiene parámetros de clave maestra KMS que se utilizan para la creación de claves de datos.

Colapso delresumen constante

KMS_PROVIDERS =

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.

Nombres conocidos de proveedores de KMS.

%w(aws azur gcp kmip local).freeze

Resumen del método de instancia colapsar

Detalles del constructor

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

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



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Archivo 'lib/mongo/crypt/kms/master_key_document.rb', línea 40

def inicializar(kms_provider, opciones)
  si opciones.nil?
    propagar ArgumentError.Nuevo('Las opciones de documento clave no deben ser nulas')
  end
  master_key = opciones.obtener(:llave maestra, {})
  @key_document = caso kms_provider.to_s
    Cuando 'aws' entonces KMS::AWS::Documento de clave maestra.Nuevo(master_key)
    Cuando 'azure' entonces KMS::Azure::Documento de clave maestra.Nuevo(master_key)
    Cuando 'gcp' entonces KMS::GCP::Documento de clave maestra.Nuevo(master_key)
    Cuando 'kmip' entonces KMS::KMIP::Documento de clave maestra.Nuevo(master_key)
    Cuando 'local' entonces KMS::Local::Documento de clave maestra.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 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)

    Documento clave maestra como documento BSON.



59
60
61
# Archivo 'lib/mongo/crypt/kms/master_key_document.rb', línea 59

def to_document
  @key_document.to_document
end