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

Hereda:
Objeto
  • Objeto
Mostrar todo
Incluye:
validación
Definido en:
lib/mongo/crypt/kms/azure/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 de documento de la clave maestra de Azure 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 de la clave de Azure  debe estar en el formato: " +
"{ key_vault_endpoint: 'KEY_VAULT_ENDPOINT', 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 Azure.

Opciones Hash (opts):

  • :punto_final_del_vault_de_claves (Cadena)

    Punto final de Azure Key Vault.

  • :key_name (Cadena)

    Nombre de clave KMS de Azure.

  • :key_version (String | nil)

    Versión de clave de Azure KMS, opcional.

Aumenta:

  • (ArgumentError)

    Si faltan opciones requeridas o están incorrectas.



49
50
51
52
53
54
55
56
57
58
# Archivo 'lib/mongo/crypt/kms/azure/master_document.rb', línea 49

def inicializar(opta)
  a menos que opta.is_a?(Picadillo)
    propagar ArgumentError.Nuevo(
      'Las opciones del documento clave deben contener una clave denominada :master_key con un valor Hash'
    )
  end
  @punto final de la bóveda de claves = validate_param(:punto_final_del_vault_de_claves, opta, FORMAT_HINT)
  @key_name = validate_param(:key_name, opta, FORMAT_HINT)
  @key_version = validate_param(:key_version, opta, FORMAT_HINT, obligatorio: false)
end

Detalles de los atributos de instancia

#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 Azure.

Devuelve:

  • (string)

    Nombre de clave KMS de Azure.



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

def key_name
  @key_name
end

#key_vault_endpointString (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 de conexión del almacén de claves de Azure.

Devuelve:

  • (string)

    Punto final de Azure Key Vault.



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

def punto final de Key Vault
  @punto final de la bóveda de claves
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 Azure KMS.

Devuelve:

  • (String | nil)

    Versión de clave KMS de Azure.



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

def key_version
  @key_version
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 Azure KMS en formato libmongocrypt.



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

def to_document
  BSON::Documento.Nuevo({
    proveedor: 'azure',
    keyVaultEndpoint: punto final de Key Vault,
    keyName: key_name,
  }).tocar hacer |BSON|
    a menos que key_version.nil?
      BSON.update({ keyVersion: key_version })
    end
  end
end