Spark接続のセキュリティ保護
Sparkアプリケーションとトランザクション・ノード間の通信、マスターとワーカー、Sparkドライバーとエグゼキューター間の相互通信は、暗号化できます。
Sparkアプリケーションとトランザクション・ノード間の通信、マスターとワーカー、Sparkドライバーとエグゼキューター間の相互通信は、暗号化できます。クラスター内のノードごとに暗号化を構成する必要があります。
SparkドライバーとDSE間の暗号化を構成するには、cassandra.yamlでクライアントの暗号化を有効にします。
Sparkマスターとワーカー間を含むSparkノード間の暗号化を構成するには、dse.yamlでSparkセキュリティを有効にします。
クライアント・アプリケーションのSparkドライバーとエグゼキューター間の暗号化を構成するには、アプリケーションの構成プロパティでSparkセキュリティを有効にするか、Spark構成ディレクトリーのspark-defaults.confでデフォルトで構成されます。
Spark構成ファイルのデフォルトの場所は、インストールのタイプによって異なります。
- パッケージ・インストールおよびInstaller-Services:/etc/dse/spark/
- tarボール・インストールおよびInstaller-No Services:installation_location/resources/spark/conf
dse.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストールInstaller-Servicesインストール |
/etc/dse/dse.yaml |
tarボール・インストールInstaller-No Servicesインストール |
installation_location/resources/dse/conf/dse.yaml |
手順
-
dse.yamlでSparkマスター・ノードとワーカー・ノード間の相互認証および暗号化を有効にします。
-
相互認証を有効にするには、
spark_security_enabled
をtrue
に設定します。 -
暗号化を有効にするには、
spark_security_encryption_enabled
をtrue
に設定します。
spark_security_enabled: true spark_security_encryption_enabled: true
注: 暗号化を有効にするには、相互認証も有効にする必要があります。 -
相互認証を有効にするには、
- Sparkドライバーとマスター間の通信を暗号化するため、DSEはクライアントとクラスター間の接続暗号化オプションを継承します。
-
Spark Web UIは、デフォルトでクライアントとクラスター間の暗号化設定を使用して、WebインターフェイスのSSLセキュリティを有効にします。DSEのクライアントとクラスター間の暗号化とは別にSSLセキュリティを有効にするには、dse.yamlの
spark_ui_options
の下の設定を変更します。encryption
をcustom
に設定してから、encryption_options
でキーストア設定を設定します。 - 変更を認識させるため、ノードを再起動します。
-
Sparkアプリケーションごとに、以下のクライアントの暗号化オプションをtrueに設定して、Sparkドライバーとエグゼキューター間の暗号化を有効にします。デフォルトですべてのSparkアプリケーションの暗号化を有効にするには、Spark構成ディレクトリーのspark-defaults.confファイルのオプションを変更します。
オプション 説明 spark.authenticate
秘密鍵を使用して相互認証を有効または無効にします。デフォルトはfalseです。 spark.authenticate.enableSaslEncryption
Sparkドライバーとそのエグゼキューター間のSASL暗号化を有効または無効にします。デフォルトはfalseです。