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 にサブジェクトを追加するには

既存の AD ユーザーが RBAC を使用できるようにするには、XenServer 内にサブジェクトインスタンスを、AD ユーザーに対して直接、または含まれるグループに対して作成します:

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

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 を持つサブジェクトをPool Administrator ロールに追加します。

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-->

新しいロールを有効にするには、ユーザーはログアウトして再度ログインする必要があります。これには、Pool Administrator または Pool Operator が利用できる「アクティブユーザー接続のログアウト」権限が必要です。

ユーザーからPool Adminロールを削除する場合、ルートパスワードの変更とプールシークレットのローテーションも検討してください。詳細については、Pool Security を参照してください。

警告:

pool-adminサブジェクトを追加または削除すると、プール内のすべてのホストがこのサブジェクトに関連付けられたsshセッションを受け入れるまでに数秒かかる場合があります。

監査

RBAC監査ログは、ログインしているユーザーが行ったすべての操作を記録します。

  • メッセージは、操作を呼び出したセッションに関連付けられたサブジェクト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 を使用する