Secure Hadoop の構成(オプション)
    • PDF

    Secure Hadoop の構成(オプション)

    • PDF

    Article Summary

    VPC環境で利用できます。

    Kerberosは Hadoopクラスタと一緒に連携され、ユーザーおよびサービスに対する強力な認証を提供します。

    このガイドでは Secure Hadoop構成のために Cloud Hadoopにインストールされた認証システムの構成方法について説明します。

    参考

    Secure Hadoopを構成する前に、クラスタの Data Catalogサービス連携有無をご確認ください。クラスタが Data Catalogで外部の Hive Metastoreと連携された場合、クラスタに Kerberosを適用すると一部のサービスが正常に動作しない場合があります。

    構成

    クラスタ関係者はユーザーおよびグループ統合管理のみならず、Kerberosを通じたユーザー認証および権限管理まで Cloud Hadoopの細分化された認証構成が行えます。

    Multi-Master構成

    • サービスの連続性を維持するため、LDAPと Kerberosサービスの冗長化構成をデフォルトで Cloud Hadoopマスターノード2台にインストールして提供します。
    • マスターノードでは認証サービスのために slapd、krb5kdc、kadminデーモンを起動します。
    Master 1Master 2
    LDAP (slapd)LDAP (slapd)
    Kerberos (krb5kdc / kadmin)Kerberos (krb5kdc / kadmin)

    認証 Workflow

    Cloud Hadoopは Kerberosによって認証するように設計されています。Kerberosと LDAPシステム認証システムで構成されており、ユーザーとサービスがシステムで認証されている必要があります。

    chadoop-3-7-00_ko

    全ノードの Hadoopサービスは認証に使用する Kerberos principalを有します。サービスにはサーバに保存されたキータブ(keytab)ファイルがあり、キータブファイルには任意のパスワードが含まれています。サービスと相互作用するため、一般的にユーザーが kinit コマンドで Kerberosチケットを獲得します。

    Kerberosの principal

    Kerberosではユーザーを principalと呼びます。Hadoopリリース環境にはユーザー principalおよびサービス principalが存在します。ユーザー principalは一般的に Kerberos Distribute Center(KDC)に同期化されます。1つのユーザー principalは、実際のユーザー1人を意味します。サービス principalは各サーバのサービス別に異なるため、各サーバのサービス別に当該サービスを表す固有の principalが1つずつ存在します。

    キータブファイル

    キータブファイルには Kerberos principalとキーが含まれています。会話型ツールを使うかパスワードを入力する必要なく、ユーザーおよびサービスがキータブを使用して Hadoopサービスを認証できます。Hadoopでは各ノードのサービスごとにサービス principalが作成されます。これらの principalは Hadoopノードのキータブファイルに保存されます。

    Kerberizeの事前準備

    • ambari-serverを含むクラスタ内で実行中の全ノードに ambari-agentをご確認ください。
    • Ambariで管理する全ノード(マスターサーバ2台を除く)に krb5-workstationパッケージがインストールされています。以下の2. Configure KerberosAdvanced kerberos-env 設定ステップで必ず 「Install OS-specific Kerberos client package(s)」のチェックを外した後、Kerberizeを行います。
      chadoop-3-7-03-02-0_ko
    • Kerberize作業を行うには、クラスタ全体をシャットダウン(shutdown)します。可能な限りクラスタ運用の前に行います(推奨)。

    Ambari Kerberize設定

    Kerberos設定開始

    1. Ambari UIにアクセスした後、下の Cluster Admin > Kerberos を順にクリックします。
    2. [ENABLE KERBEROS] ボタンをクリックします。
      chadoop-3-7-02-01_ko
    3. アラームポップアップで内容を確認し、 [PROCEED ANYWAY] ボタンをクリックします。
      chadoop-3-7-02-02_ko

    Kerberos設定ウィザード

    1. Get Started

    What type of KDC do you plan on using? 項目で Existing MIT KDC を選択します。以下のように下のチェックボックス3つを全て選択し、[Next] ボタンをクリックします。
    chadoop-3-7-03-01_ko

    2. Configure Kerberos

    1. 以下の各項目を設定した後、 [Next] ボタンをクリックします。

    KDC

    • KDC hosts : KDCがインストールされている2台のマスターノードのホスト名(FQDN)をコンマ(,)区切りを使用して作成します。
    • Realm name : Cloud Hadoopインストール時にコンソールで設定した Realmを入力します。
    • Test KDC Connection ボタンをクリックしてアクセス可否をテストします。

    Kadmin

    • Kadmin host : 1つのマスターノードのホスト名(FQDN)のみ入力します。入力すべきマスターノードの FQDNが分からない場合は、マスターノードで kadmin -p admin/admin -q "listprincs"を入力した後、kadmin/FQDN@REALMの FQDNを入力します。
    • Admin principal : admin/adminを入力します。
    • Save Admin Credentials のチェックボックスを選択します。
      chadoop-3-7-03-02-01_ko
    注意

    Save Admin Credentials のチェックボックスを必ずクリックして選択します。選択しない場合、Cloud Hadoopサービスの使用時に制限される場合があります。

    Advanced kerberos-env

    • Install OS-specific Kerberos client package(s) 項目のチェックを外した後、Kerberizeを行います。
      chadoop-3-7-03-02-0_ko
    • Encryption Types項目を aes256-cts aes128-ctsに変更します。
    • Principal Attributes項目に +requires_preauthを追加します。
      chadoop-3-7-03-02-1_ko

    Advanced krb5.conf

    • Cloud Hadoop作成時に Kerberos情報を使用するように設定した場合は、必ず Manage Kerberos client krb5.conf のチェックボックスのチェックを外します。チェックボックスのチェックを外した後、[NEXT] ボタンをクリックします。
      chadoop-3-7-03-02-2_ko

    3. Install and Test Kerberos Client

    上の Kerberos構成タスクが完了すると、 Install Kerberos ClientTest Kerberos Client を自動で開始します。
    画面に Kerberos service has been installed and tested successfully メッセージが表示されると、インストールが完了します。インストールが完了したら、[Next] ボタンをクリックします。

    chadoop-3-7-03-03_ko

    参考

    Admin session expiration error が発生すると、以下のように入力してから [SAVE] ボタンをクリックします。

    • Admin principal : admin/admin
    • Admin password: クラスタ作成時に設定した KDC管理者アカウントのパスワード
    • Save Admin Credentials チェックボックスをクリック

    上のように入力してもエラーが継続して発生する場合、KDC管理者アカウントのパスワードを変更した履歴があるかご確認ください。

    4. Configure Identities

    サービスユーザーおよび Hadoopサービスの principal、キータブ位置を構成するステップです。
    Ambari Wizardで自動で追加される設定リストを確認した後、 [Next] ボタンをクリックします。
    chadoop-3-7-03-04_ko

    5. Confirm Configuration

    設定情報を確認し、 [Next] ボタンをクリックします。
    chadoop-3-7-03-05_ko

    6. Stop Services

    設定情報の確認が完了すると、クラスタのシャットダウンを自動で開始します。シャットダウンが完了したら、 [Next] ボタンをクリックします。
    chadoop-3-7-03-06_ko

    7. Kerberize Cluster

    合わせて7つのステップを順に行います。完了したら、 [Next] ボタンをクリックします。
    chadoop-3-7-03-07_ko

    8. Start and Test Services

    Hadoopサービス起動および確認ステップです。完了したら、 [Complete] ボタンをクリックします。
    chadoop-3-7-03-08_ko

    9. Admin - Kerberos Enabledの状態確認

    画面に Kerberos security is enabled メッセージが表示されている場合は、Kerberizeタスクが全て完了したクラスタです。
    chadoop-3-7-04-1_ko

    Kerberizeの適用確認

    Kerberizeが適用されているか確認するために Hadoop service principalを確認し、hadoop fs コマンドを実行してテストが行えます。
    以下の例は Cloud Hadoop作成時に Kerberos情報を使用して設定したことを前提にしています。 (ex. Realm : NAVERCORP.COM)

    1. 上の Ambari Kerberize設定が完了したら、kadmin -p admin/admin -q "listprincs" コマンドを使用して実行します。

      • Hadoopサービス principalが作成されていることが確認でき、hadoop fs コマンドを実行するとエラーが発生します。

      chadoop-3-7-05-02_ko

      参考

      Ambariで Kerberizeが適用されていない場合、マスターノードで kadmin -p admin/admin -q "listprincs" コマンドを実行すると以下のように表示されます。以下のように sshuser デフォルトアカウントで hadoop fs コマンドを実行すると、権限確認の過程を経ることなく結果値を確認できます。

      chadoop-3-7-05-01_ko

    2. kinit コマンドを使用して adminアカウントチケットを獲得した後、再度 hadoop fs コマンドを実行します。

      • 結果値が正常に表示されます。
      • kdestroy コマンドでチケットを削除した後、再度 hadoop fs コマンドを実行するとエラーが発生することが確認できます。

      chadoop-3-7-05-03_ko


    この記事は役に立ちましたか?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.