SQL インターフェースは、ユーザーの MongoDB 配置に接続するために複数の認証メカニズムをサポートしています。このページには、Atlas 専有クラスター、Atlas フェデレーティッドデータベースインスタンス、および自己管理型 MongoDB Enterprise 配置について、サポートされている認証方法、コンポーネントの互換性、および配置の可用性が記載されています。
認証サポート マトリクス
次の表は、各SQL Interface コンポーネントでサポートされている認証メカニズムを示しています。
コンポーネント | SCRAM | x.509 | LDAP | GSSAPI | AWS IAM | OIDC |
|---|---|---|---|---|---|---|
MongoDB SQLスキーマ ビルダ | はい | はい | はい | はい | はい | はい |
ODBC ドライバー | はい | はい | はい | はい | はい | はい |
JDBC ドライバー | はい | はい | はい | はい | はい | はい |
Power BI Desktop | はい | はい | はい | はい | はい | はい |
Power BI Gateway | はい | No | No | No | No | No |
Tableau Desktop | はい | はい | はい | はい | はい | はい |
Tableau サーバー | はい | はい | No | No | No | No |
Tableauクラウド | はい | No | No | No | No | No |
注意
すべてのサードパーティ製BIツールが、MongoDBドライバーではサポートされているにもかかわらず、これらの認証オプションをサポートしているわけではありません。使用したい機能をテストし、お使いの特定の BI ツールで正常に動作するかどうかを確認します。
配置互換性マトリクス
次の表は、各MongoDB配置タイプで使用できる認証メカニズムを示しています。
認証メカニズム | 専用クラスター | フェデレーティッドデータベースインスタンス | |
|---|---|---|---|
SCRAM | はい | はい | はい |
x.509 | はい | はい | はい |
LDAP | はい | No | はい |
Kerberos (GSSAPI) | No | No | はい |
AWS IAM | はい | はい | No |
OIDC | はい | はい | はい |
重要
MongoDB 8.0 以降では、LDAP 認証と承認は非推奨です。LDAP は引き続き利用可能であり、MongoDB 8 の期間中、変更なく動作し続けます。しかし、将来のメジャーリリースで廃止されます。OIDC またはサポートされている別の認証メカニズムに移行することを検討してください。詳細については、LDAP 非推奨化。を参照してください。
JDBC ドライバーの構成
MongoDB JDBC ドライバーは、MongoDB がサポートしているすべての認証メカニズムをサポートします。詳細については、「認証メカニズム」を参照してください。設定すると、ドライバーは TLS/SSL 接続もサポートします。詳しくは、TLS/SSL 構成を参照してください。
以下のセクションでは、509 JDBC ドライバーの X. 、Kerberos (GSSAPI)、および OIDC 認証の構成に関する接続プロパティについて説明します。これらのプロパティは、Atlas と自己管理型 MongoDB Enterprise の両方の配置に適用されます。
x.509 認証
MongoDB JDBC ドライバーは X.509 クライアント証明書認証をサポートしています。次のプロパティは、ドライバーがクライアント証明書と CA トラストをどのように構成するかを制御します。
プロパティ | 目的 |
|---|---|
| クライアント証明書と秘密キーを含む PEM ファイルへのパス。暗号化されていないまたは暗号化された PKCS #1 および PKCS #8 キーの場合に必要です。 |
| 任意。1 つ以上の信頼された X.509 証明書を含む PEM ファイルへのパス。設定されると、ドライバーはこれらの CA によって署名された証明書のみ受け付けます。 |
|
|
X.509 認証を設定する際は、次の動作を考慮してください。
x509pempathを設定すると、それはpasswordプロパティの PEM コンテンツより優先されます。tlscafileを設定しない場合、ドライバーはデフォルトの JVM トラストストアを使用します。PEM コンテンツには、
x509pempathを介して提供する場合でも、passwordプロパティで提供する場合でも、クライアント証明書とそれに対応する秘密キーの両方が含まれている必要があります。
Kerberos(GSSAPI)認証
MongoDB JDBC ドライバーは、Kerberos ベースの認証のために GSSAPI をサポートしています。このメカニズムでは、Kerberos および JAAS 設定をドライバーの外部で設定する必要があります。以下のプロパティは、ドライバーがその構成をどのように使用するかを制御します。
プロパティ | 説明 |
|---|---|
| JAAS 構成ファイルへのパス。たとえば |
| JAAS 構成で定義されているログイン コンテキスト名を指定します。 |
|
|
| ドライバーがネイティブ GSSAPI ライブラリを使用するかどうかを制御します。 |
OIDC 認証
MongoDB JDBC ドライバーは、設定した認証メカニズムのプロパティに基づいて、人間が開始する OIDC フローとマシンが自動化する OIDC フローを区別します。
人の流れ:デフォルトの動作。ブラウザーでログインすることによるユーザー操作が必要です。
マシン フロー: GCP ワークロード アイデンティティ、Azure マネージド アイデンティティ、および Kubernetes などの自動化された環境で使用されます。マシン フローを有効にするには、
ENVIRONMENTおよびTOKEN_RESOURCEパラメータを設定します。
セキュリティに関する考慮事項
SQLインターフェイスの認証を構成するときは、次のセキュリティ ベストプラクティスを考慮してください。
強力な認証メカニズムを使用する: 可能な場合、パスワードベースの認証よりも X.509、OIDC、または Kerberos を優先します。
TLS暗号化を有効にする : 認証情報と転送中のデータを保護するために、常に TLS を使用します。
最小権限の原則に従います。ユーザーには、タスクに必要な最小限の権限のみを付与します。
認証情報ストレージを保護する : 接続文字列の認証情報をハードコードしないでください。環境変数、認証情報ファイル、または安全な認証情報管理システムを使用します。
定期的な認証情報のローテーション: パスワードと証明書の定期的なローテーションを実装します。
認証イベントのモニター:監査するログ を有効にして、認証試行と失敗を追跡します。