Módulo: Mongo::Monitoramento::Evento::Seguro
- Incluído em:
- CommandFailed, CommandStarted, CommandSucceeded, Protocol::Msg, Protocol::Query
- Definido em:
- lib/mongo/monitoring/ evento/secure.rb
Visão geral
Fornece comportamento para redigir informações confidenciais de comandos e respostas.
Colapsode resumo constante
- redacted_commands =
A lista de comandos que tem os dados editados por segurança.
%w[ autenticar saslStart sasl Continue pegue uma vez createUser updateUser copydbgetnonce copydbsaslstart copydb ].congelar
Recolhimento do Resumo do método de instância
-
#comparison_allowed?(command_name) ➤ verdadeiro, falso
A compactação é permitida para uma determinada mensagem de comando.
-
#redigido(command_name, document) ➤ BSON::Document
Reduzir informações seguras do documento se: - seu comando estiver nos comandos confidenciais; - seu comando é um comando hello/legacy hello e a autenticação especulativa está habilitada; - o evento iniciado correspondente é sensível.
-
#sensível?(command_name:, documento:) ➤ true | false
Verifique se o comando é sensível em termos de especificação de monitoramento de comando.
Detalhes do método de instância
#comparison_allowed?(command_name) ⇒ true, false
A compactação é permitida para uma determinada mensagem de comando.
101 102 103 |
# File 'lib/mongo/monitoring/ evento/secure.rb', linha 101 def compressão_allowed?(command_name) @compression_allowed ||= !redacted_commands.incluir?(command_name.to_s) end |
#redigido(command_name, document) ➤ BSON::Document
Reduzir informações seguras do documento se:
- 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 |
# File 'lib/mongo/monitoring/ evento/secure.rb', linha 79 def editado(command_name, documento) se %w[1 true sim].incluir?(ENV['MONGO_RUBY_DRIVER_UNREDACT_EVENTS']&.downcase) documento elsif respond_to?(:started_event) && started_event.sensível BSON::Documento.Novo elsif sensível?(command_name: command_name, Documento: documento) BSON::Documento.Novo mais documento end end |
#sensível?(command_name:, documento:) ➤ true | false
Verifique se o comando é sensível em termos de especificação de monitoramento de comando. Um comando é detectado como sensível se estiver na lista ou se for um comando hello/ legado hello e a autenticação especulativa estiver habilitada.
49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/mongo/monitoring/ evento/secure.rb', linha 49 def sensível?(command_name:, Documento:) se redacted_commands.incluir?(command_name.to_s) true elsif %w[olá isMaster isMaster].incluir?(command_name.to_s) && documento['speculativeAuthenticate'] # De acordo com a especificação do Monitoramento de Comando, para comandos de olá/olá legado # quando speculativeAuthenticate está presente, seus comandos E respostas # DEVE ser eliminado dos eventos. # Consulte https://github.com/mongodb/specifications/blob/master/source/command-logging-and-monitoring/command-logging-and-monitoring.md#security true mais false end end |