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.

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

Opciones Hash (opts):

  • :punto_final_del_vault_de_claves (string)

    Punto final de Azure Key Vault.

  • :key_name (string)

    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.



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

def inicializar(opciones)
  a menos que opciones.is_a?(encriptada)
    propagar ArgumentError.Nuevo(
      'Las opciones del documento clave deben contener una clave denominada :master_key con un valor Hash'
    )
  end
  @key_vault_endpoint = validate_param(:punto_final_del_vault_de_claves, opciones, FORMAT_HINT)
  @key_name = validate_param(:key_name, opciones, FORMAT_HINT)
  @key_version = validate_param(:key_version, opciones, FORMAT_HINT, obligatorio: false)
end

Detalles de atributo de instancias

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

Devuelve:

  • (string)

    Nombre de clave KMS de Azure.



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

def key_name
  @key_name
end

#key_vault_endpointString (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 del Azure Key Vault.

Devuelve:

  • (string)

    Punto final de Azure Key Vault.



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

def punto final de Key Vault
  @key_vault_endpoint
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 Azure KMS.

Devuelve:

  • (String | nil)

    Versión de clave KMS de Azure.



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

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



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

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