DSEFS認証

DSEFSではセキュアなDataStax Enterpriseクラスターを使用できます。

DSEFSではセキュアなDataStax Enterpriseクラスターを使用できます。

セキュアなクラスターにおけるDSEFS認証

認証が必要になるのは、クラスターで認証が有効になっている場合のみです。セキュアなクラスター上のDSEFSにはDseAuthenticatorが必要です(「DSE Unified Authentication(DSE統合認証)の構成」を参照)。認証はデフォルトでオフになっています。

DSE Unified Authentication(DSE統合認証)によるDSEFS認証は、DSE Unified Authentication(DSE統合認証)とLDAPパススルー認証を組み合わせて使用した認証をサポートしています。DSEFSはKerberosを直接サポートしていませんが、ユーザーはDigest MD5認証プロトコルを使用してデリゲーション・トークンで認証することができます。デリゲーション・トークンは、SparkアプリケーションがKerberosで使用されるときに必ず生成され、Sparkアプリケーションはそのトークンを使用してDSEでDSEFSクライアントを認証するよう構成されています。

DSEFS認証は、DSEFSクライアントとDSEFSサーバー間の通信にのみ適用されます。

SparkシェルでhadoopConfigurationオブジェクトを使用した認証

Sparkシェルで以下のコマンドを実行します。
sc.hadoopConfiguration.set("com.datastax.bdp.fs.client.authentication", "basic")
sc.hadoopConfiguration.set("com.datastax.bdp.fs.client.authentication.basic.password", <pass>)
sc.hadoopConfiguration.set("com.datastax.bdp.fs.client.authentication.basic.username", <user>)

Sparkアプリケーション

Sparkアプリケーションでは、以下のいずれかの方法で認証情報を指定します。
  • dse spark-submitコマンドで設定します。
    dse -u username -p password spark-submit

    または、可能であればユーザー名とパスワードに相当する環境変数を使用します。

  • SparkContextが作成される前に、Spark構成オブジェクトでユーザー認証情報をプログラムで設定します。
    conf.set("spark.hadoop.com.datastax.bdp.fs.client.authentication.basic.username", <user>)
    conf.set("spark.hadoop.com.datastax.bdp.fs.client.authentication.basic.password", <pass>)

    Kerberos認証トークンを使用している場合は、コンテキスト・オブジェクトでプロパティを設定する必要はありません。トークンを明示的に設定する場合は、spark.hadoop.cassandra.auth.tokenを正しく設定します。

  • Sparkシェルを実行する場合は、SparkContextが起動時に作成されるため、Hadoop構成オブジェクトでプロパティを設定します。
    sc.hadoopConfiguration.set("com.datastax.bdp.fs.client.authentication", "basic")
    sc.hadoopConfiguration.set("com.datastax.bdp.fs.client.authentication.basic.username", <user>)
    sc.hadoopConfiguration.set("com.datastax.bdp.fs.client.authentication.basic.password", <pass>)
    spark.hadoopプレフィックスがないことに注意してください。
  • SparkアプリケーションまたはSparkシェルを実行する場合は、Hadoop XML構成ファイルでプロパティを指定します。たとえば、/usr/local/lib/dse/resources/hadoop2-client/conf/core-default.xmlの場合は、以下のように指定します。
    <property>
        <name>com.datastax.bdp.fs.client.authentication</name>
        <value>basic</value>
    </property>
    <property>
        <name>com.datastax.bdp.fs.client.authentication.basic.username</name>
        <value>username</value>
    </property>
    <property>
        <name>com.datastax.bdp.fs.client.authentication.basic.password</name>
        <value>password</value>
    </property>
    任意:この方法を使用するときにdse-core-default.xmlへの書き込み権限がない場合は、このファイルを任意の場所pathにコピーし、以下のように、そのファイルを指すように環境変数を設定します。
    export HADOOP2_CONF_DIR=path
dse.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/dse.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/dse/conf/dse.yaml
cassandra.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/cassandra/cassandra.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/cassandra/conf/cassandra.yaml