Modulo: Mongo::supervisión::evento::Secure
- Incluido en:
- CommandFailed, CommandStarted, CommandSucceeded, Protocol::Msg, Protocol::Query
- Definido en:
- lib/mongo/supervisión/evento/secure.rb
Overview
Proporciona un comportamiento para enmascarar información sensible de los comandos y respuestas.
Resumen de constantes colapsar
- REDACTED_COMMANDS =
Lista de comandos en la que los datos se ocultan por motivos de seguridad.
%w[ Autenticar saslStart saslContinue getnonce createUser updateUser copydbgetnonce copydbsaslstart copydb ].freeze
Resumen del método de instancia colapsar
-
#compression_allowed?(command_name) ⇒ true, false
Si la compresión está permitida para un mensaje de comando dado.
-
#redacted(command_name, document) ⇒ BSON::Document
Ocultamiento de información segura del documento si: - su comando se encuentra en los comandos sensibles; - su comando es un hello/hello heredado, y la autenticación especulativa está habilitada; - el evento iniciado correspondiente es sensible.
-
#sensitive?(command_name:, document:) ⇒ true | false
Verifica si el comando es sensible en términos de la especificación de supervisión de comandos.
Detalles del método de instancia
#compression_allowed?(command_name) ⇒ true, false
Si la compresión está permitida para un mensaje de comando dado.
101 102 103 |
# Archivo 'lib/mongo/monitoring/event/secure.rb', línea 101 def compression_allowed?(command_name) @compression_allowed ||= !REDACTED_COMMANDS.incluir?(command_name.to_s) end |
#se ha redactado(command_name, documento) ⇒ BSON::Document
Redacta la información segura del documento si:
- its command is in the sensitive commands;
- its command is a hello/legacy hello command, and
speculative authentication is enabled;
- corresponding started event is sensitive.
79 80 81 82 83 84 85 86 87 88 89 |
# Archivo 'lib/mongo/monitoring/event/secure.rb', línea 79 def redactado(command_name, Documento) si %w[1 true Sí].incluir?(ENV['MONGO_RUBY_DRIVER_UNREDACT_EVENTS']&.minúscula) Documento elsif respond_to?(evento_iniciado) && evento_inicio.sensible BSON::Documento.Nuevo elsif ¿sensible?(command_name: command_name, documento: Documento) BSON::Documento.Nuevo else Documento end end |
#¿sensitivo?(nombre_de_comando:, documento:) ⇒ verdadero | falso
Comprueba si el comando es sensible en términos de la especificación de supervisión de comandos. Un comando se detecta como sensible si está en la lista o si es un comando hello/hello heredado, y la autenticación especulativa está habilitada.
49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# Archivo 'lib/mongo/monitoring/event/secure.rb', línea 49 def ¿sensible?(command_name:, documento:) si REDACTED_COMMANDS.incluir?(command_name.to_s) true elsif %w[hola esprincipal esMaestro].incluir?(command_name.to_s) && Documento['speculativeAuthenticate'] # Según la especificación de supervisión de comandos, para los comandos hello/hello legados # cuando speculativeAuthenticate está presente, sus comandos Y respuestas # DEBE eliminarse de los eventos. # Consulta https://github.com/mongodb/specifications/blob/master/source/command-logging-and-monitoring/command-logging-and-monitoring.md#security true else false end end |