Query Service SSL オプション

セキュリティを強化するために、Adobe Experience Platform Query Service では、SSL 接続のネイティブサポートを提供して、クライアントとサーバーの通信を暗号化します。 このドキュメントでは、Query Service へのサードパーティクライアント接続に使用できる SSL オプションと、verify-full の SSL パラメーター値を使用して接続する方法について説明します。

前提条件

このドキュメントは、Platform データで使用するサードパーティのデスクトップクライアントアプリケーションを既にダウンロードしていることを前提としています。 サードパーティのクライアントと接続する際に SSL セキュリティを組み込む方法については、それぞれの接続ガイドのドキュメントを参照してください。 サポートされているすべてのクライアント Query Service リストについては、 クライアント接続の概要を参照してください。

使用可能な SSL オプション available-ssl-options

Platform では、データセキュリティのニーズに合わせ、暗号化と鍵交換の処理オーバーヘッドのバランスを取るために、様々な SSL オプションをサポートしています。

sslmode パラメーターの値が異なれば、保護レベルも異なります。 SSL 証明書を使用してデータを暗号化することで、「中間者」(MITM)攻撃、盗聴、なりすましを防ぐのに役立ちます。 次の表に、使用可能な様々な SSL モードの分類と、提供される保護レベルを示します。

NOTE
必要なデータ保護コンプライアンスにより、SSL 値 disable はAdobe Experience Platformでサポートされていません。
sslmode
盗聴保護
MITM 保護
説明
allow
一部
×
セキュリティは優先されません。速度と低い処理オーバーヘッドの方が重要です。 このモードは、サーバーが要求する場合にのみ暗号化を選択します。
prefer
一部
×
暗号化は必要ありませんが、サーバーがサポートしている場合は通信が暗号化されます。
require
×
暗号化はすべての通信で必要です。 ネットワークは、正しいサーバーに接続するために信頼されています。 サーバー SSL 証明書の検証は不要です。
verify-ca
CA-policy に依存
暗号化はすべての通信で必要です。 データを共有するには、サーバーの検証が必要です。 それには、PostgreSQL ホームディレクトリにルート証明書を設定する必要があります。 詳細は以下のとおりです
verify-full
暗号化はすべての通信で必要です。 データを共有するには、サーバーの検証が必要です。 それには、PostgreSQL ホームディレクトリにルート証明書を設定する必要があります。 詳細は以下のとおりです
NOTE
verify-caverify-full の違いは、ルート証明機関(CA)のポリシーによって異なります。 アプリケーション用にプライベート証明書を発行する独自のローカル CA を作成している場合は、verify-ca を使用すると十分な保護が得られることがよくあります。 パブリック CA を使用する場合、verify-ca は、他のユーザーが CA に登録している可能性のあるサーバーへの接続を許可します。 verify-full は、常にパブリックルート CA で使用する必要があります。

Platform データベースへのサードパーティ接続を確立する場合、少なくとも sslmode=require を使用して、移動中のデータの安全な接続を確保することをお勧めします。 セキュリティが重視されるほとんどの環境では、verify-full SSL モードを使用することをお勧めします。

サーバー検証用のルート証明書を設定します root-certificate

IMPORTANT
Query Service Interactive Postgres API の実稼動環境の TLS/SSL 証明書は、2024 年 1 月 24 日水曜日(PT)に更新されました。
これは年間要件ですが、この機会に、Adobeの TLS/SSL 証明書プロバイダーが証明書階層を更新したので、チェーンのルート証明書も変更されました。 これは、特定の Postgres クライアントで、その認証機関のリストにルート証明書がない場合に影響を与える可能性があります。 例えば、PSQL CLI クライアントでは、ルート証明書を明示的なファイル ~/postgresql/root.crt に追加する必要がある場合があります。そうしないと、エラーが発生する可能性があります。 たとえば、psql: error: SSL error: certificate verify failed のように設定します。この問題について詳しくは、 公式の PostgreSQL ドキュメントを参照してください。
追加するルート証明書は、https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pemからダウンロードできます

安全な接続を確保するには、接続を行う前に、クライアントとサーバーの両方で SSL 使用を設定する必要があります。 SSL がサーバー上でのみ設定されている場合、クライアントは、サーバーが高いセキュリティを必要とすることが確立される前に、パスワードなどの機密情報を送信する可能性があります。

デフォルトでは、PostgreSQL はサーバー証明書の検証を実行しません。 サーバーの ID を検証し、(SSL verify-full モードの一部として)機密データが送信される前に安全な接続を確保するには、ローカル マシン(root.crt)にルート(自己署名)証明書を、そしてルート証明書によって署名されたリーフ証明書を、サーバーに配置する必要があります。

sslmode パラメータが verify-full に設定されている場合、libpq はクライアントに格納されているルート証明書までの証明書チェーンをチェックして、サーバーの信頼性を検証します。 次に、ホスト名がサーバー証明書に保存されている名前と一致することを確認します。

サーバー証明書の検証を許可するには、ホーム ディレクトリの PostgreSQL ファイルに 1 つ以上のルート証明書(root.crt)を配置する必要があります。 ファイルパスは ~/.postgresql/root.crt のようになります。

サードパーティ Query Service 接続で使用する完全検証 SSL モードを有効にする instructions

sslmode=require よりも厳しいセキュリティ制御が必要な場合は、ハイライト表示された手順に従って、SSL モードを使用してサードパーティクライアントを Query Service に接続 verify-full きます。

NOTE
SSL 証明書を取得するために使用できるオプションは多数あります。 不正な証明書の増加傾向により、DigiCert は、高保証 TLS/SSL、PKI、IoT、署名ソリューションの信頼できるグローバルプロバイダーであるため、このガイドで使用されています。
  1. 使用可能な DigiCert ルート証明書のリストに移動します。

  2. 使用可能な証明書のリストから「DigiCert Global Root G2」を検索します。

  3. PEM をダウンロード」を選択して、ファイルをローカルマシンにダウンロードします。
    「PEM をダウンロード」がハイライト表示された、使用可能な DigiCert ルート証明書のリスト

  4. セキュリティ証明書ファイルの名前を root.crt に変更します。

  5. ファイルを PostgreSQL フォルダーにコピーします。 必要なファイルパスは、オペレーティングシステムによって異なります。 フォルダーがまだ存在しない場合は作成します。

    • macOSを使用している場合、パスは /Users/<username>/.postgresql になります
    • Windows を使用している場合、パスは %appdata%\postgresql です
TIP
Windows オペレーティング・システム上で %appdata% ファイルの場所を見つけるには、⊞Win + R を押して、検索フィールドに %appdata% を入力します。

DigiCert Global Root G2 CRT ファイルを PostgreSQL フォルダーで使用できるようになったら、sslmode=verify-full または sslmode=verify-ca オプションを使用して、Query Service に接続できます。

次の手順

このドキュメントでは、サードパーティクライアントを Query Service に接続するための使用可能な SSL オプションと、verify-full SSL オプションを有効にしてデータを移動しながら暗号化する方法について詳しく説明します。

まだ行っていない場合は、 サードパーティのクライアントの接続 Query Service に関するガイダンスに従ってください。

recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb