Kerberos とサービス プリンシパル名 (SPN)
適用対象: Azure Stack HCI、バージョン 23H2 および 22H2。Windows Server 2022、Windows Server 2019
この記事では、サービス プリンシパル名 (SPN) で Kerberos 認証を使用する方法について説明します。
ネットワーク コントローラーは、管理クライアントと通信するための複数の認証方法をサポートしています。 Kerberos ベースの認証 (X509 証明書ベースの認証) を使用できます。 テスト展開用に認証を使用しないオプションもあります。
System Center Virtual Machine Manager では、Kerberos ベースの認証を使用します。 Kerberos ベースの認証を使用している場合は、Active Directory でネットワーク コントローラー用の SPN を構成する必要があります。 SPN は、ネットワーク コントローラー サービス インスタンスの一意の識別子です。この識別子は、サービス インスタンスをサービス ログイン アカウントに関連付けるために Kerberos 認証で使用されます。 詳細については、「サービス プリンシパル名」を参照してください。
サービス プリンシパル名 (SPN) を構成する
SPN は、ネットワーク コントローラーによって自動的に構成されます。 必要なのは、SPN を登録および変更するためのアクセス許可をネットワーク コントローラー コンピューターに付与することだけです。
ドメイン コントローラー コンピューターで、 [Active Directory ユーザーとコンピューター] を開始します。
[表示]>[詳細設定] を選択します。
[コンピューター] で、いずれかのネットワーク コントローラー コンピューター アカウントを見つけて右クリックし、[プロパティ] を選択します。
[セキュリティ] タブを選択してから [詳細設定]をクリックします。
一覧で、すべてのネットワーク コントローラー コンピューター アカウントまたはすべてのネットワーク コントローラー コンピューター アカウントを持つセキュリティ グループが一覧にない場合は、[ 追加 ] をクリックして追加します。
ネットワーク コントローラー コンピューター アカウントごとに、またはネットワーク コントローラー コンピューター アカウントを含む単一のセキュリティ グループに対して、次の手順を行います。
アカウントまたはグループを選択し、[編集] をクリックします。
[アクセス許可] で [Write servicePrincipalName の検証] を選択します。
下にスクロールして、 [プロパティ] で次のものを選択します。
Read servicePrincipalName
Write servicePrincipalName
[OK] を 2 回クリックします。
ネットワーク コントローラー コンピューターごとに手順 3 から 6 を繰り返します。
[Active Directory ユーザーとコンピューター] を閉じます。
SPN 登録または変更のアクセス許可を提供できない
新しい Windows Server 2019 展開では、REST クライアント認証に Kerberos を選択し、ネットワーク コントローラー ノードが SPN を登録または変更することを承認しない場合、ネットワーク コントローラーでの REST 操作は失敗します。 これにより、SDN インフラストラクチャを効果的に管理できなくなります。
Windows Server 2016から Windows Server 2019 へのアップグレードで、REST クライアント認証に Kerberos を選択した場合、REST 操作はブロックされないため、既存の運用展開の透明性が確保されます。
SPN が登録されていない場合、REST クライアント認証では NTLM が使用されます。これは安全性が低くなります。 また、NetworkController-Framework イベント チャネルの管理チャネルでも、SPN を登録するためのアクセス許可をネットワーク コントローラー ノードに付与するように求める重大なイベントも発生します。 アクセス許可を与えると、ネットワーク コントローラーによって SPN が自動的に登録され、すべてのクライアント操作で Kerberos が使用されます。
ヒント
通常、REST ベースの操作に IP アドレスまたは DNS 名を使用するようにネットワーク コントローラーを構成できます。 ただし、Kerberos を構成するときに、ネットワーク コントローラーに対する REST クエリには IP アドレスを使用することはできません。 たとえば、<https://networkcontroller.consotso.com> は使用できますが、<https://192.34.21.3> は使用できません。 IP アドレスが使用されている場合、サービス プリンシパル名は機能しません。
Windows Server 2016 で Kerberos 認証と共に IP アドレスを REST 操作に使用していた場合、実際の通信では NTLM 認証が使用されていました。 このような展開では、Windows Server 2019 にアップグレードした後も引き続き NTLM ベースの認証が使用されます。 Kerberos ベースの認証に移行するには、REST 操作にネットワーク コントローラーの DNS 名を使用し、SPN を登録するためのアクセス許可をネットワーク コントローラー ノードに付与する必要があります。