すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:レルム間の相互信頼

最終更新日:Feb 25, 2025

このトピックでは、Kerberos クラスターのレルム間の相互信頼を実装する方法について説明します。これは、レルムをまたがる Kerberos クラスター間のアクセスに役立ちます。

手順

このトピックでは、Cluster-A クラスターから Cluster-B クラスターのサービスへのレルム間アクセスを実現するために、レルム間の相互信頼を実装します。アクセスは、レルム間の相互信頼が実装され、Cluster-A クラスターがキー配布センター (KDC) サーバーからチケット認可チケット (TGT) を取得した後にのみ実現できます。以下の手順では、レルム間の相互信頼は一方向アクセスに対してのみ実装されます。 Cluster-B クラスターから Cluster-A クラスターのサービスへのレルム間アクセスを実現するには、以下の手順を実行する際に 2 つのクラスターの構成を交換します。

手順 1:準備を行う

Cluster-A クラスターの Kerberos サービスページの [構成] タブで、[krb5.conf] サブタブをクリックし、kdc_hosts パラメーターと realm パラメーターの値を取得します。 これらの 2 つのパラメーターは、クラスターのホスト名とレルムを示します。Cluster-B クラスターに対して操作を繰り返します。 このトピックでは、ホスト名とレルムに関する以下の情報が取得されます。

  • Cluster-A:

    • ホスト名: master-1-1.1234.cn-hangzhou.emr.aliyuncs.com

    • レルム: EMR.1234.COM

  • Cluster-B:

    • ホスト名: master-1-1.6789.cn-hangzhou.emr.aliyuncs.com

    • レルム: EMR.6789.COM

手順 2:レルム間認証用のプリンシパルを作成する

  1. SSH モードで Cluster-A クラスターの master-1-1 ノードにログオンします。

  2. root ユーザーとして次のコマンドを実行し、Cluster-A のレルム間認証用のプリンシパルを作成します。

    kadmin.local -q "addprinc -pw 123456 krbtgt/EMR.6789.COM@EMR.1234.COM"

    コマンドのパラメーター:

    • 123456: 初期パスワード。カスタマイズできます。

    • EMR.1234.COM: Cluster-A クラスターのレルム。

    • EMR.6789.COM: Cluster-B クラスターのレルム。

  3. Cluster-B クラスターの master-1-1 ノードにログオンし、上記の手順を繰り返して Cluster-B のレルム間認証用のプリンシパルを作成します。

手順 3:krb5.conf ファイルを変更する

SSH モードで Cluster-A クラスター内のすべてのノードに順番に接続し、各ノードの /etc/krb5.conf ファイルを変更します。変更が完了したら、サービスを再起動する必要はありません。

  • other_realms

    EMR.C-BE49B6BBAEEA****.COM = {
      kdc = 192.168.xx.xx:88
      admin_server = 192.168.xx.xx:749
    }
  • domains

    .1234.cn-hangzhou.emr.aliyuncs.com = EMR.1234.COM
    .6789.cn-hangzhou.emr.aliyuncs.com = EMR.6789.COM
  • capaths

    EMR.1234.COM = {
       EMR.6789.COM = .
    }
    EMR.6789.COM = {
       EMR.1234.COM = .
    }
説明

Cluster-B クラスターへのアクセスを伴うジョブを Cluster-A クラスターで実行する場合は、Cluster-B クラスターの YARN を再起動します。

手順 4:Cluster-B クラスターのサービスにアクセスする

Cluster-A クラスターが KDC サーバーから TGT を取得した後、Cluster-A クラスターから Cluster-B クラスターのサービスにアクセスできます。

  1. テスト用のプリンシパルを作成し、チケットを生成します。

    kadmin.local -q  "addprinc -pw 123456 test"
    kinit test
  2. Cluster-A クラスターから Cluster-B クラスターの Hadoop 分散ファイルシステム (HDFS) サービスにアクセスします。

    hdfs dfs -ls hdfs://master-1-1.6789.cn-hangzhou.emr.aliyuncs.com:9000/