XenServer

CLIでのRBACの使用

RBAC xe CLIコマンド

役割とサブジェクトを操作するには、次のコマンドを使用します。

使用可能な役割の一覧を表示するには

次のコマンドを実行します:xe role-list

これにより、次のような、現在定義されている役割の一覧が表示されます。

    uuid( RO): 0165f154-ba3e-034e-6b27-5d271af109ba
    name ( RO): pool-admin
    description ( RO): The Pool Administrator role has full access to all
    features and settings, including accessing Dom0 and managing subjects,
    roles and external authentication

    uuid ( RO): b9ce9791-0604-50cd-0649-09b3284c7dfd
    name ( RO): pool-operator
    description ( RO): The Pool Operator role manages host-  and pool-wide resources,
    including setting up storage, creating resource pools and managing patches, and
    high availability (HA).

    uuid( RO): 7955168d-7bec-10ed-105f-c6a7e6e63249
    name ( RO): vm-power-admin
    description ( RO): The VM Power Administrator role has full access to VM and
    template management and can choose where to start VMs and use the dynamic memory
    control and VM snapshot features

    uuid ( RO): aaa00ab5-7340-bfbc-0d1b-7cf342639a6e
    name ( RO): vm-admin
    description ( RO):  The VM Administrator role can manage VMs and templates

    uuid ( RO): fb8d4ff9-310c-a959-0613-54101535d3d5
    name ( RO): vm-operator
    description ( RO):  The VM Operator role can use VMs and interact with VM consoles

    uuid ( RO): 7233b8e3-eacb-d7da-2c95-f2e581cdbf4e
    name ( RO): read-only
    description ( RO): The Read-Only role can log in with basic read-only access
<!--NeedCopy-->

注:

役割の一覧は固定的であり、追加、削除、および変更はできません。

現在のサブジェクトの一覧を表示するには

次のコマンドを実行します。

xe subject-list
<!--NeedCopy-->

これにより、次のような、XenServerユーザー、UUID、および割り当てられている役割の一覧が表示されます。

    uuid ( RO): bb6dd239-1fa9-a06b-a497-3be28b8dca44
    subject-identifier ( RO): S-1-5-21-1539997073-1618981536-2562117463-2244
    other-config (MRO): subject-name: example01\user_vm_admin; subject-upn: \
      user_vm_admin@XENDT.NET; subject-uid: 1823475908; subject-gid: 1823474177; \
      subject-sid: S-1-5-21-1539997073-1618981536-2562117463-2244; subject-gecos: \
      user_vm_admin; subject-displayname: user_vm_admin; subject-is-group: false; \
      subject-account-disabled: false; subject-account-expired: false; \
      subject-account-locked: false;subject-password-expired: false
    roles (SRO): vm-admin

    uuid ( RO): 4fe89a50-6a1a-d9dd-afb9-b554cd00c01a
    subject-identifier ( RO): S-1-5-21-1539997073-1618981536-2562117463-2245
    other-config (MRO): subject-name: example02\user_vm_op; subject-upn: \
      user_vm_op@XENDT.NET; subject-uid: 1823475909; subject-gid: 1823474177; \
      subject-sid: S-1-5-21-1539997073-1618981536-2562117463-2245; \
      subject-gecos: user_vm_op; subject-displayname: user_vm_op; \
      subject-is-group: false; subject-account-disabled: false; \
      subject-account-expired: false; subject-account-locked: \
      false; subject-password-expired: false
    roles (SRO): vm-operator

    uuid ( RO): 8a63fbf0-9ef4-4fef-b4a5-b42984c27267
    subject-identifier ( RO): S-1-5-21-1539997073-1618981536-2562117463-2242
    other-config (MRO): subject-name: example03\user_pool_op; \
      subject-upn: user_pool_op@XENDT.NET; subject-uid: 1823475906; \
      subject-gid: 1823474177; subject-s id:
      S-1-5-21-1539997073-1618981536-2562117463-2242; \
      subject-gecos: user_pool_op; subject-displayname: user_pool_op; \
      subject-is-group: false; subject-account-disabled: false; \
      subject-account-expired: false; subject-account-locked: \
      false; subject-password-expired: false
      roles (SRO): pool-operator
<!--NeedCopy-->

RBACにサブジェクトを追加するには

既存のActive DirectoryユーザーにRBACの役割を割り当てるには、XenServerでそのユーザーアカウントまたは適切なグループアカウントのサブジェクトインスタンスを作成します。

次のコマンドを実行して、新しいサブジェクトインスタンスを追加します:

xe subject-add subject-name=AD user/group
<!--NeedCopy-->

新しいサブジェクトにRBACの役割を割り当てるには

サブジェクトを作成したら、それにRBACの役割を割り当てます。役割はUUIDまたは名前で指定します:

次のコマンドを実行します。

xe subject-role-add uuid=subject uuid role-uuid=role_uuid
<!--NeedCopy-->

または

xe subject-role-add uuid=subject uuid role-name=role_name
<!--NeedCopy-->

たとえば、次のコマンドでは、UUIDがb9b3d03b-3d10-79d3-8ed7-a782c5ea13b4のサブジェクトにプール管理者の役割が割り当てられます。

xe subject-role-add uuid=b9b3d03b-3d10-79d3-8ed7-a782c5ea13b4 role-name=pool-admin
<!--NeedCopy-->

サブジェクトに割り当てられているRBACの役割を変更するには

ユーザーの役割を変更するには、既存の割り当てを解除してから新しい役割を割り当てる必要があります:

次のコマンドを実行します。

xe subject-role-remove uuid=subject_uuid role-name=role_name_to_remove
xe subject-role-add uuid=subject_uuid role-name=role_name_to_add
<!--NeedCopy-->

新しい役割を有効にするには、そのユーザーをいったんログアウトしてから再ログインする必要があります。この操作には「アクティブなユーザー接続のログアウト」権限が必要であり、この権限はプール管理者とプールオペレータに付与されます。

ユーザーからプール管理者の役割を削除する場合は、ルートパスワードの変更や、プールシークレットの入れ替えも検討してください。詳しくは、「プールのセキュリティ」を参照してください。

警告:

プール管理者サブジェクトを追加または削除すると、このサブジェクトのSSHセッションがプール内の全ホストで有効または無効になるまでに数秒の遅延が生じる場合があります。

監査

役割ベースのアクセス制御の監査ログには、ログインしたユーザーにより実行されたすべての管理タスクが記録されます。

  • 記録される各メッセージには、そのタスクを実行した管理者のサブジェクトIDおよびユーザー名が記録されます。

  • 許可されていない操作を実行しようとした場合は、その操作が記録されます。

  • 成功した操作も記録されます。操作に失敗した場合はそのエラーコードが記録されます。

監査ログのxe CLIコマンド

以下のコマンドにより、そのプールのRBAC監査ファイルのすべての記録がファイルとしてダウンロードされます。オプションのsinceパラメーターを指定すると、その日時以降の記録のみがダウンロードされます。

xe audit-log-get [since=timestamp] filename=output filename
<!--NeedCopy-->

プールからすべての監査記録を取得するには

次のコマンドを実行します。

xe audit-log-get filename=/tmp/auditlog-pool-actions.out
<!--NeedCopy-->

特定の日時(ミリ秒単位)以降の監査記録を取得するには

次のコマンドを実行します。

xe audit-log-get since=2009-09-24T17:56:20.530Z \
    filename=/tmp/auditlog-pool-actions.out
<!--NeedCopy-->

特定の日時(分単位)以降の監査記録を取得するには

次のコマンドを実行します:

xe audit-log-get since=2009-09-24T17:56Z \
    filename=/tmp/auditlog-pool-actions.out
<!--NeedCopy-->
CLIでのRBACの使用