Modulo: Mongo::supervisión::evento::Secure
- Incluido en:
- CommandFailed, CommandStarted, CommandSucceeded, protocolo::Msg, protocolo::query, Tracing::OpenTelemetry::CommandTracer
- 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.
96 97 98 |
# Archivo 'lib/mongo/monitoring/event/secure.rb', línea 96 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.
75 76 77 78 79 80 81 82 83 84 |
# Archivo 'lib/mongo/monitoring/event/secure.rb', línea 75 def redactado(command_name, Documento) return Documento si %w[1 true Sí].incluir?(ENV['MONGO_RUBY_DRIVER_UNREDACT_EVENTS']&.minúscula) si (respond_to?(evento_iniciado) && evento_inicio.sensible) || ¿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 |
# Archivo 'lib/mongo/monitoring/event/secure.rb', línea 49 def ¿sensible?(command_name:, documento:) return true si REDACTED_COMMANDS.incluir?(command_name.to_s) # 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 %w[hola esprincipal esMaestro].incluir?(command_name.to_s) && !!Documento['speculativeAuthenticate'] end |