sql >> データベース >  >> NoSQL >> MongoDB

MongoDB Atlasの概要:パート2

    ブログ「MongoDBAtlasの概要」の最初の部分では、MongoDB Atlasの初期設定と、既存のMongoDBクラスターのMongoDBAtlasへの移行について説明しました。このパートでは、セキュリティやビジネスの継続性など、すべてのMongoDB本番システムに必要ないくつかの管理要素を引き続き調査します。

    MongoDBAtlasのデータベースセキュリティ

    セキュリティが常に最優先されます。すべてのデータベースにとって重要ですが、MongoDBにとっては特別な意味があります。 2017年半ば、インターネットは、MongoDBシステムの脆弱性を特に標的としたランサムウェア攻撃に関するニュースでいっぱいでした。ハッカーはMongoDBインスタンスをハイジャックし、保存されたデータの返却と引き換えに身代金を要求していました。警告がありました。これらのランサムウェア攻撃の前に、ブロガーと専門家は、脆弱であることが判明した本番インスタンスの数について書いています。その後、長い間、MongoDBのセキュリティに関する活発な議論が活発になりました。

    2019年になり、MongoDBの人気がさらに高まっています。新しいメジャーバージョン(4.0)が最近リリースされ、MongoDBAtlasの安定性が向上しました。しかし、クラウド内のNoSQLデータベースのセキュリティを強化するために何が行われたか。

    セキュリティが現在MongoDBエコシステムの中心にあることがはっきりとわかるように、ランサムウェアと絶え間ない報道がMongoDBに影響を与えたに違いありません。 MongoDB Atlasも例外ではなく、本番データ処理のニーズに対応するセキュリティコントロールが組み込まれており、多くのエンタープライズセキュリティ機能がすぐに使用できます。古いバージョンのデフォルトのアプローチ(脆弱性の原因)はなくなり、データベースはデフォルトで保護されています(ネットワーク、クラッド認証など)。また、最新の実稼働環境で期待される機能(監査、一時的なユーザーアクセスなど)も付属しています。

    しかし、それだけではありません。 Atlasはオンラインソリューションであるため、LDAP認証などのサードパーティやMongoDBチャートなどの最新のMongoDBインターネットサービスとの統合を使用できるようになりました。 MongoDB Atlasは、Amazon WebServices(AWS)、Microsoft Azure、およびGoogle Cloud Platform(GCP)の上に構築されており、独自の高度なセキュリティ対策も提供しています。この優れた組み合わせにより、MongoDBAtlasのセキュリティ標準が私たちが期待するものであることが保証されます。これらの主要な機能のいくつかを簡単に見てみましょう。

    MongoDB Atlas&Network Security

    MongoDB Atlasは、既存のクラウドインフラストラクチャ上にクラスターを構築します。 AWSを選択すると、顧客データはMongoDBAtlasシステムに保存されます。これらのシステムは、Atlasのお客様専用に作成されたシングルテナントの専用AWSEC2仮想サーバーです。 Amazon AWSデータセンターは、いくつかの物理的セキュリティおよび情報セキュリティ標準に準拠していますが、オープンネットワークが必要なため、懸念が生じる可能性があります。

    MongoDB Atlas専用クラスターは、専用ファイアウォールを備えた仮想プライベートクラウド(VPC)にデプロイされます。アクセスは、IPホワイトリストまたはVPCピアリングを介して許可する必要があります。デフォルトでは、すべてのアクセスが無効になっています。

    MongoDBには、Atlas用に次のネットワークポートが必要です...

    • シャードの場合は27016
    • BIコネクタの場合は27015
    • サーバーの場合は27017
    • LDAPが有効になっている場合、MongoDBでは、0.0.0.0(インターネット全体)のトラフィックに対してオープンな顧客側のLDAPネットワーク636が必要です。

    ネットワークポートを変更したり、TLSを無効にしたりすることはできません。アクセスは、IPホワイトリストによって分離することもできます。

    さらに、要塞ホストを介してMongoDBAtlasにアクセスすることを選択できます。要塞ホストは、SSHキー(パスワードではない)を要求するように構成されています。また、多要素認証が必要であり、ユーザーはバックエンドアクセスについて上級管理職によって追加で承認される必要があります。

    MongoDBAtlasロールベースのアクセス管理

    高度な役割ベースのアクセスルールを構成して、データベース内のデータにアクセス、操作、および/または削除できるユーザー(およびチーム)を制御できます。デフォルトではユーザーは作成されないため、作成するように求められます。

    MongoDB Atlasを使用すると、管理者はユーザーまたはアプリケーションの権限と、MongoDBにクエリを実行するときにアクセスできるデータを定義できます。 MongoDB Atlasは、プロジェクトまたはデータベースに固有の役割をユーザーにプロビジョニングする機能を提供し、データにアクセスして管理するさまざまなエンティティ間の職務の分離を実現できるようにします。プロセスはシンプルで完全にインタラクティブです。

    新しいユーザーを作成するには、左側の[セキュリティ]タブに移動し、MongoDBユーザーとMongoDBロールのどちらかを選択します。

    MongoDBの役割

    MongoDBAtlasでのエンドツーエンドのデータベース暗号化

    転送中のすべてのMongoDBAtlasデータは、トランスポート層セキュリティ(TLS)を使用して暗号化されます。 TLSプロトコルの最小バージョンを柔軟に構成できます。保存データの暗号化は、暗号化されたストレージボリュームを使用して自動化されています。

    既存のセキュリティプラクティスとプロセスをMongoDBAtlasと統合して、環境を保護する方法をさらに制御することもできます。

    MongoDB Atlas Cluster自体の場合、認証はデフォルトでSCRAMを介して自動的に有効になり、すぐに使用できる安全なシステムを保証します。

    暗号化キー管理を使用すると、バックアップスナップショットなど、データベースファイルの暗号化の追加レイヤーとして、独自の暗号化キーを専用クラスターに取り込むことができます。

    MongoDBAtlasでの監査

    詳細なデータベース監査は、データベースに対してすべてのコマンドを追跡することにより、複数のユーザーがいる展開のシステムアクティビティに関する詳細な質問に答えます。 MongoDBでの監査は、MongoDBEnterpriseでのみ使用できます。監査イベントは、コンソール、syslog、JSONファイル、またはBSONファイルに書き込むことができます。 –auditDestination修飾子を使用して監査オプションを構成します。たとえば、監査イベントをJSONイベントとしてsyslogに送信するには...

    mongod --dbpath data/db --auditDestination syslog

    MongoDBは、本番環境のログデータを収集、保存、分析するための集中ログ管理システムを維持しています。この情報は、ヘルスモニタリング、トラブルシューティング、およびセキュリティの目的で使用できます。運用上の懸念をSREに通知するために、システムにアラートが設定されています。

    MongoDBAtlasLDAP統合

    MongoDB Atlasクラスターに対するユーザー認証と承認は、TLSを介した顧客のライトウェイトディレクトリアクセスプロトコル(LDAP)サーバーを介して管理できます。単一のLDAP構成が、Atlasプロジェクト内のすべてのデータベースクラスターに適用されます。 LDAPサーバーは、アクセス制御を簡素化し、アクセス許可管理をよりきめ細かくするために使用されます。

    AWS Virtual Private Cloud(VPC)でLDAPサーバーを実行しているお客様には、その環境とAtlasデータベースを含むVPCとの間にピアリング接続をお勧めします。

    MongoDBの事業継続とディザスタリカバリ

    MongoDB Atlasは、AWS、Azure、GoogleGCPによって提供されるインフラストラクチャ上に専用クラスターを作成および構成します。データの可用性は、インフラストラクチャプロバイダーサービスの事業継続計画(BCP)およびディザスタリカバリ(DR)プロセスの対象となります。 MongoDB Atlasインフラストラクチャサービスプロバイダーは、これらのコントロールに関する多数の認証と監査レポートを保持しています。

    MongoDBAtlasのデータベースバックアップ

    MongoDB Atlasはデータをバックアップしますが、通常は運用システムからわずか数秒遅れています。 MongoDB Atlasは、レプリカセットの継続的なバックアップ、シャーディングされたクラスターの一貫したクラスター全体のスナップショット、およびポイントインタイムリカバリを保証します。このフルマネージドバックアップサービスは、お客様のデータベース展開に最も近いリージョンでAmazonS3を使用します。

    バックアップデータは、サーバー側の暗号化を使用して保護されます。 Amazon S3は、バックアップされたデータをデータセンターのディスクに書き込むときにオブジェクトレベルで暗号化し、復元時に復号化します。すべてのキーはAWSによって完全に管理されています。

    アマゾンウェブサービスとMicrosoftAzureにデプロイされたAtlasクラスターは、基盤となるクラウドプロバイダーのネイティブスナップショット機能を使用するクラウドプロバイダースナップショットを利用できます。バックアップは、対応するクラスターと同じクラウドリージョンに保存されます。マルチリージョンクラスターの場合、スナップショットはクラスターの優先リージョンに保存されます。

    Atlasは、データをバックアップするために次の方法を提供しています...

    継続的なデータベースバックアップ

    継続的なバックアップは、M10+クラスターおよびサーバーバージョン4.2より前のバージョンで使用できます。これは、MongoDBバックアップを実行する古い方法です。 Atlasは、増分スナップショットを使用してデータを継続的にバックアップします。継続的なバックアップスナップショットは、通常、運用システムからわずか数秒遅れています。 Atlasは、レプリカセットのポイントインタイムバックアップと、S3を使用する独自のシャーディングクラスターのクラスター全体の一貫したスナップショットを保証します。

    フルコピースナップショット

    Atlasは、クラウドプロバイダーのネイティブスナップショット機能を使用して、フルコピースナップショットとローカライズされたスナップショットストレージをサポートします。

    MongoDB Atlas Data Lake

    Atlas Data Lakeを使用してS3データをAtlasクラスターに取り込むと、Mongo Shell、MongoDB Compass、および任意のMongoDBドライバーを使用してAWSS3バケットに保存されているデータをすばやくクエリできます。

    データレイクを作成するときは、AWSアカウントのS3バケットへの読み取り専用アクセスをAtlasに許可し、S3バケットからMongoDBデータベースおよびコレクションにデータをマッピングするデータ設定ファイルを作成します。 Atlasは、グローバルクラスターを含む任意のM10 +クラスターを使用して、同じデータレイクに接続することをサポートしています。

    このブログの執筆時点では、次の形式がサポートされています。

    >
    • Avro
    • 寄木細工
    • JSON
    • JSON /Gzip圧縮
    • BSON
    • CSV(ヘッダー行が必要)
    • TSV(ヘッダー行が必要)
    結論

    今のところこれですべてです。MongoDBアトラスの2部構成の概要を楽しんでいただけたでしょうか。 ClusterControlは、MongoDBクラスターのエンドツーエンドの管理も提供し、クラウドにデプロイすることもできるMongoDBAtlasの優れた低コストの代替手段であることを忘れないでください。


    1. Mongodb:show dbsがデータベースを表示しないのはなぜですか?

    2. マングーススキーマを動的に作成するにはどうすればよいですか?

    3. 埋め込み配列の更新後に新しい値を取り戻すにはどうすればよいですか?

    4. Javaを介したMongolikeQuery(JSON)の実行