Docs Menu
Docs Home
/ / /
Lambda MongoDB
/ /

TLS の有効化と構成

項目一覧

  • Overview
  • TLS の有効化
  • 証明書の構成
  • 参照証明書
  • 詳細情報

このガイドでは、TLS プロトコルを使用して MongoDB 配置への接続を保護する方法を学習できます。 TLS を使用するように接続を構成するには、TLS オプションを有効にし、オプションとしてアプリケーションの config/database.phpファイルに検証用の証明書を提供します。

Tip

TLS について詳しくは、Wikipedia で トランスポート層セキュリティに関するエントリを参照してください。

アプリケーションのconfig/database.phpファイルでは、次のいずれかの方法で MongoDB 配置への接続で TLS を有効にできます。

  • 接続stringで tls オプションを true に設定する

  • mongodb接続エントリのoptionsプロパティでtlsオプションをtrueに設定する

Connection StringConnection Options次の タブと タブから選択すると、対応するコード サンプルが表示されます。

'connections' => [
'mongodb' => [
'driver' => 'mongodb',
'dsn' => 'mongodb://<hostname>:<port>/?tls=true',
'database' => 'myDB',
]
]
'connections' => [
'mongodb' => [
'driver' => 'mongodb',
'dsn' => '<connection string>',
'database' => 'myDB',
'options' => [
'tls' => true,
],
]
]

接続オプションの完全なリストを表示するには、「 接続オプション 」を参照してください。

注意

接続stringに mongodb+srv プレフィックスを含めて DNS SRV レコードを使用する場合、接続では TLS がデフォルトで有効になります。

TLS 要求を正常に開始するには、アプリケーションが ID を証明するために暗号化証明書を提示する必要がある場合があります。 接続時に TLS を有効にするには、アプリケーションの証明書が PEM ファイルとして保存されている必要があります。

重要

実稼働環境で使用する場合は、MongoDB の配置に、同一の認証局によって生成および署名された有効な証明書を使用することをお勧めします。 テスト用に、配置は自己署名証明書を使用できます。

次のリストでは、TLS 対応接続を確立するためにクライアントが提示できるコンポーネントを説明します。

TLS コンポーネント
説明
認証局(CA)
TLS 接続を行う場合、信頼する 1 つ以上の証明書機関。 このファイルのパスをtlsCAFileオプションに渡すことができます。
クライアント証明書
暗号化されたネットワーク接続を確立するためにアプリケーションの ID をサーバーが確認できるようにするデジタル証明書。 このファイルのパスをtlsCertificateKeyFileオプションに渡すことができます。
証明書鍵
クライアント証明書秘密キー ファイル。 このキーは、多くの場合、証明書ファイル自体に含まれています。 この項目を指定する必要がある場合は、証明書とキーを 1 つのファイルに連結して、 tlsCertificateKeyFileオプションに渡す必要があります。
パスフレーズ
プライベートクライアントキーが暗号化されている場合、復号化するためのパスワード。 このファイルのパスをtlsCertificateKeyFilePasswordオプションに渡すことができます。

必要な場合は、 mongodb接続を構成するときに証明書を参照して、クライアントが接続する前にサーバーが証明書を検証できるようにする必要があります。

We recommend that you reference your certificates and set other TLS options in the options property of your connection configuration instead of in the connection string. これにより、アプリケーションのコードが読みやすくなります。

証明書を参照するには、 optionsプロパティで次のオプションを設定します。

  • tlsCAFile

  • tlsCertificateKeyFile

  • tlsCertificateKeyFilePassword

注意

テスト目的では、次のオプションをtrueに設定して検証を無効にできます。

  • tlsAllowInvalidCertificates

  • tlsAllowInvalidHostnames

または、 tlsInsecureオプションをtrueに設定して、前述のオプションの両方を暗黙的に設定することもできます。

本番環境でこれらのオプションを指定すると、アプリケーションが安全でなくなる可能性があります。 詳細については、サーバー マニュアルの 「接続オプション」に関する参考資料を参照してください。

次の例では、TLS を有効にして接続を構成します。

'connections' => [
'mongodb' => [
'driver' => 'mongodb',
'dsn' => '<connection string>',
'database' => 'myDB',
'options' => [
'tls' => true,
'tlsCAFile' => '<path to CA certificate>',
'tlsCertificateKeyFile' => '<path to private client certificate>',
'tlsCertificateKeyFilePassword' => '<path to client key passphrase>',
]
]
]

URI オプション設定の詳細については、 MongoDB\\Driver\\Manager::__construct() APIドキュメントを参照してください。

接続で TLS を有効にする方法の詳細については、次のサーバー マニュアル ドキュメントを参照してください。

戻る

接続オプション