ユーザーを管理する

ユーザー、グループ、役割、および権限を定義することで、Citrix Hypervisorサーバーやリソースプールにアクセスできるユーザーや実行可能な操作を制御できます。

Citrix Hypervisorの初回インストール時に、1つの管理者ユーザーアカウントがCitrix Hypervisorに自動的に追加されます。このアカウントはローカルスーパーユーザー(LSU)またはrootと呼ばれ、Citrix Hypervisorによりローカルに認証されるものです。

ローカルスーパーユーザー(root)は特別なシステム管理用アカウントであり、すべての権限を持ちます。Citrix Hypervisorでは、ローカルスーパーユーザーは、インストールでのデフォルトのアカウントです。Citrix Hypervisorは、ローカルスーパーユーザーアカウントを認証します。ローカルスーパーユーザーは、外部の認証サービスを必要としません。このため、外部の認証サービスに障害が生じた場合でも、ローカルスーパーユーザーとしてログインすればシステムを管理できます。ローカルスーパーユーザーは、SSHを使用して物理Citrix Hypervisorホストに常にアクセスできます。

ほかのユーザーを作成するには、XenCenterの[ユーザー]タブまたはxe CLIを使用してActive Directoryアカウントを追加します。Active Directoryを使用しない環境では、ローカルスーバーユーザーのみを使用します。

注:

Citrix Hypervisorで新しく作成したユーザーには、デフォルトでRBAC役割が割り当てられません。このため、ほかの管理者により役割が割り当てられるまで、これらのユーザーはCitrix Hypervisorプールにアクセスできません。

これらの権限は、「Active Directory認証の使用」セクションで説明しているように、役割を通じて付与されます。

Active Directoryでユーザーを認証する

XenServerホストやプールに対して複数のユーザーアカウントを使用するには、Active Directoryユーザーアカウントで認証する必要があります。Active Directoryアカウントでは、Citrix HypervisorのユーザーがWindowsドメインの資格情報でプールにログインできます。

ユーザーアカウントに基づいてさまざまなアクセスレベルを設定するには、Active Directory認証を有効にし、ユーザーアカウントを追加し、それらのアカウントに役割を割り当てます。

Active Directoryアカウントを持つ管理者は、xe CLIを使用でき(適切な-uおよび-pw引数を指定)、XenCenterを使用してホストに接続することもできます。認証は、リソースプールごとに行われます。

サブジェクトは、ユーザーアカウントへのアクセスを制御します。Citrix Hypervisorのサブジェクトは、ディレクトリサーバー上のエンティティ(ユーザーまたはグループ)にマップされます。外部認証を有効にすると、Citrix Hypervisorで、セッションを作成するときに使用された資格情報がまずローカルルートの資格情報と照合され(ディレクトリサーバーが使用不可の場合)、次にサブジェクトリストと照合されます。アクセスを許可するには、そのユーザーまたはグループのサブジェクトエントリを作成します。XenCenterまたはxe CLIを使用してサブジェクトエントリを作成できます。

Active Directoryやユーザーアカウントに関する表記が、XenCenterとCitrix Hypervisor CLIで異なる点に注意してください:XenCenter用語 Citrix Hypervisor CLI用語 ユーザー サブジェクト 追加 ユーザー 追加 サブジェクト

Citrix HypervisorはLinuxベースのシステムですが、Citrix HypervisorではCitrix HypervisorユーザーアカウントとしてActive Directoryアカウントを使用することができます。このため、Active Directory資格情報がActive Directoryドメインコントローラに渡されます。

Citrix HypervisorにActive Directoryを追加すると、Active DirectoryのユーザーとグループがCitrix Hypervisorのサブジェクトになります。XenCenterでは、サブジェクトはユーザーと呼ばれます。ユーザーおよびグループは、Citrix Hypervisorにサブジェクトを登録するときに、ログオン時に、Active Directoryを使用することで認証されます。ユーザーおよびグループは、ドメイン名を使用してユーザー名を修飾する必要はありません。

ユーザー名を修飾するには、ダウンレベルログオン名形式で入力する必要があります。例:mydomain\myuser

注:

ユーザー名を修飾しない場合、XenCenterでは、デフォルトで、Active Directoryドメインユーザーでのログインが試行されます。ただし、ローカルスーバーユーザーアカウントでログインする場合、XenCenterは常にローカルで(つまりCitrix Hypervisorホスト上で)認証を試行します。

外部認証プロセスは、以下のように機能します:

  1. Citrix Hypervisorホストに接続するときに提供された資格情報がActive Directoryドメインコントローラに渡され、認証が要求されます。

  2. Active Directoryドメインコントローラが、その資格情報を確認します。資格情報が無効な場合は、ここで認証に失敗します。

  3. 資格情報が有効な場合は、Active Directoryドメインコントローラに照会され、その資格情報に関連付けられているサブジェクト識別子およびグループメンバシップが取得されます。

  4. 取得したサブジェクト識別子がCitrix Hypervisorに格納されているものと一致した場合は、認証が正常に行われます。

ドメインにCitrix Hypervisorを追加すると、そのリソースプールでのActive Directory認証が有効になります。これにより、そのドメイン(および信頼関係のあるドメイン)のユーザーのみがリソースプールに接続できるようになります。

注:

DHCPが設定されたネットワークPIFのDNS設定を手作業で更新することはサポートされません。これにより、Active Directoryの統合に問題が生じ、ユーザー認証に失敗することがあります。

Active Directory認証を設定する

Citrix Hypervisor では、Windows Server 2008またはそれ以降のActive Directoryサーバーがサポートされます。

Citrix HypervisorサーバーでActive Directoryを認証するには、(相互運用性が有効な)Active DirectoryサーバーとそのCitrix Hypervisorサーバーが同じDNSサーバーを使用している必要があります。 Active DirectoryサーバーとDNSサーバーが同じマシンである場合もあります。これは、DHCPを使用してIPアドレス、およびDNSサーバーの一覧をCitrix Hypervisorサーバーに提供することで実現できます。または、PIFオブジェクト内の値を設定することや、手動の静的構成の使用時にインストーラーを使用することもできます。

DHCPを有効にしてホスト名を割り当てることをお勧めします。ホスト名localhostまたはlinuxをホストに割り当てないでください。

警告:

Citrix Hypervisor環境内では、一意のCitrix Hypervisorサーバー名を使用する必要があります。

以下の点に注意してください:

  • Citrix Hypervisorでは、ホスト名に基づいたActive DirectoryエントリがActive Directoryデータベースに格納されます。同じホスト名を持つ2つのCitrix Hypervisorサーバーが同じActive Directoryドメインに属している場合、2つ目のCitrix Hypervisorは1つ目のCitrix HypervisorのActive Directoryエントリを上書きします。上書きは、ホストが同じプールに属しているか異なるプールに属しているかにかかわらず行われます。これにより、1つ目のCitrix HypervisorでのActive Directory認証が機能しなくなる可能性があります。

    異なるActive Directoryドメインに属しているCitrix Hypervisorサーバーでは、同じホスト名を使用できます。

  • Active Directoryで比較されるのはUTC時間なので、異なるタイムゾーンに属しているCitrix Hypervisorサーバーは同じActive Directoryドメインに追加できます。時計が同期するように、Citrix HypervisorプールとActive Directoryサーバーで同じNTPサーバーを使用できます。

  • リソースプールで複数の認証方法を使用することはサポートされていません。プール内の一部のホストでのみActive Directory認証を有効にして、ほかのホストで無効にすることはできません。

  • Citrix HypervisorのActive Directory統合機能では、Active Directoryサーバーとの通信にKerberosプロトコルが使用されます。このため、Citrix Hypervisorでは、Kerberosプロトコルが無効なActive Directoryサーバーはサポートされていません。

  • Active Directoryを使用して正しく外部認証が行われるようにするには、Citrix Hypervisorサーバーの時計がActive Directoryサーバーと同期している必要があります。Citrix HypervisorをActive Directoryドメインに追加するときに時計が同期しているかどうかがチェックされ、同期していないと認証に失敗します。

警告:

ホスト名は、63文字以下の英数字で指定します。ただし、数字のみのホスト名を使用しないでください。

Active Directory認証を有効にした後にプールにサーバーを追加すると、そのサーバー上のActive Directory設定を確認するメッセージが表示されます。追加するサーバーの資格情報を入力するときは、サーバーをドメインに追加するための特権を持つActive Directory資格情報を使用します。

Active Directoryの統合

Citrix Hypervisorからドメインコントローラーへのアクセスが遮断されないように、以下のファイアウォールポートが送信トラフィック用に開放されていることを確認してください。

ポート プロトコル 使用
53 UDP/TCP DNS
88 UDP/TCP Kerberos 5
123 UDP NTP
137 UDP NetBIOSネームサービス
139 TCP NetBIOSセッション(SMB)
389 UDP/TCP LDAP
445 TCP SMB over TCP
464 UDP/TCP マシンパスワードの変更
3268 TCP グローバルカタログ検索

注:

  • Linuxコンピュータ上でiptablesを使用してファイアウォール規則を確認するには、次のコマンドを実行します:iptables - nL
  • Citrix Hypervisorでは、Active DirectoryサーバーでのActive Directoryユーザーの認証、およびActive Directoryサーバーとの通信の暗号化にPowerBroker Identity Services(PBIS)が使用されます。

Citrix HypervisorによるActive Directory統合でのマシンアカウントパスワードの管理

Windowsクライアントマシンと同様に、PBISでは、マシンアカウントパスワードが自動的に更新されます。PBISでは、30日ごとに、またはActive Directoryサーバーのマシンアカウントパスワード更新ポリシーで指定されたとおりに、パスワードが更新されます。

リソースプールの外部認証を有効にする

Active Directoryによる外部認証は、XenCenterまたは以下のCLIコマンドを使用して設定します。

xe pool-enable-external-auth auth-type=AD \
  service-name=full-qualified-domain \
  config:user=username \
  config:pass=password

指定されたユーザーにはAdd/remove computer objects or workstationsの特権が必要です。これはドメイン管理者のデフォルトです。

Active DirectoryおよびCitrix Hypervisorサーバーが使用するネットワークでDHCPを使用しない場合は、以下の方法でDNSを設定します:

  1. 非完全修飾ドメイン名エントリを解決できるように、ドメインのDNSサフィックスの検索順を設定します:

    xe pif-param-set uuid=pif_uuid_in_the_dns_subnetwork \
       "other-config:domain=suffix1.com suffix2.com suffix3.com"
    
  2. Citrix Hypervisorサーバー上で、使用する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
    

注:

外部認証はホストごとに設定されるプロパティですが、ただし、プール単位で外部認証を有効または無効にすることをお勧めします。プール単位での設定では、Citrix Hypervisorが、特定のホストで認証を有効にしたときに発生する障害に対処できます。またCitrix Hypervisorは、プール全体で一貫した構成となるように、必要な変更をロールバックします。host-param-listコマンドを実行して、ホストの外部認証が有効かどうかを確認できます。

Active Directory認証を無効にするには、XenCenterを使用するか、次のxeコマンドを実行します:

xe pool-disable-external-auth

ユーザー認証

ほかのユーザーがCitrix Hypervisorサーバーにアクセスできるようにするには、そのユーザーまたはグループ用のサブジェクトを追加する必要があります。(推移的グループメンバーシップも通常の方法でチェックされます。たとえば、グループAにグループBが含まれ、user 1がグループBのメンバーである場合に、グループAのサブジェクトを追加すると、user 1へのアクセスが許可されます)。Active Directoryでユーザー権限を管理する場合は、単一のグループを作成してから、そのグループのユーザーを追加または削除できます。または、Citrix Hypervisorで個々のユーザーを追加および削除することや、認証要件に応じてユーザーとグループの組合せを追加および削除することができます。次のセクションで説明するように、XenCenterから、またはCLIを使用して、サブジェクトリストを管理できます。

ユーザーの認証時には、まずローカルルートアカウントとユーザーの資格情報が照合されます。このため、Active Directoryサーバーに障害が発生した場合でも、システムを回復できます。資格情報(ユーザー名とパスワード)が一致しない場合は、Active Directoryサーバーに対して認証要求が行われます。認証が成功すると、ユーザーの情報が取得され、ローカルのサブジェクトリストに対して検証されます。認証が失敗した場合、アクセスは拒否されます。サブジェクトリストでの検証は、そのユーザー、またはそのユーザーの推移的グループメンバシップのグループがリスト上に見つかると成功します。

注:

Active Directoryグループにプール管理者の役割を割り当ててホストへのSSHアクセスを許可する場合、そのActive Directoryグループのメンバー数は500以下である必要があります。

Active DirectoryサブジェクトをCitrix Hypervisorに追加するには:

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

このユーザーの実行中のセッションを終了できます。詳しくは、「CLIを使用してすべての認証済みセッションを終了するには」および「CLIを使用して特定ユーザーのセッションを終了するには」を参照してください。実行中のセッションを終了しないと、そのユーザーがセッションからログアウトするまでアクセスできてしまうことに注意してください。

Citrix Hypervisorサーバーやリソースプールへのアクセスが許可されているユーザーやグループを確認するには、次のコマンドを実行します:

xe subject-list

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

ユーザーが認証されると、そのセッションを終了するか、ほかの管理者がそのユーザーのセッションを終了するまで、ホストへのアクセスが保持されます。ユーザーをサブジェクトリストから削除したり、アクセスが付与されたグループから削除したりしても、実行中のセッションが無効になるわけではありません。ユーザーは、XenCenterまたは作成済みのほかのAPIセッションを使用して引き続きプールにアクセスできます。XenCenterおよびCLIでは、個々のセッション、またはアクティブなすべてのセッションを強制終了できます。XenCenterでこれを行う方法については、XenCenterのオンラインヘルプを参照してください。次のセクションでは、CLIを使用する方法について説明します。

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

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

xe session-subject-identifier-logout-all

CLIを使用して特定ユーザーのセッションを終了する

  1. 対象ユーザーのサブジェクト識別子を確認します。サブジェクト識別子を確認するには、session-subject-identifier-listまたはsubject-list xeコマンドを使用します。1つ目のコマンドでは、セッションを実行しているユーザーが表示されます。2つ目のコマンドではすべてのユーザーが表示されますが、フィルターを適用できます。たとえば、xe subject-list other-config:subject-name=xendt\\user1のようなコマンドを使用します。シェルによっては、このようにバックスラッシュを2つ入力する必要があります。

  2. 取得したサブジェクト識別子をパラメータとして指定して、session-subject-logoutコマンドを実行します。例:

    xe session-subject-identifier-logout subject-identifier=subject_id
    

Active Directoryドメインからプールを削除する

警告:

ドメインからホストやプールを削除する(つまりActive Directory認証を無効にしてプールまたはホストとドメインとの接続を切断する)と、Active Directoryの資格情報でログインした管理者ユーザーが切断されます。

リソースプールでのActive Directory認証を無効にするには、XenCenterを使用してActive Directoryドメインからプールを削除します。詳しくは、XenCenterのオンラインヘルプを参照してください。または、必要に応じてプールのUUIDを指定し、pool-disable-external-authコマンドを実行します。

注:

リソースプールをActive Directoryドメインから削除しても、Active Directoryデータベースからホストオブジェクトが削除されることはありません。無効なホストエントリを削除する方法については、Microsoft社のサポート文書を参照してください。