PowerScale:OneFS:Kerberos認証のサービス プリンシパル名
Summary: この記事では、サービス プリンシパル名と、PowerScaleクラスター用にサービス プリンシパル名を作成または追加する方法について説明します。
Symptoms
概要
サービス プリンシパル名(SPN)は、クライアントがサービス インスタンスを一意に識別するための名前です。SPNは、Active Directory環境内のコンピューター上にある複数のサービス インスタンスについても一意です。認証目的でクライアントが複数の名前を使用する場合、サービス インスタンスには複数のSPNが割り当てられます。これには、DNS内のSmartConnectゾーン名またはエイリアスごとに1つの一意のSPNが含まれます。詳細については、Microsoft Developer Network Centerの「サービス プリンシパル名」の記事を参照してください。
非Active Directory環境でのNFS Kerberos
OneFSは、非Active Directory認証サーバー(MITやHEIMDALなど)を使用してNFS Kerberosを自動的にセットアップおよび構成しません。これには、次の記事に記載されている非Active Directory環境に対して別の手動構成が必要です。「OneFS:Active Directory以外の環境でNFSでKerberosを使用するようにIsilon Clusterを設定する方法(KB記事16584.
KerberosとActive Directory環境
Active Directoryベースの環境でユーザー名とパスワードを入力せずに名前でクラスターに接続するには、Kerberos認証を使用する必要があります。
Kerberosを使用してクラスターにアクセスする場合、クライアントは、接続に使用しているDNS名に基づいて、クラスターとのKerberosチケットを確立します。ADドメインに参加すると、クラスターはSmartConnectゾーン名またはエイリアスを、ドメイン上のクラスター マシン アカウントで構成されたSPNとして登録します。クラスターをドメインに参加させた後に作成された追加のSmartConnectゾーン名またはエイリアスには、SPNを手動で追加する必要があります。これは、DNS名と短い名前の両方に当てはまります。
また、新しいSmartConnectゾーン名またはエイリアスごとに、DNSサーバーに委任レコードが存在する必要があります
SPNは、Active Directoryフォレスト全体で 一意 である必要があります。重複するSPNまたはマシン アカウントが存在する場合、認証が失敗する可能性があります。「OneFS:Active Directoryで重複するサービス プリンシパル名(SPN)を見つける方法」https://www.dell.com/dci/fp/session/authorize?client_id=3a4eea6a-4a4e-4f2e-be4a-adc5d51a357a&redirect_uri=https%3A%2F%2Fwww.dell.com%2Fsupport%2Fkbdoc%2Fen-us%2F000032723
クラスターを複数のADドメインに参加させているときに、参加時に既存のSmartConnectゾーンによって各ADプロバイダーのSPNが追加されます。これにより、2つのドメイン間で重複SPNが登録される可能性があります。これにより、2つのドメインがクロスレルム方式でクラスターに接続するクライアントと双方向の信頼(Microsoftの信頼関係)を共有している場合に問題が発生します(FQDN SPNの場合)。ドメインBを使用してクラスター上のアクセス ゾーンにアクセスするドメインAのクライアントが、誤ったマシン アカウントを使用してチケットを暗号化するため、「KRB5KRB_AP_ERR_MODIFIED」エラーが発生します
登録済みのSPNを表示するには、次の手順を実行します
OneFS 6.5以前のバージョン:
# isi auth ads spn list
OneFS 7.0以降のバージョン:
# isi auth ads spn list --domain=<FullyQualifiedDomainName>
出力は次の例のようになります。
# isi auth ads spn list --domain=MY.DOMAIN.COM
SPNs registered for isicluster$:
HOST/isicluster
HOST/isicluster.MY.DOMAIN.COM
SPNが見つからない場合の症状
- OneFSは、Active Directoryに接続したときにSPNが見つからない場合に、次のようなイベント/アラートを作成します(KB 502666)。
Recurring: AD server missing needed SPN(s) HOST/isicluster, HOST/isicluster.isilon.com; try 'isi auth ads spn check' AD server missing needed SPN(s) HOST/zonecifs.isilon.com, HOST/zonemgmt.isilon.com, HOST/nfs.isilon.com; try 'isi auth ads spn check'
- SmartConnectゾーン名または短い名前によるクラスターへの認証は失敗しますが、IPを使用した接続は機能します。
- ドメイン コントローラーへのNTLM認証リクエストの量が多くなります。
Cause
欠落しているSPNを見つけるには、次の手順を実行します。
OneFS 6.0以前のバージョン:
クラスター上のSmartConnectゾーンを一覧表示します。
# isi networks list pools
次に、登録済みのSPNのリストと比較します。
# isi auth ads spn list.
SPNs registered for isicluster$:
HOST/isicluster
HOST/isicluster.MY.DOMAIN.CORP
OneFS 6.5バージョン:
# isi auth ads spn check
OneFS 7.xバージョン:
# isi auth ads spn check --domain=<FQDN>
OneFS 8.x以降のバージョン:
# isi auth ads spn check --provider-name
or
# isi auth ads spn check <provider-name>
メモ: OneFSでは、複数のドメインとアクセス ゾーンを構成できます。このコマンドは、クラスターに参加しているドメインごとに実行する必要がある場合があります。一部の以前のバージョンでは大文字と小文字が区別されるため、ドメインを大文字にすることをお勧めします。信頼できるドメインを持つ複数のアクセス ゾーンも、重複するSPNの問題を引き起こす可能性があります。信頼できるドメインを持つ複数のアクセス ゾーンに関するサポートについては、サポートにお問い合わせください。
Resolution
SPNを作成または追加するには、ドメインの管理者権限を持つユーザー アカウントが必要です。
重要!
ユーザーは、SPNを追加するときにAD管理者ユーザー名を指定する必要があります。これを怠ると、次のエラーが表示されます。
LdapError: Failed to modify attribute[19]
ユーザー名自体を修飾しない(ドメイン指定なし)のみを使用します
OneFS 6.5以降のバージョンで修復オプションを使用して欠落しているSPNを追加するには、次の手順を実行します
OneFS 6.5バージョン:
# isi auth ads spn check --repair --user=<domainadmin>
OneFS 7.x:
# isi auth ads spn check --repair --user=<domainadmin> --domain=<FQDN>
OneFS 8.x:
# isi auth ads spn fix <providername> --user=<admin user of AD>
メモ: OneFSでは、複数のドメインとアクセス ゾーンを構成できます。複数のアクセス ゾーンと信頼できるドメインで修復オプションを使用すると、SPNが重複する可能性があります。SPNは「isi auth ads spn create」 コマンドを使用して作成することをお勧めします
警告: お客様の環境によっては、同じSmartConnectゾーン名を使用する複数のクラスターが含まれる場合があります。これらは、クラスター間でSPNを追加/削除するためのフェールオーバーの自動化と、フェールオーバーを目的としたDNSの変更に依存する場合があります。修正/修復コマンドを実行すると、認証の問題が発生する可能性があります。実行する場合は、慎重に使用してください。Isilonでは、代わりにSPNごとに必要なSPNのみを追加することをお勧めします。
OneFS 6.5以降のバージョンで単一のSPNを追加するには、次の手順を実行します
OneFS 6.5バージョン:
# isi auth ads spn create --spn=<service>/<DNS name> --user=<domainadmin>
OneFS 7.x:
# isi auth ads spn create --spn=<service>/<DNS name> --user=<domainadmin> --domain=<FQDN>
OneFS 8.x:
# isi auth ads spn create <providername> --spn=<service>/<DNS name> --user=<admin user of AD>
注:必要に応じて、「見つからないSPN」リスト以上のSPNを追加できます(CNAMEが使用されている場合など)。
Additional Information
関連記事:
"サービス プリンシパル名(SPN)が正しくないか欠落している場合、認証サービスが失敗する可能性があります」、 89649
「OneFS: SmartConnect DNSエントリーを使用してKerberos認証を許可するSPNアカウントを作成する方法」、16528
「Microsoft Active Directory環境でSPNリストを表示する方法」、16589
「SQLクライアントでIsilonクラスターからSQLデータベースにファイルを「一括挿入」できない」、89574
「OneFS 5.5.x - 6.5.xでActive Directory対応CIFS共有へのMac OS Xシングル サインオン(SSO)を有効にする方法(英語)」「16675
「Isilon OneFS 7.1.0.0: SMB2クライアントがKerberos認証を使用してクラスターに接続できない」、 174024
"OneFS: How to find duplicate Service Principal Names (SPNs) in Active Directory ( 186215.
)」OneFS: Active Directory以外の環境でNFSでKerberosを使用するようにIsilon Clusterを設定する方法(
英語)」OneFS: AD server missing needed SPNs alert」というエラーが表示される」という502666