Módulo: Mongo::Crypt::KMS::Validaciones privadas

Incluido en:
AWS::Credenciales, AWS::MasterKeyDocument, Azure::Credenciales, Azure::MasterKeyDocument, GCP::Credenciales, GCP::MasterKeyDocument, KMIP::Credenciales, KMIP::MasterKeyDocument, Local::Credenciales
Definido en:
lib/mongo/crypt/kms.rb

Overview

Este módulo forma parte de una API privada. Debe evitar su uso siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Este módulo contiene métodos asistentes para validar los parámetros de KMS.

Resumen del método de clase colapsar

Resumen del método de instancia colapsar

Detalles del método de clase

.validate_tls_options(options) ⇒ Hash

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

Validar opciones de KMS TLS.

Parámetros:

  • opciones (Hash | nil)

    Opciones de TLS para conectarse a los proveedores de KMS. Las claves del hash deben ser nombres de los proveedores de KSM; los valores deben ser hashes de opciones de conexión TLS. Las opciones son equivalentes a las opciones de conexión TLS de Mongo::Client.

Devuelve:

  • (encriptada)

    Proporcione opciones TLS si son válidas.

Aumenta:

  • (ArgumentError)

    Si faltan las opciones requeridas o están formateadas incorrectamente.



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# Archivo 'lib/mongo/crypt/kms.rb', línea 87

def validate_tls_options(opciones)
  opta = opciones || {}
  opta.cada hacer |Proveedor, provider_opts|
    si provider_opts[:ssl] == false || opta[:tls] == false
      propagar ArgumentError.Nuevo(
        "OpcionesTLS incorrectas para #{proveedor}: se requiereTLS"
      )
    end
    %i(
      ssl_verify_certificate
      ssl_verify_hostname
    ).cada hacer |opt|
      si provider_opts[opt] == false
        propagar ArgumentError.Nuevo(
          "Opciones de TLS incorrectas para #{proveedor}: " +
          'Opciones TLS inseguras prohibidas, ' +
          "#{opt} no se puede establecer en falso para KMS"
        )
      end
    end
  end
  opta
end

Detalles del método de instancia

#validate_param(key, opts, format_hint, required: true) ⇒ String | nil

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

Validar si un parámetro de KMS se considera válido.

Parámetros:

  • llave (Símbolo)

    El nombre del parámetro.

  • opta (encriptada)

    Hash debe contener el parámetro bajo la clave.

  • Requerido (booleano) (predeterminado: verdadero)

    Si el parámetro es obligatorio o no. Los parámetros no requeridos pueden ser nulos.

Devuelve:

  • (String | nil)

    Valor del parámetro string o nil si falta un parámetro no requerido.

Aumenta:

  • (ArgumentError)

    Si faltan las opciones requeridas o están formateadas incorrectamente.



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Archivo 'lib/mongo/crypt/kms.rb', línea 43

def validate_param(llave, opta, sugerencia de formato, obligatorio: true)
  Valor = opta.obtener(llave)
  return nulo si Valor.nil? && !Requerido
  si Valor.nil?
    propagar ArgumentError.Nuevo(
      "La opción #{clave} debe ser una string con al menos un carácter; " \
      "actualmente tiene nil"
    )
  fin
  a menos que valor.es_un?(string)
    generar ArgumentError.nuevo(
      "La opción #{clave} debe ser una string con al menos un carácter; " \
      "actualmente cuenta con #{valor}"
    )
  fin
  si valor.está vacía?
    incremente ArgumentError.crear_nuevo(
      "La opción #{key} debe ser una String con al menos un carácter; " \
      "actualmente es una string vacía"
    )
  end
  value
rescue KeyError
  if required
    raise ArgumentError.new(
      «Las opciones especificadas del proveedor de KMS no son válidas: #{opts}. » +
      format_hint
    )
  else
    nil
  end
end