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 auxiliares para validar los parámetros KMS.

Colapso delresumen del método de clase

Colapso del resumen del método de instancia

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 las opciones TLS de KMS.

Parámetros:

  • opciones (Hash | nulo ) —

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

Devuelve:

  • (Hash)

    Proporcione opciones TLS si son válidas.

Aumentos:

  • (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, opciones_del_proveedor|
    Si opciones_del_proveedor[:ssl] == false || opta[:tls] == false
      propagar ArgumentError.Nuevo(
        "OpcionesTLS incorrectas para #{proveedor}: se requiereTLS"
      )
    end
    %i(
      certificado de verificación ssl
      ssl_verify_hostname
    ).cada hacer |opt|
      Si opciones_del_proveedor[opt] == false
        propagar ArgumentError.Nuevo(
          "OpcionesTLS incorrectas para #{proveedor}: " +
          'Opciones TLS inseguras prohibidas'  +
          "#{opt} no se puede establecer como falso para KMS"
        )
      end
    end
  end
  opta
end

Detalles del método de instancia

#validate_param(clave, opciones, sugerencia_de_formato, requerido: verdadero) ⇒ Cadena | nulo

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 KMS es válido.

Parámetros:

  • clave ( Símbolo) -

    El nombre del parámetro.

  • opta (Hash)

    El hash debe contener el parámetro debajo de la clave.

  • Requerido (Booleano) (predeterminado: verdadero)

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

Devuelve:

  • ( Cadena| nulo ) —

    Valor del parámetro de cadena o nulo si falta un parámetro no obligatorio.

Aumentos:

  • (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(clave, opta, sugerencia de formato, requerido: true)
  valor = opta.Fetch(clave)
  return nulo Si valor.nil? && !Requerido
  Si valor.nil?
    propagar ArgumentError.Nuevo(
         
    
  
   
     
          
    
  
   
     
         
    
  
  
 
   
     
       
      
    
  
    
  
" La opción #{ key } debe ser una cadena con al menos un carácter; " \ " actualmente tiene nil " ) fin a menos que value.is_a? ( String ) generar ArgumentError.new ( " La opción #{ key } debe ser una cadena con al menos un carácter; " \ " actualmente tiene #{ value } " ) fin si value.empty? generar ArgumentError.new ( " La opción #{ key } debe ser una cadena con al menos un carácter; " \ " actualmente es una cadena vacía " ) fin valor rescate KeyError si es necesario generar ArgumentError.new ( " Las opciones del proveedor KMS especificadas no son válidas: #{ opts }. " + format_hint ) de lo contrario nil fin fin