MongoDB Atlas は、堅牢なセキュリティを確保するためにさまざまな認証方法をサポートしています。 Atlas では、 Atlas UI、 Atlas データベース、 Atlas Administration APIにアクセスするためにすべてのユーザーに認証が必要です。
注意
このコンテキストでは、「ユーザー」は人間またはアプリケーションにすることができます。人間のユーザーは「ワークフォース IdP」と呼ばれ、アプリケーションは「ワークロード IdP」と呼ばれます。
使用する認証タイプは、次の 2 つの要素で決まります。
ID のタイプ(人間またはマシン)
ID がアクセスする必要があるリソース。リソースは、 Atlas UI、 Atlas Database、または Atlas API のいずれかになります。
Atlas UI 認証
従業員ユーザー
IPアクセス制限を使用し、
SAML2.0 IdP(Okta、 Microsoft Entra ID、Ping Identity など)で フェデレーティッド認証を使用し、
多要素認証(MFA) で Atlas 認証情報を使用します。ハードウェアキーや生体認証など、利用可能な最も安全な形式の MFA を常に使用する必要があります。
ワークロード ユーザー
これは従業員にのみ適用されます。
Atlas のデータベース認証
従業員ユーザー
開発環境およびテスト環境では、 SCRAM を使用することもできます。 Just-in-timeデータベースアクセスを持つ一時データベースユーザーを作成することを検討してください。
ワークロード ユーザー
次のいずれかを使用します。
開発環境およびテスト環境では、 X.509 証明書や SCRAM を使用することもできます。
Atlas API認証
注意
これは、ワークフォース ユーザーとワークロード ユーザーの両方に適用されます。
サービス アカウント を使用します。開発環境およびテスト環境では、 サービス アカウント またはAPIキー を使用することもできます。
認証タイプ
次のセクションでは、 Atlas UI、 Atlas Database 、または Atlas Administration APIにアクセスするときに使用される認証方法の詳細を説明します。
フェデレーティッド認証
フェデレーティッド認証を使用すると、中央IdPを通じて複数のシステムやアプリケーションにわたる Atlas UIへのすべての認証を管理できるため、ユーザー管理の複雑さが軽減されます。フェデレーティッド認証を使用すると、ID プロバイダーのツール内でパスワードの複雑さ、認証情報のローテーション、 MFA などのセキュリティ ポリシーを強制できます。
Atlas UIの場合は、 Okta 、 Microsoft Entra ID 、または Ping Identity など、任意の SAML 互換IdPを使用できます。
Workforce IdP
Workforce IdP を使用すると、 IdPを介して Atlasデータベースへのすべての認証を管理できます。詳しくは、「 OIDC を使用した Workforce IdP の設定 」を参照してください。
Workload Identity Federation
Workload Identity Federation を使用すると、Azure や Google Cloud などのクラウド環境で実行されているアプリケーションが、データベースユーザーの認証情報を個別に管理することなく Atlas で認証できます。Workload Identity Federation を使用すると、Azureマネージド ID、Google サービスアカウント、または任意の OAuth 2.0 準拠のサービスを使用して、Atlas データベースユーザーを管理できます。これらの認証メカニズムは、Atlas データベースへのパスワードレス アクセスを可能にすることで、管理を簡素化し、セキュリティを強化します。
AWS IAM ロール認証
AWS IAM ロール を介して認証することもできます。詳しくは、 「 AWS IAM 認証 」を参照してください。
詳しくは、「 OAuth2.0 を使用して Workload Identity Federation を設定する 」および「 フェデレーティッド認証の構成 」を参照してください。
多要素認証
Atlas コントロール プレーンにアクセスするすべての人間ユーザーは、セキュリティを強化するために MFA が必要です。 Atlas はセカンダリ識別として次の MFA メソッドをサポートしています。
セキュリティキー
生体認証
OTP 認証子
Okta Verify によるプッシュ通知
メールアドレス
注意
フェデレーティッド認証を使用している場合は、 IdP で MFA を構成および管理します。 Atlas 認証情報を使用している場合、MFA は Atlas 内で構成および管理されます。 Atlas の認証情報を使用する場合は MFA が必要です。
詳細は、「多要素認証オプションを管理する」を参照してください。
X.509 クライアント証明書
X.509 証明書は相互 TLS のセキュリティを提供するため、ステージングや本番環境に適しています。また、X.509 で使用するには独自の認証局を取得できます。 X.509 の懸念事項は、証明書とこれらの証明書のセキュリティをアプリケーション側で管理する必要があることに対し、ワークロード Identity Federation を使用するとパスワードレスのアクセスとアプリケーションのセキュリティを容易にすることです。
詳しくは、 X.509 を参照してください。
SCRAM パスワード認証
Atlas クラスターは ユーザー認証に SCRAM パスワード認証をサポートしていますが、開発環境とテスト環境でのみ使用することをお勧めします。
X.509 または SCRAM認証を活用する場合は、複雑なデータベース認証情報を生成および保存するために、HashiCorp Vault やAWS Secrets Manager などのサードパーティのシークレット マネージャーを使用することをお勧めします。
詳しくは、「 SCRAM 」を参照してください。
サービス アカウント
サービス アカウントは業界標準の OAuth2.0 を使用して、Atlas Administration API を介して Atlas へのセキュアな認証を行います。可能な限り API キーの代わりにサービスアカウントの使用を推奨します。これは、短期間のアクセストークンと必須の認証情報ローテーションにより、セキュリティが強化されるためです。
サービス アカウントのプログラムによるアクセスは、 Atlas UI、 Atlas CLI、 Atlas Administration API、 Terraform を使用して管理できます。
API キー
サービス アカウントは、認証の推奨方法です。 Atlas は、プログラムによるアクセスを管理するためのAPIキーベースの認証のレガシーサポートを提供します。 APIキーベースの認証では、リクエストを保護するためにHTTPダイジェスト認証を使用します。
セキュリティをさらに強化し、不正アクセスのリスクを最小限に抑えるためには:
ベストプラクティスに従って、 APIキーを定期的にローテーションします。 HashiCorp Vault (例:)を使用してこれらのキーをローテーションする方法については、 HashiCorp のドキュメント を参照してください。
API キーに対する IP アクセスリストを使用します。詳細については、「Atlas Administration API の IP アクセス リストを要求する」を参照してください。
詳細については、「Atlas Administration API 認証」を参照してください。
秘密マネジメント
複雑なデータベース認証情報を生成して保存するには、HashiCorp Vault や Amazon Web Services Secrets Manager などのサードパーティのシークレット マネージャーを使用することをお勧めします。シークレット マネージャーは、Atlas データベースの構成されたロールに基づいてデータベース認証情報を動的に生成できます。
詳細については、ブログの「HashiCorp Vault で MongoDB Atlas データベースのシークレットを管理する」を参照してください。
配置
認証に関連する配置の推奨事項については、「 Atlas の組織、プロジェクト、クラスターに関するガイダンス 」を参照してください。
追加のセキュリティ対策
セキュリティをさらに強化し、不正アクセスのリスクを最小限に抑えるには、次の追加のセキュリティ対策を検討してください。
サービス アカウントのシークレットは、有効期限が切れる前にローテーションします。
最小最小特権特権の Atlas ロールを割り当てます。
詳細については、「サービス アカウントの概要」を参照してください。