Kerberosのサポート - Access Module

Teradata® Tools and Utilities Access Moduleリファレンス

Product
Access Module
Release Number
17.10
Published
2021年10月
Language
日本語
Last Update
2021-11-16
dita:mapPath
ja-JP/uur1608578381725.ditamap
dita:ditavalPath
ja-JP/obe1474387269547.ditaval
dita:id
B035-2425
Product Category
Teradata Tools and Utilities

Teradata Access Module for Kafkaを使用すると、Kerberized Kafkaクラスタに対してデータのエクスポートおよびデータのインポートを行なうことができます。

例 – UnixプラットフォームでAccessModuleKafkaを使用した、Kerberized Kafkaクラスタとのやり取り

  1. Kerberosドメインに、Zookeeperサーバー、Kafkaサーバー、およびKafkaクライアント マシンを追加します。
  2. ZOOKEEPER_HOST、KAFKA_HOST、およびCLIENT_HOSTを、ホストとADの両方のユーザーとして追加します。

    ADユーザーとして、上記のマシンにrootまたはよく使用されるユーザーを追加します。

  3. Zookeeperサーバー、Kafkaサーバー、およびKafkaクライアントのSPNを追加します。
    setspn -S zookeeper/${ZOOKEEPER_HOST_FQDN}@${REALM} ${ZOOKEEPER_HOST}
    setspn -S kafka/${KAFKA_HOST_FQDN}@${REALM} ${KAFKA_HOST}
    setspn -S ${CLIENT_NAME}/${CLIENT_HOST_FQDN}@${REALM} ${CLIENT_HOST}
  4. キータブ ファイルを生成します。
    ktpass -princ zookeeper/${ZOOKEEPER_HOST_FQDN}@${REALM} -mapuser ${ZOOKEEPER_HOST} 
    -pass ${PASSWORD} -mapOp set -ptype KRB5_NT_PRINCIPAL -out zookeeper.keytab
    
    ktpass -princ kafka/${KAFKA_HOST_FQDN}@${REALM} -mapuser ${KAFKA_HOST} 
    -pass ${PASSWORD} -mapOp set -ptype KRB5_NT_PRINCIPAL -out kafkaserver.keytab
    
    ktpass -princ ${CLIENT_NAME}/${CLIENT_HOST_FQDN}@${REALM} -mapuser ${CLIENT_HOST} 
    -pass ${PASSWORD} -mapOp set -ptype KRB5_NT_PRINCIPAL -out ${CLIENT_HOST}.keytab
    説明:
    • REALM – Kerberosレルム
    • CLIENT_NAME – クライアント名(例: "kafkaclient")
    • ZOOKEEPER_HOST – Zookeeperサーバーが実行されるマシンの名前
    • KAFKA_HOST – Kafkaサーバーが実行されるマシンの名前
    • CLIENT_HOST – クライアント アプリケーションが実行されるクライアントのホスト名
    • ZOOKEEPER_HOST_FQDN – Zookeeperサーバーの完全修飾ドメイン名
    • KAFKA_HOST_FQDN – Kafkaサーバーの完全修飾ドメイン名
    • CLIENT_HOST_FQDN – クライアントの完全修飾ドメイン名
  5. 次を実行します。
    1. キータブ ファイルを対応するマシンの/etc/security/keytabsにコピーします。
    2. zookeeper_server_jaas.confファイル内のzookeeperキータブ ファイルの場所を更新します。
    3. kafka_server_jaas.confファイル内のkafkaserverキータブ ファイルの場所を更新します。
    4. ZookeeperサーバーとKafkaサーバーを起動します。
  6. 初期化文字列に次のパラメータを含めます。
    • -B HOST@REALM:<<portno>>
    • -X security.protocol=SASL_PLAINTEXT
    • -X sasl.kerberos.keytab=/etc/security/keytabs/${CLIENT_HOST}.keytab
    • -X sasl.kerberos.principal=${CLIENT_NAME}/${CLIENT_HOST_FQDN}
    プロデューサ ジョブの例:
    AccessModuleInitStr = '-M P -T <<topic-name>> -B HOST@REALM:<<portno>> -P 0 -X security.protocol=SASL_PLAINTEXT 
    -X sasl.kerberos.keytab=/etc/security/keytabs/CLIENT_HOST.keytab  
    -X sasl.kerberos.principal=CLIENT_NAME/CLIENT_HOST_FQDN'
    コンシューマ ジョブの例:
    AccessModuleInitStr = '-M C -T <<topic-name>> -B HOST@REALM:<<portno>> -P 0 -X security.protocol=SASL_PLAINTEXT  
    -X sasl.kerberos.keytab=/etc/security/keytabs/CLIENT_HOST.keytab 
    -X sasl.kerberos.principal=CLIENT_NAME/CLIENT_HOST_FQDN'

例 – WindowsプラットフォームでAccessModuleKafkaを使用した、Kerberized Kafkaクラスタとのやり取り

  1. Kerberosドメインに、Zookeeperサーバー、Kafkaサーバー、およびKafkaクライアント マシンを追加します。
  2. ZookeeperサーバーとKafkaサーバー(つまり、"Zookeeper"と"Kafka")用のADユーザーを作成します。
  3. ZookeeperサーバーとKafkaサーバーのSPNを追加します。
    SETSPN -S zookeeper/HOST@REALM DOMAIN\<<AD Zookeeper Username>>
    SETSPN -S zookeeper/HOST_FQDN@REALM DOMAIN\<<AD Zookeeper Username>>
    
    SETSPN -S kafka/HOST@REALM DOMAIN\<<AD Kafka Username>>
    SETSPN -S kafka/HOST_FQDN@REALM DOMAIN\<<AD Kafka Username>>
  4. キータブ ファイルを生成します。
    ktpass -princ zookeeper/HOST@REALM -mapuser DOMAIN\<<AD Zookeeper Username>> -crypto RC4-HMAC-NT 
    -ptype KRB5_NT_PRINCIPAL -pass ${PASSWORD} -out C:\keytabs\zookeeper.keytab
    ktpass -princ zookeeper/HOST_FQDN@REALM -mapuser DOMAIN\<<AD Zookeeper Username>> -crypto RC4-HMAC-NT 
    -ptype KRB5_NT_PRINCIPAL -pass ${PASSWORD} -in C:\keytabs\zookeeper.ktab -out C:\keytabs\zookeeper.keytab
    
    ktpass -princ kafka/HOST@REALM -mapuser DOMAIN\<<AD Kafka Username>> -crypto RC4-HMAC-NT 
    -ptype KRB5_NT_PRINCIPAL -pass ${PASSWORD} -out C:\keytabs\kafka.keytab
    ktpass -princ kafka/HOST_FQDN@REALM -mapuser DOMAIN\<<AD Kafka Username>> -crypto RC4-HMAC-NT 
    -ptype KRB5_NT_PRINCIPAL -pass ${PASSWORD} -in C:\keytabs\kafka.ktab -out C:\keytabs\kafka.keytab
  5. 次を実行します。
    1. キータブ ファイルを対応するマシンにコピーします。
    2. zookeeper_server_jaas.confファイル内のZookeeperキータブ ファイルの場所を更新します。
    3. kafka_server_jaas.confファイル内のkafkaserverキータブ ファイルの場所を更新します。
    4. ZookeeperサーバーとKafkaサーバーを起動します。
  6. 初期化文字列に以下のパラメータを含めます。
    • -B HOST@REALM:<<portno>>
    • -X security.protocol=SASL_PLAINTEXT
    • -X sasl.kerberos.principle=kafka/HOST_FQDN@REALM
    • -X sasl.kerberos.service.name=kafka
    プロデューサ ジョブの例:
    AccessModuleInitStr = '-M P -T <<topic-name>> -B HOST@REALM:<<portno>> -P 0 -X
    security.protocol=SASL_PLAINTEXT
    -X sasl.kerberos.service.name=kafka -X sasl.kerberos.principal=kafka/HOST_FQDN@REALM'
    Example consumer job:
    AccessModuleInitStr = '-M C -T <<topic-name>> -B HOST@REALM:<<portno>> -P 0 -X
    security.protocol=SASL_PLAINTEXT
    -X sasl.kerberos.service.name=kafka -X sasl.kerberos.principal=kafka/HOST_FQDN@REALM'