モジュール: Mongo::Monitoring::Event::Secure

次のドキュメントに含まれます。
CommandFailed, CommandStarted, CommandSucceeded, プロトコル::Msg, プロトコル::クエリ, Tracing::OpenTelemetry::CommandTracer
定義:
lib/mongo/monitoring/ イベント/secure.rb

Overview

コマンドと応答からの機密情報をリダクションするための動作を提供します。

以来

  • 2.1.0

定数の概要の削減

REDIRECT_COMMANDS =

セキュリティのためにリダクションされたデータを持つコマンドのリスト。

以来

  • 2.1.0

%w[
  認証する
  saslStart
  saslContinue
  getnonce
  createUser
  updateUser
  copydbgetnonce
  copydbsaslstart
  copydb
].freeze

インスタンス メソッドの概要を折りたたむ

インスタンス メソッドの詳細

圧縮_許可されていますか? (command_name) = truefalse

特定のコマンド メッセージで圧縮が許可されています。

例:

特定の コマンドで圧縮が許可されているかどうかを判断します。

secure.compression_allowed?(selector)

パラメーター:

  • command_name ( stringSymbol )

    コマンド名。

次の値を返します。

  • truefalse

    圧縮を使用できるかどうか。

以来

  • 2.5.0



96
97
98
# ファイル 'lib/mongo/monitoring/ イベント/secure.rb' 行 96

デフォルト Compression_allowed?(command_name)
  @compression_allowed ||= !REDIRECT.include?(command_name.to_s)
end

編集済み(command_name, ドキュメント) = BSON::Document

次の場合は、ドキュメントから安全な情報を編集します。

- 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.

例:

リダクションされたドキュメントを取得します。

secure.redacted(command_name, document)

パラメーター:

  • command_name ( stringSymbol )

    コマンド名。

  • ドキュメント BSON::Document

    ドキュメント。

次の値を返します。

  • BSON::Document

    編集されたドキュメント。

以来

  • 2.1.0



75
76
77
78
79
80
81
82
83
84
# ファイル 'lib/mongo/monitoring/ イベント/secure.rb' 行 75

デフォルト 編集済み(command_name, ドキュメント)
  return ドキュメント 場合 %w[1 true はい].include?(ENV['MONGO_RUBY_DRIVER_UNREDACT_EVENTS']&.ダウンケース)

  場合 (respond_to?(:started_event) & & start_event.機密) ||
     区別するかどうか(command_name: command_name, ドキュメント: ドキュメント)
    BSON::ドキュメント.新着情報
  else
    ドキュメント
  end
end

#を区別するかどうか(command_name:, document:) = true | false

コマンドが コマンド監視仕様 で区別されるかどうかを確認します。 コマンドは、リストにある場合、または hello/レガシー hello コマンドであり、推測的認証が有効になっている場合は、機密性の高いコマンドとして検出されます。

パラメーター:

  • command_name ( stringSymbol )

    コマンド名。

  • ドキュメント BSON::Document

    ドキュメント。

次の値を返します。

  • true | false

    コマンドが区別されるかどうか。

以来

  • 2.1.0



49
50
51
52
53
54
55
56
57
58
# ファイル 'lib/mongo/monitoring/ イベント/secure.rb' 行 49

デフォルト 区別するかどうか(command_name:, ドキュメント:)
  return true 場合 REDIRECT.include?(command_name.to_s)

  # コマンド モニタリング 仕様による、hello/レガシー hello コマンドの場合
  推測的認証が存在する場合、そのコマンドは AND として応答されます。
  : イベントから編集する必要があります。
  次を参照してください: https://github.com/mongodb/specions/lob/ Master/source/command-loging-and-monitoring/command-loging-and-monitoring.md#security
  %w[Hello is マスター isマスター].include?(command_name.to_s) & &
    !!ドキュメント['推測的認証']
end