Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

3.4.2. 例

注記

この例では、既存の LDAP サーバーに接続し、認証と承認用に設定された LDAPRealm という名前のセキュリティーレルムが作成されていることを前提としています。現在の設定を表示するコマンドについては、後のセクションで詳しく説明します。LDAP を使用するセキュリティーレルムの作成の詳細については、こちらを参照してください。

ベース設定の例

"core-service" : {
        "management" : {
            "security-realm" : {
                "LDAPRealm" : {
                    "authentication" : {"ldap" : {
                        "allow-empty-passwords" : false,
                        "base-dn" : "...",
                        "connection" : "MyLdapConnection",
                        "recursive" : false,
                        "user-dn" : "dn",
                        "username-attribute" : "uid",
                        "cache" : null
                    }},
                    "authorization" : {"ldap" : {
                        "connection" : "MyLdapConnection",
                        "group-search" : {"group-to-principal" : {
                            "base-dn" : "...",
                            "group-dn-attribute" : "dn",
                            "group-name" : "SIMPLE",
                            "group-name-attribute" : "uid",
                            "iterative" : true,
                          "principal-attribute" : "uniqueMember",
                            "search-by" : "DISTINGUISHED_NAME",
                            "cache" : null
                        }},
                        "username-to-dn" : {"username-filter" : {
                            "attribute" : "uid",
                            "base-dn" : "...",
                            "force" : false,
                            "recursive" : false,
                            "user-dn-attribute" : "dn",
                            "cache" : null
                        }}
                    }},
                }
            }
        }

"cache" : null が表示されるすべてのエリアで、キャッシュを設定できます。

認証
認証時に、ユーザーの識別名はこの定義を使用して検出されます。また、LDAP サーバーへの接続が試行され、その ID がこれらの認証情報を使用して作成されます。
group-search 定義
グループ検索の定義があります。この場合は反復検索です (上記のサンプル設定では iterativetrue に設定されているため)。まず、ユーザーが直接メンバーとなっているすべてのグループを見つける検索が実行されます。その後、これらの各グループに検索が実行され、他のグループにメンバーシップがあるかどうかが特定されます。このプロセスは、cyclic 参照が検出されるまで、または最終グループが他のグループのメンバーではないまで継続されます。
グループ検索の username-to-dn 定義
グループ検索は、ユーザーの識別名の可用性に依存します。このセクションはすべての状況で使用されるわけではありませんが、ユーザーの識別名の検出試行に使用することができます。これは、たとえば、2 番目の形式の認証 (ローカル認証など) がサポートされている場合に役立つか、必要になる場合があります。

3.4.2.1. 現在のキャッシュ設定の読み取り

注記

本セクションおよび後続のセクションで使用される CLI コマンドは、セキュリティーレルムの名前に LDAPRealm を使用します。これは、設定する実際のレルムの名前に置き換えてください。

現在のキャッシュ設定を読み取る CLI コマンド

/core-service=management/security-realm=LDAPRealm:read-resource(recursive=true)

出力

{
    "outcome" => "success",
    "result" => {
        "map-groups-to-roles" => true,
        "authentication" => {"ldap" => {
            "advanced-filter" => undefined,
            "allow-empty-passwords" => false,
            "base-dn" => "dc=example,dc=com",
            "connection" => "ldapConnection",
            "recursive" => true,
            "user-dn" => "dn",
            "username-attribute" => "uid",
            "cache" => undefined
        }},
        "authorization" => {"ldap" => {
            "connection" => "ldapConnection",
            "group-search" => {"principal-to-group" => {
                "group-attribute" => "description",
                "group-dn-attribute" => "dn",
                "group-name" => "SIMPLE",
                "group-name-attribute" => "cn",
                "iterative" => false,
                "prefer-original-connection" => true,
                "skip-missing-groups" => false,
                "cache" => undefined
            }},
            "username-to-dn" => {"username-filter" => {
                "attribute" => "uid",
                "base-dn" => "ou=Users,dc=jboss,dc=org",
                "force" => true,
                "recursive" => false,
                "user-dn-attribute" => "dn",
                "cache" => undefined
            }}
        }},
        "plug-in" => undefined,
        "server-identity" => undefined
    }
}