TLSサーバー証明書の検証
LakeFlow Connectデータベース コネクタ パイプラインは、TLS を使用して転送中のすべてのデータを暗号化します。 新しく作成されたパイプラインから始めて、 LakeFlow Connectソース データベース サーバーの TLS 証明書も検証します。 この証明書検証により、パイプラインが意図したサーバー(なりすましサーバーではない)に接続していることが確認され、中間者攻撃(PITM攻撃)が防止されます。
このページはMySQL 、 PostgreSQL 、およびSQL Server LakeFlow Connectコネクタに適用されます。
証明書の検証方法
新しいパイプラインがソース データベースに接続すると、 LakeFlow Connectサーバーの TLS 証明書を信頼された CA 証明書と照合して検証します。 証明書を検証できない場合、パイプラインの接続は失敗します。
証明書の検証方法の変更は、既存のパイプラインには影響しません。 新しく作成されたパイプラインでは、証明書の検証がデフォルトで有効になっています。
デフォルトの検証動作はコネクタによって異なります。
コネクター | CA証明書が提供されていない場合のデフォルトの動作 |
|---|---|
MySQL | パイプラインの 接続に失敗しました 。MySQLでは、明示的なCA証明書が必要です。これは、MySQLのバイナリログ複製ユーティリティがJVMのトラストストアを使用しないためです。接続時にCA証明書を提供するか、検証を無効にする必要があります。 |
PostgreSQL | パイプラインは、 JVMのデフォルトのトラストストア を使用して接続します。このトラストストアには、よく知られた公開認証局(例えば、DigiCertやLet's Encrypt)が含まれています。PostgreSQLサーバーが、認知された公開認証局(CA)の証明書を使用している場合は、何もする必要はありません。サーバーがプライベートまたは内部CAを使用している場合は、カスタムCA証明書を提供する必要があります。 |
SQL Server | パイプラインは、よく知られた公開認証局を含む JVMのデフォルトのトラストストア を使用して接続します。SQL Serverが認定された公開認証局の証明書を使用している場合は、何もする必要はありません。サーバーがプライベートまたは内部CAを使用している場合は、カスタムCA証明書を提供する必要があります。 |
CA証明書を提供する
データベース サーバーがプライベート CA または内部 CA の証明書を使用している場合、または MySQL を使用している場合は、 Unity Catalog接続に CA 証明書を追加してください。
CA証明書を使用した接続を作成または更新する
- Databricks UI
- Databricks CLI
新しい接続を作成する際にCA証明書を追加するには:
- Databricksワークスペースで、 をクリックします。
カタログ
- 「作成」 をクリックし、 「接続の作成」 を選択します。
- 接続名 を入力し、データベースの 接続タイプ を選択してください。
- 次へ をクリックします。
- 認証 ページで、ホスト名、ポート番号、ログイン情報を入力します。
- SSL証明書 フィールドに、CA証明書ファイル(PEM形式)の内容を貼り付けてください。
- 接続の作成 をクリックします。
既存の接続を更新してCA証明書を追加するには:
- Databricksワークスペースで、 をクリックします。
カタログ
- カタログエクスプローラーで、接続先に移動します。
- [ 編集 ] をクリックします。
- SSL証明書 フィールドに、CA証明書ファイル(PEM形式)の内容を貼り付けてください。
- 変更を保存してください。
接続を作成する際に、 optionsオブジェクトに CA 証明書を含めてください。以下の例は、各コネクタにおけるCA証明書オプションを示しています。
MySQL:
databricks connections create --json '{
"name": "my_mysql_connection",
"connection_type": "MYSQL",
"options": {
"host": "<host>",
"port": "3306",
"user": "<username>",
"password": "<password>",
"ssl_ca": "<CA certificate content in PEM format>"
}
}'
PostgreSQL:
databricks connections create --json '{
"name": "my_postgresql_connection",
"connection_type": "POSTGRESQL",
"options": {
"host": "<host>",
"port": "5432",
"database": "<database>",
"user": "<username>",
"password": "<password>",
"ssl_ca": "<CA certificate content in PEM format>"
}
}'
SQL Server:
databricks connections create --json '{
"name": "my_sqlserver_connection",
"connection_type": "SQLSERVER",
"options": {
"host": "<host>",
"port": "1433",
"user": "<username>",
"password": "<password>",
"ssl_ca": "<CA certificate content in PEM format>"
}
}'
証明書の検証を無効にする(推奨しません)
証明書の検証を無効にすると、パイプラインが中間者 (PITM) 攻撃にさらされるため、本番運用環境では使用しないでください。 Databricksは、代わりにCA証明書を提供することを推奨しています。
お使いの環境が証明書の検証をサポートしていない場合は、認証局(CA)に対して検証することなくサーバー証明書を信頼するように接続を設定できます。接続オプションでtrustServerCertificateをtrueに設定してください。
- Databricks UI
- Databricks CLI
カタログエクスプローラーで接続を作成または編集する際に、 「サーバー証明書を信頼する」 を選択すると、証明書の検証がスキップされます。
databricks connections create --json '{
"name": "my_connection",
"connection_type": "POSTGRESQL",
"options": {
"host": "<host>",
"port": "5432",
"database": "<database>",
"user": "<username>",
"password": "<password>",
"trustServerCertificate": "true"
}
}'
HIPPAとFedRAMPのワークスペース
HIPPA または FedRAMP コンプライアンス構成を備えたワークスペースでは、 LakeFlow Connectすべてのデータベース コネクタ接続に対して TLS バージョン 1.2 または 1.3 を強制します。 この要件は無効にできません。
TLS証明書エラーのトラブルシューティング
TLS証明書エラーが原因でパイプラインが失敗した場合は、取り込みゲートウェイパイプラインのパイプラインイベントログを確認してください。イベントログには、証明書の検証失敗を含む接続エラーが記録され、問題の診断に役立つ詳細情報が含まれています。
一般的な原因と解決策:
エラー | 考えられる原因 | 解決方法 |
|---|---|---|
| サーバーのCA証明書がJVMのトラストストアに登録されておらず、カスタムCA証明書も提供されていません。 | Unity Catalog接続時にCA証明書を指定してください。 |
| サーバーはTLSをサポートしていないか、別のTLSバージョンを必要とします。 | データベースサーバーでTLSが有効になっていることを確認してください。HIPPA および FedRAMP ワークスペースでは、TLS 1.2 または 1.3 が必要です。 |
| CA証明書が提供されておらず、 | MySQLのCA証明書を提供してください。証明書を提供できない場合は、検証を無効にしてください。 |
コネクタ固有のトラブルシューティングについては、以下を参照してください。