Docs Menu
Docs Home
/
MongoDB Atlas
/

データベース監査を設定する

項目一覧

  • 必要なアクセス権
  • 手順
  • カスタム監査フィルターを構成する
  • 監査フィルターの例

注意

この機能は、次の配置では使用できません。

  • サーバーレス インスタンス

  • M0 クラスター

  • M2/M5 クラスター

  • Flex クラスター

詳しくは、「 の制限 」を参照してください。

データベース監査により、管理者は複数のユーザーによる配置のシステム アクティビティを追跡できます。Atlas 管理者は、監査するアクション、データベースユーザー、Atlas ロール、および LDAP グループを選択できます。Atlas は次の制限付きで、文書化されたシステム イベント アクション のほとんどの 監査をサポートしています。

  • Atlas ユーザーがクラスター上の Atlas UI でアクションを実行すると、監査ログと mongodb.log ファイルの両方に、監査可能なアクションを実行しているユーザーとして mms-automation データベース ユーザーが記録されます。ただし、プロジェクト アクティビティ フィードには、アクションを担当する Atlas ユーザーの実際のユーザー名が記録されます。

  • Atlas はこれらの操作を admin データベースで直接実行するので、Atlas 監査ログではユーザーの作成または変更イベントは追跡されません。

重要

完全なデータベース監査の実行

これらの制限があるため、完全な監査を実行するには、監査ログ、mongodb.log、およびプロジェクト アクティビティ フィードを組み合わせて使用する必要があります。

authCheck イベント アクションは、プロジェクト内のクラスター内のデータベースに対して読み取りや書込みを試行するユーザーによる承認試行を記録します。Atlas では、次の特定のコマンドが監査されます。

authCheck Reads
authCheck Writes

Atlas は、authCheck イベント アクションを次の 4 つの個別のアクションとして実装します。

イベント アクション
説明
authChecksReadFailures
authCheck auditAuthorizationSuccess パラメータが false に設定されている、失敗したすべての読み取りに対するイベント アクション。このイベント アクションは、読み取り関連のイベント アクションのデフォルトです。
authChecksReadAll

authCheck 成功と失敗の両方を含むすべての読み取りに対するイベント アクション。このイベント アクションは authChecksReadFailures と同じですが、auditAuthorizationSuccess パラメーターが true に設定されています。

警告: auditAuthorizationSuccessを有効にすると、クラスターのパフォーマンスに重大な影響を与える可能性があります。 このオプションを有効にする場合は注意が必要です。

authChecksWriteFailures
authCheck auditAuthorizationSuccess パラメータが false に設定されている、すべての失敗した書込み (write) に対するイベント アクション。このイベント アクションは、書込み (write) 関連のイベント アクションのデフォルトです。
authChecksWriteAll

authCheck 成功と失敗の両方を含むすべての書込み (write) に対するイベント アクション。このイベント アクションは authChecksWriteFailures と同じですが、auditAuthorizationSuccess パラメーターが true に設定されています。

警告: auditAuthorizationSuccessを有効にすると、クラスターのパフォーマンスに重大な影響を与える可能性があります。 このオプションを有効にする場合は注意が必要です。

MongoDB が監査イベントをディスクに書き込む方法については、MongoDB マニュアルの「監査保証」を参照してください。

監査ログを構成するには、更新するプロジェクトへの Project Owner アクセス権、または更新するプロジェクトを含む組織への Organization Owner アクセス権が必要です。

注意

一時データベース ユーザーのアクションを監査するためのベスト プラクティスについては、「一時データベース ユーザーの監査」を参照してください。

データベース監査を設定するには、次の手順に従います。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のAdvancedをクリックします。

    詳細ページが表示されます。

2
3

デフォルトでは、Atlas は既知ユーザーと不明ユーザーの両方の失敗した認証試行を プライマリ ノードの監査ログに記録します。

4

または Use Custom JSON Filter をクリックして、監査フィルターを JSON 文字列として手動で入力します。Atlas でカスタム監査フィルターを構成する方法の詳細については、「カスタム監査フィルターの構成」を参照してください。

5

注意

authenticate アクションの選択を解除すると、Atlas は認証失敗を監査できなくなります。

注意

authCheck イベント アクションでの監査の承認成功の粒度を選択する場合、Atlas は読み取りと書込み (write) の異なる選択をサポートしません。たとえば、authCheck Reads の代わりに Successes and Failures を選択したり、authCheck Writes の代わりに Failures を選択したりすることはできません。authCheck ReadsauthCheck Writes の両方を選択した場合、Atlas は選択した粒度を両方に自動的に適用します。

6

Atlas で監査ログを検索するには、MongoDB ログを参照してください。API を使用して監査ログを検索するには、「ログ」を参照してください。

注意

この機能は、次の配置では使用できません。

  • サーバーレス インスタンス

  • M0 クラスター

  • M2/M5 クラスター

  • Flex クラスター

To learn more, see Limits.

Atlas は、MongoDB Auditing をカスタマイズする JSON 形式の監査フィルターの指定をサポートしています。

カスタム監査フィルターを使用すると、ユーザーは管理された Atlas UI 監査フィルター ビルダーを使用せずに、イベント監査を手動で細かく制御できるようになります。Atlas は、カスタム フィルターが有効な JSON 構文を使用しているかどうかのみをチェックし、フィルターの機能を検証またはテストしません。

監査フィルター ドキュメントは、監査イベント メッセージ内の 1 つ以上のフィールドに一致するクエリに解決される必要があります。フィルター ドキュメントでは、必要な監査メッセージを一致させるために、クエリ演算子と等価条件の組み合わせを使用できます。

監査フィルターの例を表示するには、「監査フィルターの例」を参照してください。MongoDB 監査フィルターの構成の詳細については、「監査フィルターの構成」を参照してください。

重要

Atlas は、Atlas プロジェクト内のすべてのクラスターにわたって監査構成設定を有効化または更新するために、ローリング アップグレード 戦略を使用します。ローリング アップグレードでは、レプリカセットごとに少なくとも 1 回の選挙が必要です。

レプリカセットの選挙に対するアプリケーションの回復力をテストする方法の詳細については、「プライマリ フェイルオーバーのテスト」を参照してください。Atlas が高可用性を実現する仕組みについて詳しくは、「Atlas の高可用性」を参照してください。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のAdvancedをクリックします。

    詳細ページが表示されます。

2
3
4
5

警告

Audit authorization successes を有効にすると、クラスターのパフォーマンスに重大な影響を与える可能性があります。このオプションを有効にする場合は注意が必要です。

authCheck アクション型を指定する監査フィルターは、デフォルトでは監査システムは指定された param.command の承認の失敗のみをログに記録します。Audit authorization successes を有効にすると、監査システムは承認の成功もログに記録するように指示します。詳細については、「auditAuthorizationSuccess」を参照してください。

6

フィルターはいつでも編集できます。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のAdvancedをクリックします。

    詳細ページが表示されます。

2
  1. Database Auditing Configure Your Auditing Filter の下にある Use Custom JSON Filter をクリックします。

  2. 必要な変更を加えます。

  3. [Save] をクリックします。

Atlas CLI で指定したプロジェクトの監査構成を取得するには、次のコマンドを実行します。

atlas auditing describe [options]

コマンドの構文とパラメータについて詳しくは、Atlas CLI ドキュメントの atlas auditing describe を参照してください。

Tip

参照: 関連リンク

Atlas UI でカスタム監査フィルタを表示する方法。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のAdvancedをクリックします。

    詳細ページが表示されます。

2

カスタム監査フィルターは Database Auditing の下に表示されます。

独自のフィルターを作成する際のガイドとして、次の監査フィルターの例を使用してください。

重要

これらの例は本番環境での使用を意図したものではなく、MongoDB 監査ドキュメントに関する知識の代替となるものでもありません。

{
"atype": "authenticate"
}
{
"$or": [
{
"users": []
},
{
"atype": "authenticate"
}
]
}

注意

既知および未知のユーザーからの認証失敗をログに記録するには、authenticate アクションが必要です。

{
"atype": "authenticate",
"param": {
"user": "myClusterAdministrator",
"db": "admin",
"mechanism": "SCRAM-SHA-256"
}
}
{
"atype": "authCheck",
"param.command": {
"$in": [
"insert",
"update",
"delete"
]
}
}

戻る

Google Cloud KMS