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

手順

  1. dse.yamlでSparkマスター・ノードとワーカー・ノード間の相互認証および暗号化を有効にします。
    1. 相互認証を有効にするには、spark_security_enabledtrueに設定します。
    2. 暗号化を有効にするには、spark_security_encryption_enabledtrueに設定します。
    spark_security_enabled: true
    spark_security_encryption_enabled: true
    
    注: 暗号化を有効にするには、相互認証も有効にする必要があります。
  2. Sparkドライバーとマスター間の通信を暗号化するため、DSEはクライアントとクラスター間の接続暗号化オプションを継承します。
  3. Spark Web UIは、デフォルトでクライアントとクラスター間の暗号化設定を使用して、WebインターフェイスのSSLセキュリティを有効にします。DSEのクライアントとクラスター間の暗号化とは別にSSLセキュリティを有効にするには、dse.yamlspark_ui_optionsの下の設定を変更します。encryptioncustomに設定してから、encryption_optionsでキーストア設定を設定します。
  4. 変更を認識させるため、ノードを再起動します。
  5. Sparkアプリケーションごとに、以下のクライアントの暗号化オプションをtrueに設定して、Sparkドライバーとエグゼキューター間の暗号化を有効にします。デフォルトですべてのSparkアプリケーションの暗号化を有効にするには、Spark構成ディレクトリーのspark-defaults.confファイルのオプションを変更します。
    オプション 説明
    spark.authenticate 秘密鍵を使用して相互認証を有効または無効にします。デフォルトはfalseです。
    spark.authenticate.enableSaslEncryption Sparkドライバーとそのエグゼキューター間のSASL暗号化を有効または無効にします。デフォルトはfalseです。