ユーザーの管理

最終公開日 : Oct 07, 2026
ユーザー、グループ、ロール、および権限を定義することで、XenServer® ホストとプールに誰がアクセスできるか、および実行できるアクションを制御できます。
XenServer を初めてインストールすると、ユーザーアカウントが XenServer に自動的に追加されます。このアカウントは、XenServer がローカルで認証するローカルスーパーユーザー (LSU) または root です。
LSU または root は、システム管理を目的とした特別なユーザーアカウントであり、すべての権限を持っています。XenServer では、LSU はインストール時のデフォルトアカウントです。XenServer は LSU アカウントを認証します。LSU は外部認証サービスを必要としません。外部認証サービスが失敗した場合でも、LSU はログインしてシステムを管理できます。LSU は常に SSH を介して XenServer 物理サーバーにアクセスできます。
XenCenter の タブまたは xe CLI を介して Active Directory アカウントを追加することで、さらにユーザーを作成できます。環境で Active Directory を使用しない場合、LSU アカウントに限定されます。
注:
ユーザーを作成すると、XenServer は、新しく作成されたユーザーアカウントに RBAC ロールを自動的に割り当てません。したがって、これらのアカウントには、ロールを割り当てるまで XenServer プールへのアクセス権がありません。
これらの権限は、Active Directory (AD) を使用したユーザー認証 セクションで説明されているように、ロールを介して付与されます。

Active Directory (AD) を使用してユーザーを認証する

ホストまたはプールに複数のユーザーアカウントを持たせたい場合、認証には Active Directory ユーザーアカウントを使用する必要があります。AD アカウントを使用すると、XenServer ユーザーは Windows ドメイン資格情報を使用してプールにログオンできます。
注:
AD ドメインコントローラーで LDAP チャネルバインディングと LDAP 署名を有効にできます。詳細については、Microsoft Security Advisory ADV190023 を参照してください。
Active Directory 認証を有効にし、ユーザーアカウントを追加し、それらのアカウントにロールを割り当てることで、特定のユーザーに対してさまざまなレベルのアクセスを構成できます。
Active Directory ユーザーは、xe CLI (適切な -u および -pw 引数を渡す) を使用でき、XenCenter を使用してホストに接続することもできます。認証はリソースプールごとに実行されます。
サブジェクト はユーザーアカウントへのアクセスを制御します。XenServer のサブジェクトは、Active Directory サーバー上のエンティティ (ユーザーまたはグループ) にマッピングされます。外部認証を有効にすると、XenServer はセッションの作成に使用された資格情報をローカルの root 資格情報と照合し、次にサブジェクトリストと照合します。アクセスを許可するには、アクセスを許可するユーザーまたはグループのサブジェクトエントリを作成します。XenCenter または xe CLI を使用してサブジェクトエントリを作成できます。
XenCenter に慣れている方は、xe CLI が Active Directory およびユーザーアカウント機能を参照するためにわずかに異なる用語を使用していることに注意してください。
XenCenter の用語 xe CLI の用語
ユーザー、ユーザーの追加 サブジェクト、サブジェクトの追加
XenServer は Linux ベースですが、XenServer では Active Directory アカウントを XenServer ユーザーアカウントとして使用できます。そのため、Active Directory の資格情報を Active Directory ドメインコントローラーに渡します。
Active Directory を XenServer に追加すると、Active Directory のユーザーとグループは XenServer のサブジェクトになります。これらのサブジェクトは XenCenter ではユーザーと呼ばれます。ユーザー/グループは、サブジェクトを XenServer に登録する際に、ログオン時に Active Directory を使用して認証されます。ユーザーとグループは、ドメイン名を使用してユーザー名を修飾する必要はありません。
XenServer ホストにログオンするには、Active Directory ユーザーは、XenServer のマシンアカウントをホストするコンピューターにログオンするためのドメインレベルの権限を持っている必要があります。デフォルトでは、Windows Server 2019 ドメインでは、すべてのユーザーがドメイン内の任意のコンピューターにログオンすることを許可されています。ただし、この設定を変更した場合は、XenServer ホストへのアクセスを許可したいユーザーがドメインレベルでログオンすることを許可されていることを確認してください。
ユーザー名を修飾するには、ユーザー名を Down-Level log on Name 形式で入力する必要があります。例: mydomain\myuser。
注記:
デフォルトでは、ユーザー名を修飾しなかった場合、XenCenter は参加しているドメインを使用して AD 認証サーバーにユーザーをログインしようとします。この例外は LSU アカウントで、XenCenter は常に最初にローカル (つまり XenServer 上) で認証します。
外部認証プロセスは次のように機能します。
  1. ホストへの接続時に提供された資格情報は、認証のために Active Directory ドメインコントローラーに渡されます。
  2. ドメインコントローラーは資格情報を確認します。資格情報が無効な場合、認証は直ちに失敗します。
  3. 資格情報が有効な場合、Active Directory コントローラーにクエリが実行され、資格情報に関連付けられたサブジェクト識別子とグループメンバーシップが取得されます。
  4. 主体識別子がXenServerに保存されているものと一致する場合、認証は成功します。
ドメインに参加すると、プールに対してActive Directory認証が有効になります。ただし、プールがドメインに参加すると、そのドメイン内のユーザー(または信頼関係のあるドメインのユーザー)のみがプールに接続できます。
注:
DHCPで構成されたネットワークPIFのDNS設定を手動で更新することはサポートされておらず、AD統合、ひいてはユーザー認証が失敗したり機能しなくなったりする可能性があります。

Active Directory認証の構成

XenServerは、Windows Server 2016以降で実行されているActive Directoryサーバーをサポートしています。ドメインコントローラーへの接続を保護するために、Secure LDAP (LDAPS)で説明されているように、LDAPSを構成できます。
XenServerホストのActive Directoryを認証するには、Active Directoryサーバー(相互運用性を許可するように構成されている)とXenServerホストの両方で同じDNSサーバーを使用する必要があります。 一部の構成では、Active Directoryサーバー自体がDNSを提供できます。これは、DHCPを使用してIPアドレスとDNSサーバーのリストをXenServerホストに提供するか、手動で静的構成を使用する場合はPIFオブジェクトの値を設定するか、インストーラーを使用することで実現できます。
ホスト名の割り当てにはDHCPを有効にすることをお勧めします。ホストにホスト名localhostまたはlinuxを割り当てないでください。
警告:
XenServerホスト名は、XenServer展開全体で一意である必要があります。
次の点に注意してください。
  • XenServerは、ホスト名を使用してADデータベース上のADエントリにラベルを付けます。同じホスト名を持つ2つのXenServerホストが同じADドメインに参加している場合、2番目のXenServerが最初のXenServerのADエントリを上書きします。上書きは、ホストが同じプールに属しているか異なるプールに属しているかに関係なく発生します。これにより、最初のXenServerでのAD認証が機能しなくなる可能性があります。
    異なるADドメインに参加している限り、2つのXenServerホストで同じホスト名を使用できます。
  • 比較されるのはUTC時間であるため、XenServerホストは異なるタイムゾーンに存在できます。同期が正しいことを確認するには、XenServerプールとActive Directoryサーバーで同じNTPサーバーを使用できます。
  • 混合認証プールはサポートされていません。プール内の一部のホストがActive Directoryを使用するように構成され、一部が構成されていないプールを持つことはできません。
  • XenServer の Active Directory 統合は、Active Directory サーバーと通信するために Kerberos プロトコルを使用します。したがって、XenServer は Kerberos を使用しない Active Directory サーバーとの通信をサポートしていません。
  • Active Directory を使用した外部認証を成功させるには、XenServer ホストのクロックを Active Directory サーバーのクロックと同期させる必要があります。XenServer が Active Directory ドメインに参加すると、同期が確認され、サーバー間でずれが大きすぎる場合、認証は失敗します。
警告:
ホスト名は純粋な数字であってはなりません。XenServer はホストの NetBIOS 名を使用して Active Directory に登録するため、ホスト名は 15 文字以内にする必要があります (英数字とハイフンを使用し、ハイフンで開始または終了しないこと)。
最近の SSH クライアントの制限により、SSH は、次の文字のいずれかを含むユーザー名では機能しません: {}[]|&。ユーザー名と Active Directory サーバー名にこれらの文字が含まれていないことを確認してください。
Active Directory 認証を有効にした後でプールにホストを追加すると、プールに参加するホストで Active Directory を構成するように求められます。参加するホストで資格情報の入力を求められたら、そのドメインにホストを追加するのに十分な権限を持つ Active Directory 資格情報を入力します。

アクティブディレクトリ統合

XenServer から Active Directory ドメインコントローラーへの送信接続のために、次のポートが開いていることを確認してください。
ポート プロトコル 用途
53 UDP/TCP DNS
88 UDP/TCP ケルベロス 5
123 UDP NTP
135 TCP RPC エンドポイントマッパー
137 UDP NetBIOS 名前サービス
139 TCP NetBIOS セッション (SMB)
389 UDP/TCP LDAP
445 TCP TCP経由のSMB
464 UDP/TCP マシンのパスワード変更
636 UDP/TCP SSL経由のLDAP
3268 TCP グローバルカタログ検索
49152-65535 TCP RPC 動的接続
詳細については、XenServer で使用される通信ポートを参照してください。
注:
信頼されたドメインのユーザーがXenServerにログインする必要がある場合、XenServerから信頼されたドメインのドメインコントローラーへの送信接続のために、前述のポートも開いていることを確認してください。

ウィンバインド

XenServerはWinbindを使用して、Active Directory (AD) ユーザーをADサーバーで認証し、ADサーバーとの通信を暗号化します。
Winbindは以下のシナリオをサポートしていません。
  • ドメインユーザー名またはドメイングループ名の先頭または末尾にスペースがある場合。
  • 64文字以上を含むドメインユーザー名。
  • 以下の特殊文字 +<>"=/%@:,;\\\` を含むドメインユーザー名
  • 以下の特殊文字 ,;\\\` を含むドメイングループ名

Winbindの構成

以下の構成オプションを使用してWinbindの動作を構成します。これらのオプションは/etc/xapi.confファイルに含めることができます。
  • winbind_machine_pwd_timeout: このオプションの値は、このXenServerホストのマシンパスワードが何秒ごとにローテーションされるかを定義します。値を整数として定義します。
    デフォルト値は1209600秒(14日間)です。新しいパスワードをドメインコントローラー間で同期するのに十分な時間を確保するため、デフォルト値を維持するか、デフォルト値より値を減らさないことをお勧めします。
  • winbind_kerberos_encryption_type: このオプションの値はstrong、legacy、およびallです。デフォルト値はallです。
    • 値allは、次の暗号スイートを許可します: aes256-cts-hmac-sha1-96、aes128-cts-hmac-sha1-96、およびarcfour-hmac-md5
    • 値strongは、次の暗号スイートを許可します: aes256-cts-hmac-sha1-96およびaes128-cts-hmac-sha1-96
    • 値legacyは、次の暗号スイートを許可します: arcfour-hmac-md5
      レガシーオプションは安全ではないため、問題のデバッグにのみ使用することをお勧めします。
    セキュリティを向上させるため、AES暗号化を強制することをお勧めします。これを行うには、,
    1. ドメインコントローラーがaes256-cts-hmac-sha1-96とaes128-cts-hmacsha1-96をサポートしていることを確認します。
    2. ドメイン信頼でThe other domain supports Kerberos AES Encryptionを有効にするようにドメインコントローラーを構成します。
    3. winbind_kerberos_encryption_typeオプションを更新して、値strongを使用します。
    4. ツールスタックを再起動します。
      HAが有効な間はツールスタックを再起動しないでください。可能であれば、ツールスタックを再起動する前に一時的にHAを無効にしてください。
  • winbind_set_machine_account_kerberos_encryption_type: このオプションの値はtrueとfalseです。デフォルト値はfalseです。
    • 値trueは、XenServerホストのActive DirectoryコンピューターオブジェクトでmsDS-SupportedEncryptionTypesをstrongに設定します。
    • 値 false は、XenServer ホストの Active Directory コンピューターオブジェクトに msDS-SupportedEncryptionTypes を構成しません。
  • winbind_cache_time: Winbind は一部のドメイン情報をローカルにキャッシュします。このオプションの値は、各キャッシュ更新の間隔を秒単位で定義します。デフォルトは 60 秒です。
これらの構成オプションのいずれかを更新した後、ツールスタックを再起動します。

XenServer による AD 統合のコンピューターアカウントパスワードの管理方法?

Windows クライアントマシンと同様に、Winbind はコンピューターアカウントパスワードを自動的に更新します。Winbind は、14 日ごと、または構成オプション winbind_machine_pwd_timeout で指定されたとおりに、コンピューターアカウントパスワードを自動的に更新します。

プールで外部認証を有効にする

Active Directory を使用した外部認証は、XenCenter または CLI を使用して、次のコマンドで構成できます。
xe pool-enable-external-auth auth-type=AD \
  service-name=fully-qualified-domain \
  config:user=username \
  config:pass=password
指定されたユーザーは Add/remove computer objects or workstations 権限を持っている必要があります。これはドメイン管理者のデフォルトです。
Active Directory と XenServer ホストが使用するネットワークで DHCP を使用していない場合は、次の方法で DNS を設定してください。
  1. 非 FQDN エントリを解決するためのドメイン DNS サフィックス検索順序を設定します。
    xe pif-param-set uuid=pif_uuid_in_the_dns_subnetwork \
       "other-config:domain=suffix1.com suffix2.com suffix3.com"
  2. XenServer ホストで使用する DNS サーバーを構成します。
    xe pif-reconfigure-ip mode=static dns=dnshost ip=ip \
      gateway=gateway netmask=netmask uuid=uuid
  3. 管理インターフェイスを、DNS サーバーと同じネットワーク上にある PIF を使用するように手動で設定します。
    xe host-management-reconfigure pif-uuid=pif_in_the_dns_subnetwork
注:
外部認証はホストごとのプロパティです。ただし、外部認証はプールごとに有効/無効にすることをお勧めします。プールごとの設定により、XenServer は特定のホストで認証を有効にする際に発生する障害に対処できます。また、XenServer は必要となる可能性のある変更をロールバックし、プール全体で一貫した構成を保証します。host-param-list コマンドを使用して、ホストのプロパティを検査し、関連フィールドの値をチェックして外部認証のステータスを判断します。
XenCenter を使用して Active Directory 認証を無効にするか、次の xe コマンドを使用します。
xe pool-disable-external-auth

AD認証キャッシュを有効にする

Windows ADインフラストラクチャでは、異なるADサイト間でレプリケーションを行う際に、ブロック/ブロック解除、パスワード、その他のフィールドなど、ユーザーに関する情報のレプリケーションに固有の遅延が発生します。これにより、特にグローバルAD展開で大規模に運用する場合、AD認証に非常に長い時間がかかることがあります。認証キャッシュを有効にすると、システムは認証決定を限られた時間記憶できるため、外部Active Directory (AD) 認証が遅い場合にログインを高速化するのに役立ちます。この機能はデフォルトで無効になっています。
AD認証キャッシュを有効にするには:
xe pool-param-set uuid=<pool-uuid> ext-auth-cache-enabled=true
デフォルトでは、認証決定は300秒間記憶されます。これは調整できます:
xe pool-param-set uuid=<pool-uuid> ext-auth-cache-expiry=<seconds>
AD認証キャッシュを無効にするには:
xe pool-param-set uuid=<pool-uuid> ext-auth-cache-enabled=false

セキュアLDAP (LDAPS)

デフォルトでは、XenServerはLDAPトラフィックに署名して封印することにより、Active Directoryドメインコントローラーへの接続を保護します。さらに、LDAPS (ポート636でSSL/TLS経由のLDAP) を使用してこのトラフィックを保護できます。これは、ディレクトリトラフィックをTLSトンネルでラップします。XenServerは、プールにインポートした信頼できるCA証明書に対してトンネルを検証します。
注:
XenServerは、インポートされたCA証明書に対してのみドメインコントローラー証明書チェーンを検証します。リーフ証明書または自己署名証明書 (CAではない) はLDAPSではサポートされていません。LDAPSを有効にする前に、少なくとも1つのCA証明書をインポートする必要があります。そうしないと、外部認証の有効化は失敗します。

CA証明書を準備する

ドメインコントローラーでLDAPSを有効にする必要があり、ドメインコントローラーの証明書に署名したCA証明書を提供する必要があります。証明書を準備するには、以下のMicrosoftドキュメントを参照してください:

CA証明書をインポートする

LDAPS用にタグ付けされた、ドメインコントローラーのサーバー証明書に署名したCA証明書をインポートします。
xe pool-install-trusted-certificate uuid=<pool-uuid> purpose=ldaps ca=true filename=<path-to-ca.pem>
ここで、:
  • purpose=ldaps は、LDAPS用に証明書をタグ付けします。
  • ca=true は、これがピン留めされたリーフ証明書ではなく、チェーンを検証するCA証明書であることを示します。
  • filename は、xe コマンドを実行するマシン上の、PEM形式のCA証明書へのパスです。
ドメインコントローラーの証明書が中間CAを介して発行された場合は、代わりに中間CAをインポートします(ルート証明書はあれば便利です)。

LDAPSの有効化または無効化

外部認証を有効にする際にLDAPSを有効にするには、config:ldaps=true を pool-enable-external-auth コマンドに追加します。
xe pool-enable-external-auth auth-type=AD \
  service-name=fully-qualified-domain \
  config:user=username \
  config:pass=password \
  config:ldaps=true
すでにドメインに参加しているプールでLDAPSをオンまたはオフにするには、pool-external-auth-set-ldaps コマンドを使用します。
xe pool-external-auth-set-ldaps uuid=<pool-uuid> ldaps=truexe pool-external-auth-set-ldaps uuid=<pool-uuid> ldaps=false
変更はプール内のすべてのホストに適用され、ドメインに対して検証されます。失敗した場合、変更はすべてのホストで自動的にロールバックされます。
LDAPS用にタグ付けされた証明書を一覧表示するには:
xe certificate-list purpose=ldaps

複数のドメインコントローラーに1つのCAチェーンを使用する

プールがLDAPS経由で認証する場合、XenServerはドメイン内の任意のドメインコントローラーに接続でき、使用するドメインコントローラーは操作によって異なる場合があります。各ドメインコントローラーはLDAPS用の独自のサーバー証明書を提示し、XenServerはインポートしたCA証明書に対してそれを検証します。ドメインコントローラーの証明書がインポートしていないCAによって署名された場合、XenServerは断続的な障害に遭遇する可能性があります。
以下の推奨事項に従ってください。
  • すべてのドメインコントローラーのLDAPS用サーバー証明書を同じルートCAから発行し、purpose=ldaps を信頼された証明書としてルート証明書をXenServerにインポートします。
  • 環境で、異なるCAによって署名された参加ドメインと信頼済みドメインを使用している場合は、それらのすべてのドメインのCA証明書をすべてインポートします。

ユーザー認証

XenServerホストへのユーザーアクセスを許可するには、そのユーザーまたはユーザーが属するグループのサブジェクトを追加する必要があります。(推移的なグループメンバーシップも通常の方法でチェックされます。たとえば、グループAのサブジェクトを追加し、そのグループAがグループBを含み、user 1がグループBのメンバーである場合、user 1へのアクセスが許可されます。) Active Directoryでユーザー権限を管理する場合は、単一のグループを作成し、そのグループにユーザーを追加したり削除したりできます。または、XenServerから個々のユーザーを追加および削除したり、認証要件に応じてユーザーとグループを組み合わせて追加および削除したりできます。サブジェクトリストは、XenCenterから、または次のセクションで説明されているCLIを使用して管理できます。
ユーザーを認証する際、資格情報はまずローカルのrootアカウントに対してチェックされ、ADサーバーが故障したシステムを回復できます。資格情報(ユーザー名とパスワード)が一致しない場合、ADサーバーに認証要求が行われます。認証が成功すると、ユーザーの情報が取得され、ローカルのサブジェクトリストに対して検証されます。認証が失敗した場合、アクセスは拒否されます。サブジェクトリストに対する検証は、ユーザーまたはユーザーの推移的なグループメンバーシップ内のグループがサブジェクトリストに含まれている場合に成功します。
注:
ホストSSHアクセスを必要とするプール管理者ユーザーにアクセス権を付与するためにActive Directoryグループを使用する場合、ADグループのサイズは500ユーザーを超えてはなりません。
XenServerにADサブジェクトを追加するには:
xe subject-add subject-name=entity_name
entity_nameは、アクセスを許可するユーザーまたはグループの名前です。エンティティのドメインを含めることができます(たとえば、「user1」ではなく「xendt\\user1」)。ただし、曖昧さの解消が必要な場合を除き、動作は同じです。
ユーザーのサブジェクト識別子を見つけます。識別子は、ユーザーまたはユーザーを含むグループです。グループを削除すると、そのグループ内のすべてのユーザーへのアクセスが削除されます。ただし、サブジェクトリストにも指定されている場合は除きます。ユーザーのサブジェクト識別子を見つけるには、subject listコマンドを使用します。
xe subject-list
このコマンドは、すべてのユーザーのリストを返します。
リストにフィルターを適用して、たとえばtestadドメイン内のユーザーuser1のサブジェクト識別子を見つけるには、次のコマンドを使用します。
xe subject-list other-config:subject-name='testad\user1'
前のステップで取得したサブジェクト識別子を渡して、subject-removeコマンドを使用してユーザーを削除します。
xe subject-remove subject-uuid=subject_uuid
このユーザーがすでに認証している現在のセッションを終了できます。詳細については、次のセクションの「xeを使用したすべての認証済みセッションの終了」および「xeを使用した個々のユーザーセッションの終了」を参照してください。セッションを終了しない場合、権限を取り消されたユーザーは、ログアウトするまでシステムにアクセスし続ける可能性があります。
XenServerホストまたはプールにアクセスする権限を持つユーザーとグループのリストを特定するには、次のコマンドを実行します。
xe subject-list

ユーザーのアクセス権を削除する

ユーザーが認証されると、セッションを終了するか、別のユーザーがセッションを終了するまでホストにアクセスできます。サブジェクトリストからユーザーを削除したり、サブジェクトリスト内のグループからユーザーを削除したりしても、そのユーザーがすでに認証されているセッションが自動的に取り消されることはありません。ユーザーは、XenCenter またはすでに作成した他の API セッションを使用してプールにアクセスし続けることができます。XenCenter と CLI は、個々のセッション、またはすべてのアクティブなセッションを強制的に終了する機能を提供します。XenCenter を使用した手順については、XenCenter ドキュメント を参照してください。CLI を使用した手順については、次のセクションを参照してください。

xe を使用してすべての認証済みセッションを終了する

xe を使用してすべての認証済みセッションを終了するには、次の CLI コマンドを実行します。
xe session-subject-identifier-logout-all

xe を使用して個々のユーザーセッションを終了する

  1. ログアウトしたいセッションのサブジェクト識別子を特定します。サブジェクト識別子を見つけるには、session-subject-identifier-list または subject-list xe コマンドのいずれかを使用します。最初のコマンドはセッションを持つユーザーを表示します。2番目のコマンドはすべてのユーザーを表示しますが、フィルタリングできます。たとえば、xe subject-list other-config:subject-name=xendt\\user1 のようなコマンドを使用します。シェルによっては、示されているように二重のバックスラッシュが必要になる場合があります)。
  2. 前の手順で特定したサブジェクト識別子をパラメータとして渡して、session-subject-logout コマンドを使用します。例:
    xe session-subject-identifier-logout subject-identifier=subject_id

AD ドメインから離脱する

警告:
ドメインから離脱すると、Active Directory 資格情報でプールまたはホストに認証されたすべてのユーザーは切断されます。
AD ドメインから離脱するには、XenCenter を使用します。詳細については、XenCenter ドキュメント を参照してください。または、必要に応じてプール UUID を指定して pool-disable-external-auth コマンドを実行します。
注記:
ドメインから離脱しても、AD データベースからホストオブジェクトが削除されるわけではありません。無効になったホストエントリを検出して削除する方法については、Active Directory のドキュメントを参照してください。