Módulo: Mongo::Monitoring::Event::Secure
- Incluido en:
- CommandFailed, CommandStarted, CommandSucceeded, Protocol::Msg, Protocol::Query
- Definido en:
- lib/mongo/monitoreo/evento/seguro.rb
Overview
Proporciona comportamiento para redactar información confidencial de comandos y respuestas.
Colapso delresumen constante
- REDACTED_COMMANDS =
Lista de comandos en la que los datos se ocultan por motivos de seguridad.
[ 'autenticar', 'saslStart', 'saslContinuar ', 'getnonce', 'createUser', 'updateUser', 'copydbgetnonce', 'copydbsaslstart', 'copydb' ].freeze
Resumen del método de instancia colapsar
-
#compression_allowed?(command_name) ⇒ true, false
¿Se permite la compresión para un mensaje de comando determinado?
-
#redactado(nombre_del_comando, documento) ⇒ BSON::Documento
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
¿Se permite la compresión para un mensaje de comando determinado?
106 107 108 |
# Archivo 'lib/mongo/monitoring/event/secure.rb', línea 106 def compression_allowed?(nombre_del_comando) @compression_allowed ||= !REDACTED_COMMANDS.incluir?(nombre_del_comando.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.
83 84 85 86 87 88 89 90 91 92 93 |
# Archivo 'lib/mongo/monitoring/event/secure.rb', línea 83 def redactado(nombre_del_comando, Documento) si %w(1 true Sí).incluir?(ENV['MONGO_RUBY_DRIVER_UNREDACT_EVENTS']&.minúscula) Documento elsif respond_to?(:evento_iniciado) && evento_inicio.sensible return BSON::Documento.Nuevo elsif ¿sensible?(command_name: nombre_del_comando, documento: Documento) BSON::Documento.Nuevo else Documento end end |
#¿sensible?(nombre_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.
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# Archivo 'lib/mongo/monitoring/event/secure.rb', línea 52 def ¿sensible?(command_name:, documento:) si REDACTED_COMMANDS.incluir?(nombre_del_comando.to_s) true elsif %w(hola Ismaster esMaestro).incluir?(nombre_del_comando.to_s) && Documento['Autenticación especulativa '] entonces # 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 |