6.9.6. 管理 CLI を用いたグループロール割り当ての設定

include (含まれる) または exclude (除外) されるグループロールは、管理コンソールおよび 管理 CLI で設定できます。ここでは、管理 CLI を使用した設定のみを説明します。
ユーザーおよびグループをロールへマッピングする設定は、管理 API の role-mapping 要素とする /core-service=management/access=authorization にあります。
この設定を行えるのは、SuperUser または Administrator ロールのユーザーのみです。
コマンドへのアクセスを容易にするため、管理 CLI では /core-service=management/access=authorization の場所を変更します。
[standalone@localhost:9999] cd /core-service=management/access=authorization

手順6.16 グループロール割り当て設定の表示

  1. read-children-names 操作を使用して、設定されたロールの完全リストを取得します。
    /core-service=management/access=authorization:read-children-names(child-type=role-mapping)
    [standalone@localhost:9999 access=authorization] :read-children-names(child-type=role-mapping)
    {
        "outcome" => "success",
        "result" => [
            "Administrator",
            "Deployer",
            "Maintainer",
            "Monitor",
            "Operator",
            "SuperUser"
        ]
    }
  2. 指定されたロールマッピングの read-resource 操作を使用して、特定ロールの完全詳細を取得します。
    /core-service=management/access=authorization/role-mapping=ROLENAME:read-resource(recursive=true)
    [standalone@localhost:9999 access=authorization] ./role-mapping=Administrator:read-resource(recursive=true)
    {
        "outcome" => "success",
        "result" => {
            "include-all" => false,
            "exclude" => undefined,
            "include" => {
                "user-theboss" => {
                    "name" => "theboss",
                    "realm" => undefined,
                    "type" => "USER"
                },
                "user-harold" => {
                    "name" => "harold",
                    "realm" => undefined,
                    "type" => "USER"
                },
                "group-SysOps" => {
                    "name" => "SysOps",
                    "realm" => undefined,
                    "type" => "GROUP"
                }
            }
        }
    }
    [standalone@localhost:9999 access=authorization]

手順6.17 新規ロールの追加

この手順は、ロールのロールマッピングエントリーを追加する方法を示しています。ロールを設定する前にこの手順を実行する必要があります。
  • add 操作を使用して、新しいロール設定を追加します。
    /core-service=management/access=authorization/role-mapping=ROLENAME:add
    [standalone@localhost:9999 access=authorization] ./role-mapping=Auditor:add             
    {"outcome" => "success"}
    [standalone@localhost:9999 access=authorization]

手順6.18 グループに include されるユーザーの追加

この手順では、グループをロールの include されたリストに追加する方法を説明します。
ロールの設定が行われていない場合は、最初にロールマッピングエントリーの設定を行う必要があります。
  • add 操作を使用して、グループエントリーをロールの include リストに追加します。
    /core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:add(name=GROUPNAME, type=GROUP)
    ROLENAME は設定されたロールの名前です。
    GROUPNAME は、include リストに追加されたグループの名前です。
    ALIAS はこのマッピングの一意名です。Red Hat は、group-GROUPNAME などのエイリアスに命名規則を使用することを推奨します。
    [standalone@localhost:9999 access=authorization] ./role-mapping=Auditor/include=group-investigators:add(name=investigators, type=GROUP)
    {"outcome" => "success"}
    [standalone@localhost:9999 access=authorization]

手順6.19 ロールに exclude されるグループの追加

この手順では、グループをロールの exclude されたリストに追加する方法を説明します。
ロールの設定が行われていない場合は、最初にロールマッピングエントリーを作成する必要があります。
  • add 操作を使用して、グループエントリーをロールの exclude リストに追加します。
    /core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:add(name=GROUPNAME, type=GROUP)
    ROLENAME は設定されたロールの名前です。
    GROUPNAME は、include リストに追加されたグループの名前です。
    ALIAS はこのマッピングの一意名です。Red Hat は、group-GROUPNAME などのエイリアスに命名規則を使用することを推奨します。
    [standalone@localhost:9999 access=authorization] ./role-mapping=Auditor/exclude=group-supervisors:add(name=supervisors, type=GROUP)
    {"outcome" => "success"}
    [standalone@localhost:9999 access=authorization]

手順6.20 グループーロールの include 設定の削除

この手順では、ロールマッピングからグループ include エントリーを削除する方法を説明します。
  • remove 操作を使用してエントリーを削除します。
    /core-service=management/access=authorization/role-mapping=ROLENAME/include=ALIAS:remove
    ROLENAME は設定されたロールの名前です。
    ALIAS はこのマッピングの一意名です。Red Hat は、group-GROUPNAME などのエイリアスに命名規則を使用することを推奨します。
    [standalone@localhost:9999 access=authorization] ./role-mapping=Auditor/include=group-investigators:remove
    {"outcome" => "success"}
    [standalone@localhost:9999 access=authorization]
    include リストからグループを削除しても、グループはシステムから削除されず、このグループのユーザーにロールが割り当てられなくなる保証はありません。ロールは、グループのユーザーへ個別に割り当てられる可能性があります。

手順6.21 ユーザーグループの exclude エントリーの削除

この手順では、ロールマッピングからグループ exclude エントリーを削除する方法を説明します。
  • remove 操作を使用してエントリーを削除します。
    /core-service=management/access=authorization/role-mapping=ROLENAME/exclude=ALIAS:remove
    ROLENAME は設定されたロールの名前です。
    ALIAS はこのマッピングの一意名です。Red Hat は、group-GROUPNAME などのエイリアスに命名規則を使用することを推奨します。
    [standalone@localhost:9999 access=authorization] ./role-mapping=Auditor/exclude=group-supervisors:remove
    {"outcome" => "success"}
    [standalone@localhost:9999 access=authorization]
    exclude リストからグループを削除しても、グループはシステムから削除されず、ロールがグループのメンバーに割り当てられる保証はありません。ロールはグループメンバーシップを基に除外される可能性があります。