このトピックでは、Kerberos の構成ファイルについて説明します。 また、キー配布センター (KDC) サーバーによって提供されるツールを使用してサーバー上のプリンシパルとキータブを管理する方法と、クライアントでコマンドを実行してチケットを管理する方法についても説明します。
前提条件
Kerberos 認証が有効になっているクラスターが作成されていること。 詳細については、「クラスターの作成」をご参照ください。
クラスターにログオンしていること。 詳細については、「クラスターへのログオン」をご参照ください。
構成ファイル
krb5.conf: クライアント側の Kerberos の構成ファイル。
krb5.conf は、KDC サーバーが構成されている場所、レルムの名前、ホスト名からレルムへのマッピングなど、さまざまな設定を構成するために使用されます。 krb5.conf は、各 E-MapReduce (EMR) ノードの /etc/krb5.conf ディレクトリに保存されます。
kdc.conf: サーバー側の Kerberos の構成ファイル。
kdc.conf は、krb5kdc、kadmind、kdb5_util などの KDC 関連サービスを構成するために使用されます。 krb5.conf は、KDC サーバーが存在する EMR ノードの /var/kerberos/krb5kdc/kdc.conf ディレクトリに保存されます。
EMR ノードで krb5.conf または kdc.conf を直接変更することはできません。 これら 2 つの構成ファイルの設定を変更するには、EMR コンソールにログオンし、Kerberos サービスページの [構成] タブに移動します。 設定の一部のみを変更できます。
基本操作
サーバー側の操作
kadmin CLI を開く
KDC サーバーが存在する master-1-1 ノードに root ユーザーとしてログオンしている場合は、次のコマンドを実行して kadmin.local CLI を開きます。
kadmin.localmaster-1-1 ノード以外のノードにログオンする場合、またはゲートウェイを使用する場合は、次のコマンドを実行して kadmin CLI を開きます。 <admin-user> および <admin-password> は実際の値に置き換えます。
kadmin -p <admin-user> -w <admin-password>説明EMR によって提供される KDC サーバーを使用する場合は、次の手順に基づいて上記のコマンドのパラメーターを構成します。
<admin-user>: 値をroot/adminに設定します。<admin-password>: admin アカウントのパスワードを取得するには、EMR コンソールにログオンし、Kerberos サービスページの [構成] タブに移動して、[admin_pwd] パラメーターの値をコピーします。
プリンシパルの管理
プリンシパルとは、Kerberos システム内で Kerberos がチケットを割り当てることができる一意の ID です。
プリンシパルを作成する
addprinc -pw <principal-password> <principal-name>上記のコマンドのパラメーター:
<principal-password>: プリンシパルのパスワード。<principal-name>: プリンシパルの名前。 プリンシパルがサービスを表す場合、プリンシパル名は xxx/hostname@realm 形式です。 プリンシパルがユーザーを表す場合、プリンシパル名は username@realm 形式です。
プリンシパルを削除する
delprinc <principal-name>プリンシパルのパスワードを変更する
change_password <principal-name>すべてのプリンシパルを表示する
listprincs
キータブの管理
キータブには、1 つ以上のプリンシパルのキーが格納されます。 キーを使用してチケットを取得できます。 キータブファイルをエクスポートするには、次のコマンドを実行します。
ktadd -k <keytab-path> <principal-name>上記のコマンドのパラメーター:
<keytab-path>: キータブファイルの保存パス。<principal-name>: プリンシパルの名前。
警告EMR クラスターの各サービスは、spark/hostname@realm など、独自のプリンシパルと、サービス内での認証と承認のための関連キータブファイルを保持しています。 このタイプのプリンシパルに関連するキータブファイルを変更またはエクスポートすると、元のキータブファイルが無効になり、サービスの通常の動作に影響します。 したがって、このタイプのプリンシパルを変更したり、関連するキータブファイルのエクスポートを無効にしたりしないでください。
クライアント側の操作
チケットは Kerberos システムの重要な部分です。 チケットは、認証に使用される資格情報です。 次のコマンドを実行して、1 つ以上のチケットを管理できます。
チケットを作成する
kinit -kt <keytab-path> <principal-name>すべてのチケットを表示する
klistすべてのチケットを破棄する
kdestroy
参照
Kerberos とその仕組みの詳細については、「概要」をご参照ください。