PowerScale:OneFS:SmartConnect DNSエントリーを使用してKerberos認証を許可するSPNアカウントを作成する方法
Summary: SmartConnect DNSエントリーを使用してKerberos認証を許可するSPNアカウントを作成する方法に関する記事。
Instructions
概要
Active Directoryベースの環境でユーザー名とパスワードを入力せずに名前でクラスターに接続するには、Kerberos認証を使用する必要があります。
Kerberos認証を使用してクラスターにアクセスする場合、クライアントはクラスターでKerberosチケットを確立します。これは、クライアントが接続に使用しているDNS名に基づいています。デフォルトでは、クラスターは有効なKerberosチケットのクラスター名のみを登録します。これにより、SmartConnectベースのDNSエントリーを使用して接続する際に、Kerberosチケットが拒否される可能性があります。また、クラスターにアクセスするために、ユーザーがユーザー名とパスワードの再入力を求められる場合もあります。
手順
複数のKerberosチケットをサポートするには、Active Directoryドメイン上のクラスター コンピューターに追加のSPN(サービス プリンシパル名)アカウントを登録する必要があります。これを行うには、 isi auth コマンドを使用します。Active Directoryドメインの管理者アカウントが必要なため、この操作は自動的には実行されません。
DNS名ごとに、2つのSPNエントリーを作成する必要があります。
SPN アカウントを登録するには:
- コマンド ラインから次のコマンドを実行して、クラスターで構成されているSmartConnectゾーンを一覧表示します。
isi networks list pools - 次のコマンドを実行して、登録されているSPN名を一覧表示します。 <DNS domain> は、DNSドメインの完全修飾ドメイン名に置き換えます。
isi auth ads spn list --domain=<DNS domain> - SmartConnectゾーンのリストとSPN名のリストを比較して、どのSPNアカウントを登録する必要があるかを判断します。
たとえば、dnsnl.domain.localという名前のSmartConnectゾーンがある場合は、SPNリストをチェックして、そのDNS名のエントリーがあるかどうかを確認します。Active Directory ドメインに登録されている SPN アカウントごとに 2 つのエントリが必要です
- 必要なSPNアカウント エントリーが存在しない場合は、次のコマンドを実行して追加します。ここで <Administrator> はドメインに対する管理者権限を持つユーザー アカウント、 <cluster.domain.local> はクラスターへの接続に使用されるDNS名、 <domain name> は完全修飾ドメイン名サーバーです。
isi auth ads spn create --user=<Administrator> --spn=cifs/<cluster.domain.local> --domain=<domain name> isi auth ads spn create --user=<Administrator> --spn=host/<cluster.domain.local> --domain=<domain name>重要!
SPNを追加するときは、AD管理者ユーザー名を指定する必要があります。これを怠ると、次のエラーが表示されます。LdapError: 属性[19]の変更に失敗しました
コマンドを実行すると、管理者パスワードの入力を求めるプロンプトが表示されます。
- 次のコマンドを実行して、作成したSPNアカウントが一覧表示されていることを確認します。
isi auth ads spn list --domain=<DNS domain>
Additional Information
追加情報
isi authコマンドを使用して、既存のSPNアカウントを削除することもできます。
SPNアカウントを削除するには、次のコマンドを実行します。 <Administrator> をドメインの管理者権限を持つユーザー アカウントに置き換え、 <cluster.domain.local> をDNS名と削除する名前に置き換えます。
isi auth ads spn delete --user=<Administrator> --spn=cifs/<cluster.domain.local>
isi auth ads spn delete --user=<Administrator> --spn=host/<cluster.domain.local>