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 モードの分類と、提供される保護レベルを示します。
disable
はAdobe Experience Platformでサポートされていません。allow
prefer
require
verify-ca
verify-full
verify-ca
と verify-full
の違いは、ルート証明機関(CA)のポリシーによって異なります。 アプリケーション用にプライベート証明書を発行する独自のローカル CA を作成している場合は、verify-ca
を使用すると十分な保護が得られることがよくあります。 パブリック CA を使用する場合、verify-ca
は、他のユーザーが CA に登録している可能性のあるサーバーへの接続を許可します。 verify-full
は、常にパブリックルート CA で使用する必要があります。Platform データベースへのサードパーティ接続を確立する場合、少なくとも sslmode=require
を使用して、移動中のデータの安全な接続を確保することをお勧めします。 セキュリティが重視されるほとんどの環境では、verify-full
SSL モードを使用することをお勧めします。
サーバー検証用のルート証明書を設定します root-certificate
これは年間要件ですが、この機会に、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
きます。
-
使用可能な DigiCert ルート証明書のリストに移動します。
-
使用可能な証明書のリストから「DigiCert Global Root G2」を検索します。
-
「PEM をダウンロード」を選択して、ファイルをローカルマシンにダウンロードします。
-
セキュリティ証明書ファイルの名前を
root.crt
に変更します。 -
ファイルを PostgreSQL フォルダーにコピーします。 必要なファイルパスは、オペレーティングシステムによって異なります。 フォルダーがまだ存在しない場合は作成します。
- macOSを使用している場合、パスは
/Users/<username>/.postgresql
になります - Windows を使用している場合、パスは
%appdata%\postgresql
です
- macOSを使用している場合、パスは
%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 に関するガイダンスに従ってください。