第1章 サーバーおよびインターフェースの保護

1.1. ブロックの構築

1.1.1. インターフェースおよびソケットバインディング

JBoss EAP は、ホストのインターフェー (inet-addressnic など) と、Web アプリケーションとその管理インターフェースの両方との通信用のポートを使用します。これらのインターフェースおよびポートは、JBoss EAP の インターフェース および socket-binding-groups 設定により定義され、設定されます。

インターフェースおよび socket-binding-groups の定義および設定方法に関する詳細は、JBoss EAP『 設定ガイド』の「 ソケットバインディング 」を参照してください

例: インターフェース

<interfaces>
  <interface name="management">
    <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
  </interface>
  <interface name="public">
    <inet-address value="${jboss.bind.address:127.0.0.1}"/>
  </interface>
</interfaces>

例: ソケットバインディンググループ

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
    <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
    <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
    <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
    <socket-binding name="http" port="${jboss.http.port:8080}"/>
    <socket-binding name="https" port="${jboss.https.port:8443}"/>
    <socket-binding name="txn-recovery-environment" port="4712"/>
    <socket-binding name="txn-status-manager" port="4713"/>
    <outbound-socket-binding name="mail-smtp">
        <remote-destination host="localhost" port="25"/>
    </outbound-socket-binding>
</socket-binding-group>

1.1.2. Elytron サブシステム

1.1.2.1. サーバー全体での Elytron セキュリティーの有効化

Elytron は、シンプルな方法でサーバー全体に有効にできます。JBoss EAP 7.1 では、Elytron をセキュリティープロバイダーとして有効にするサンプル設定スクリプトが導入されました。このスクリプトは、サーバーインストールの EAP_HOME/docs/examples ディレクトリーにあります。

以下のコマンドを実行して、サーバー全体で Elytron セキュリティーを有効にします。

$ EAP_HOME/bin/jboss-cli.sh --file=EAP_HOME/docs/examples/enable-elytron.cli

1.1.2.2. Elytron セキュリティードメインの作成

elytron サブシステムのセキュリティードメインはセキュリティーレルムと併せて使用されると、コア管理認証とアプリケーションによる認証の両方に使用されます。

重要

Elytron セキュリティードメインの使用は、ドメインごとに 1 つに限定されます。複数のレガシーセキュリティーが必要である場合、1 つの Elytron セキュリティードメインを使用して対応できるようになりました。

管理 CLI を使用したセキュリティードメインの追加
/subsystem=elytron/security-domain=domainName:add(realms=[{realm=realmName,role-decoder=roleDecoderName}],default-realm=realmName,permission-mapper=permissionMapperName,role-mapper=roleMapperName,...)
管理コンソールを使用したセキュリティードメインの追加
  1. 管理コンソールにアクセスします。詳細は、JBoss EAP『 設定ガイド』の「 管理コンソール 」を参照してください
  2. Configuration → SubsystemsSecurity (Elytron)Other Settings と選択し、表示 をクリックします。
  3. SSLセキュリティードメイン を選択し、追加 ボタンをクリックして新しいセキュリティードメインを設定します。

1.1.2.3. Elytron セキュリティーレルムの作成

elytron サブシステムのセキュリティーレルムはセキュリティードメインと併せて使用されると、コア管理認証とアプリケーションによる認証の両方に使用されます。また、セキュリティレルムは、jdbc-realmfilesystem-realmproperties-realm など、アイデンティティーストアに基づいて具体的に入力されます。

管理 CLI を使用したセキュリティーレルムの追加
/subsystem=elytron/type-of-realm=realmName:add(....)

jdbc-realmfilesystem-realm、および properties-realm などの特定のレルムを追加する例は、前のセクションにあります。

管理コンソールを使用したセキュリティーレルムの追加
  1. 管理コンソールにアクセスします。詳細は、JBoss EAP『 設定ガイド』の「 管理コンソール 」を参照してください
  2. ConfigurationSubsystemsSecurity (Elytron)Security Realms と選択し、表示 をクリックします。
  3. セキュリティレルム タブから適切なセキュリティレルムタイプを選択し、追加 をクリックして新しいセキュリティレルムを設定します。

1.1.2.4. Elytron ロールデコーダーの作成

ロールデコーダーは、セキュリティレルムによって提供される ID の属性をロールに変換します。また、役割デコーダーは、empty-role-decodersimple-role-decodercustom-role-decoder などの機能に基づいて具体的に入力されます。

管理 CLI を使用したロールデコーダーの追加
/subsystem=elytron/ROLE-DECODER-TYPE=roleDeoderName:add(....)
管理コンソールを使用したロールデコーダーの追加
  1. 管理コンソールにアクセスします。詳細は、JBoss EAP『 設定ガイド』の「 管理コンソール 」を参照してください
  2. ConfigurationSubsystemsSecurity (Elytron)Mappers / Decoders と選択し、表示 をクリックします。
  3. Role Decoder をクリックし、適切なロールデコーダータイプを選択し、Add をクリックして新規ロールデコーダーを設定します。

1.1.2.5. Source-address-role-decoderelytron サブシステムへの追加

管理 CLI または管理コンソールを使用して、source-address-role-decoder ロールデコーダーを elytron サブシステムに追加できます。このロールデコーダーを mappers 要素に設定すると、承認決定を行うときにクライアントの IP アドレスを使用します。

Source-address-role-decoder はクライアントの IP アドレスを抽出し、pattern 属性または source-address 属性で指定された IP アドレスと一致するかどうかを確認します。クライアントの IP アドレスがいずれかの属性で指定された IP アドレスと一致する場合、elytronroles 属性を使用してロールをユーザーに割り当てます。

注記

この手順では、管理 CLI を使用して source-address-role-decoderelytron サブシステムの mappers 要素に追加します。管理コンソールを使用してこのタスクを完了する場合は、「 追加リソース 」セクションで提供されるリンクを参照してください。

前提条件

  • サーバーのクライアントの IP アドレスを書き留めておきます。

手順

  1. Elytron サブシステムでは、管理 CLI を使用して source-address-role-decoder を追加します。Source-address-role-decoder には、ユーザーに IP アドレスと少なくとも 1 つのロールを指定する必要があります。

    Source-address-role-decodermappers 要素に追加する例:

    /subsystem=elytron/source-address-role-decoder=decoder1:add(source-address="10.10.10.10", roles=["Administrator"])

    この例では、decoder 1 という名前が付けられた、設定済みの source-address-role-decoder を示しています。クライアントがサーバーへの接続を試みると、elytron サブシステムは source-address-role-decoder を使用して、クライアントの IP アドレスが pattern 属性または source-address 属性で指定された IP アドレスと一致することを確認します。上記の例では、source-address-role-decoder はクライアントの IP アドレスが 10.10.10.10 かどうかを確認します。クライアントの IP アドレスが 10.10.10.10 の場合、elytronroles 属性を使用して Administrator ロールをユーザーに割り当てます。

    注記

    Source-address-role-decoder を設定して、異なるネットワークから接続を確立する必要があるユーザーに特定のロールを割り当てることができます。

  2. Security-domain で、role -decoder 属性で設定された source-address-role -decoder を参照します。これにより、Elytron セキュリティードメインは承認の決定時に source-address-role-decoder を使用するようになります。

    Role- decoder 属性で、設定済みの source-address-role -decoder 1 を参照する例:

    /subsystem=elytron/security-domain=domainName:add(role-decoder=decoder1,default-realm=realmName,realms=[{realm=realmName}])

関連情報

1.1.3. Aggregate-role-decoderelytron サブシステムへの 設定

aggregate-role-decoder は、2 つ以上のロールデコーダーで構成されます。Aggregate-role-decoder を使用して、各ロールデコーダーから返されたロールを集約できます。

前提条件

  • Elytron サブシステムで 少なくとも 2 つのロールデコーダーを設定します。

手順

  • Aggregate-role-decoder ロールデコーダーに、2 つ以上のロールデコーダーを追加します。

    Decoder1 および decoder 2aggregate-role-decoder ロールデコーダーに追加する例:

    /subsystem=elytron/aggregate-role-decoder=aggregateDecoder:add(role-decoders=[decoder1, decoder2])

関連情報

1.1.3.1. Elytron ロールマッパーの作成

ロールマッパーは、ロールが他のロールにデコードされた後にロールをマッピングします。例には、ロール名の正規化、またはデコードされた後のプリンシパルへの特定のロールの追加と、このプリンシパルからの削除が含まれます。ロールマッパーは、たとえばadd-prefix-role-mapperadd-suffix-role-mapperconstant-role-mapper などの機能に基づいて具体的に型が指定されます。

ロールマッパーを追加すると、一般的な形式になります
/subsystem=elytron/ROLE-MAPPER-TYPE=roleMapperName:add(...)
管理コンソースを使用したロールマッパーの追加
  1. 管理コンソールにアクセスします。詳細は、JBoss EAP『 設定ガイド』の「 管理コンソール 」を参照してください
  2. ConfigurationSubsystemsSecurity (Elytron)Mappers / Decoders と選択し、表示 をクリックします。
  3. Role Mapper をクリックし、適切なロールマッパータイプを選択し、Add をクリックして新規ロールマッパーを設定します。

1.1.3.2. Elytron パーミッションセットの作成

パーミッションセットを使用すると、パーミッションをアイデンティティーに割り当てることができます。

管理 CLI を使用したパーミッションセットの追加
/subsystem=elytron/permission-set=PermissionSetName:add(permissions=[{class-name="...", module="...", target-name="...", action="..."}...])

permissions パラメーターは一連のパーミッションで構成されます。各パーミッションには次の属性があります。

  • class-name は、パーミッションの完全修飾クラス名です。これは、必要な唯一のパーミッション属性です。
  • モジュール は、パーミッションのロードに使用されるオプションのモジュールです。
  • target-name は、構築されるときにパーミッションに渡される任意のターゲット名です。
  • action は、構築されたときにパーミッションに渡される任意のアクションです。

1.1.3.3. Elytron パーミッションマッパーの作成

アイデンティティーに割り当てられているロールに加え、パーミッションを割り当てることもできます。パーミッションマッパーはパーミッションをアイデンティティーに割り当てます。パーミッションマッパーは、その機能に基づいて、logical-permission-mappersimple-permission-mappercustom-permission-mapper などのように具体的に型指定されます。

管理 CLI を使用したパーミッションマッパーの追加
/subsystem=elytron/simple-permission-mapper=PermissionMapperName:add(...)
管理コンソールを使用したパーミッションマッパーの追加
  1. 管理コンソールにアクセスします。詳細は、JBoss EAP『 設定ガイド』の「 管理コンソール 」を参照してください
  2. ConfigurationSubsystemsSecurity (Elytron)Mappers / Decoders と選択し、表示 をクリックします。
  3. Principal Decoder をクリックし、適切なプリンシパルデコーダータイプを選択して、Add をクリックし、新しいプリンシパルデコーダーを設定します。

1.1.3.4. 認証設定の作成

認証設定には、接続を行う際に使用する認証情報が含まれます。認証設定の詳細は、JBoss EAP『 How to Configure Identity Management』の「 Configure Client Authentication with Elytron Client 」を参照してください。

注記

Elytron セキュリティドメインは、認証情報ストアの代わりに、アクセスしているユーザーの認証情報を使用するように設定できます。たとえば、セキュリティドメインは、アクセスしてくるユーザーの認証に Kerberos と組み合わせて使用できます。JBoss EAP『Kerberos による SSO のセットアップ方法』の「 Configure the Elytron Subsystem に従い、Kerberos セキュリティーファクトリーで obtain-kerberos-ticket=true を設定します。

管理 CLI を使用した認証設定の追加
/subsystem=elytron/authentication-configuration=AUTHENTICATION_CONFIGURATION_NAME:add(authentication-name=AUTHENTICATION_NAME, credential-reference={clear-text=PASSWORD})
管理コンソールを使用した認証設定の追加
  1. 管理コンソールにアクセスします。詳細は、JBoss EAP『 設定ガイド』の「 管理コンソール 」を参照してください
  2. Configuration → SubsystemsSecurity (Elytron)Other Settings と選択し、表示 をクリックします。
  3. AuthenticationAuthentication Configuration の順にクリックし、Add をクリックして新しい認証設定を構成します。

authentication-configuration 属性の完全リストは、「Elytron サブシステムのコンポーネント 」を参照してください。

1.1.3.5. authentication-context の作成

認証コンテキストには、一連のルールと、接続の確立に使用する 認証設定 または SSL contexts が含まれます。認証コンテキストの詳細は、JBoss EAP『 How to Configure Identity Management』の「 Configure Client Authentication with Elytron Client 」を参照してください。

管理 CLI を使用した認証コンテキストの追加

認証コンテキストは、以下の管理 CLI コマンドを使用して作成できます。

/subsystem=elytron/authentication-context=AUTHENTICATION_CONTEXT_NAME:add()

通常、認証コンテキストには一連のルールと、認証設定または SSL コンテキストのいずれかが含まれます。以下の CLI コマンドは、ホスト名が localhost の場合にのみ機能する認証コンテキストの定義を示しています。

/subsystem=elytron/authentication-context=AUTHENTICATION_CONTEXT_NAME:add(match-rules=[{authentication-configuration=AUTHENTICATION_CONFIGURATION_NAME, match-host=localhost}])
管理コンソールを使用した認証コンテキストの追加
  1. 管理コンソールにアクセスします。詳細は、JBoss EAP『 設定ガイド』の「 管理コンソール 」を参照してください
  2. Configuration → SubsystemsSecurity (Elytron)Other Settings と選択し、表示 をクリックします。
  3. AuthenticationAuthentication Context の順にクリックし、Add をクリックして、新しい認証コンテキストを設定します。

authentication-context 属性の完全リストは、「Elytron サブシステムのコンポーネント 」を参照してください。

1.1.3.6. Elytron 認証ファクトリーの作成

認証ファクトリーは、特定の認証メカニズムに使用される認証ポリシーです。認証ファクトリーは特に、http-authentication-factorysasl-authentication-factory および kerberos-security-factory などの認証メカニズムに基づいています。

管理 CLI を使用した認証ファクトリーの追加
/subsystem=elytron/AUTH-FACTORY-TYPE=authFactoryName:add(....)
管理コンソールを使用した認証ファクトリーの追加
  1. 管理コンソールにアクセスします。詳細は、JBoss EAP『 設定ガイド』の「 管理コンソール 」を参照してください
  2. Configuration → SubsystemsSecurity (Elytron)Factories / transformers の順に選択し、表示 をクリックします。
  3. HTTP FactoriesSASL Factories、または Other Factories をクリックして、適切なファクトリータイプを選択し、Add をクリックして新しいファクトリーを構成します。

1.1.3.7. Elytron キーストアの作成

key-store は、キーストアの種類、その場所、アクセスするためのクレデンシャルなどを含むキーストアまたはトラストストアの定義です。

elytron サブシステムで使用するキーストアのサンプルを生成するには、以下のコマンドを使用します。

$ keytool -genkeypair -alias localhost -keyalg RSA -keysize 1024 -validity 365 -keystore keystore.jks -dname "CN=localhost" -keypass secret -storepass secret
管理 CLI を使用したキーストアの追加

新たに作成されたキーストアを参照する Elytron で key-store を定義するには、以下の管理 CLI コマンドを実行します。このコマンドは、提供されるファイルシステムパス、キーストアのアクセスに使用される認証情報の参照、キーストアのタイプに関連したキーストアへのパスを指定します。

/subsystem=elytron/key-store=newKeyStore:add(path=keystore.jks,relative-to=jboss.server.config.dir,credential-reference={clear-text=secret},type=JKS)
注記

上記のコマンドは、relative-to を使用してキーストアファイルの場所を参照します。または、path のキーストアにフルパスを指定することで、relative-to を省略できます。

管理コンソールを使用したキーストアの追加
  1. 管理コンソールにアクセスします。詳細は、JBoss EAP『 設定ガイド』の「 管理コンソール 」を参照してください
  2. Configuration → SubsystemsSecurity (Elytron)Other Settings と選択し、表示 をクリックします。
  3. StoresKey Store の順にクリックし、Add をクリックして新しいキーストアを設定します。

1.1.3.8. Elytron キーマネージャーの作成

key-managerkey-store を参照し、SSL コンテキストとともに使用されます。

管理 CLI を使用したキーマネージャーの追加

以下のコマンドは、参照する基盤のキーストア、キーマネージャーを初期化するときに使用するアルゴリズム、基礎となるキーストアのエントリーにアクセスするための認証情報の参照を指定します。

/subsystem=elytron/key-manager=newKeyManager:add(key-store=KEY_STORE,algorithm="PKIX",credential-reference={clear-text=secret})
重要

アルゴリズムが指定されていない場合は、デフォルトの KeyManagerFactory アルゴリズム名に設定されます。

使用できるキーマネージャーアルゴリズムは、使用中の JDK によって提供されます。たとえば、SunJSSE を使用する JDK は、PKIX および SunX509 アルゴリズムを提供します。

管理コンソールを使用したキーマネージャーの追加
  1. 管理コンソールにアクセスします。詳細は、JBoss EAP『 設定ガイド』の「 管理コンソール 」を参照してください
  2. Configuration → SubsystemsSecurity (Elytron)Other Settings と選択し、表示 をクリックします。
  3. SSLKey Manager をクリックし、Add をクリックして新しいキーマネージャーを設定します。

1.1.3.9. Elytron トラストストアの作成

Elytron でトラストストアを作成するには、以下の CLI コマンドを実行します。

/subsystem=elytron/key-store=default-trust-store:add(type=JKS, relative-to=jboss.server.config.dir, path=application.truststore, credential-reference={clear-text=password})

このコマンドを正常に実行するには、EAP_HOME/standalone/configuration ディレクトリー内に application.truststore ファイルを含める必要があります。エンドポイントの証明書が CA によって署名されている場合は、トラストストアに、エンドポイントや証明書チェーンに関連付けられた証明書が含まれる必要があります。

Red Hat は、自己署名証明書の使用は推奨していません。理想的には、証明書は CA によって署名され、トラストストアには、ROOT および中間 CA を示す証明書チェーンが含まれている必要があります。

1.1.3.10. Elytron トラストマネージャーの作成

Elytron でトラストマネージャーを定義するには、以下の CLI コマンドを実行します。

/subsystem=elytron/trust-manager=default-trust-manager:add(key-store=TRUST-STORE-NAME)

これにより、アプリケーションサーバーが信頼する証明書のソースとして、定義されたトラストストアが設定されます。

1.1.3.11. 初期状態の Elytron コンポーネントの使用

JBoss EAP では、elytron サブシステムで設定された一連のデフォルトの Elytron コンポーネントを利用できます。これらの事前設定されたコンポーネントの詳細は、『 セキュリティーアーキテクチャー 』ガイドの「 初期状態 」を参照してください。

1.1.3.11.1. 管理インターフェースのセキュア化

JBoss EAP を有効化して、管理インターフェースの保護を行うために初期状態の Elytron コンポーネントを使用する詳細は、「Elytron でのユーザー認証 」を参照してください。

1.1.3.11.2. アプリケーションの保護

elytron サブシステムではデフォルトで、http-authentication-factoryapplication-http-authentication を利用できます。これは、アプリケーションの保護に使用できます。Application-http-authentication の設定方法の詳細は、『 セキュリティーアーキテクチャー 』ガイドの 初期設定 」を参照してください。

Application-http-authentication を使用するようにアプリケーション を設定するには、『 How to Configure Identity Management Guide』の「Configure Web Applications to Use Elytron or Legacy Security for Authentication 」を参照してください。また、JBoss EAP『 How to Configure Identity Management Guide』 の「 Override an Application's Authentication Configuration 」の手順に従って、すべてのアプリケーションのデフォルトの動作を上書きできます。

1.1.3.11.3. SSL/TLS の使用

JBoss EAP では、レガシーコア管理認証を使用してデフォルトの一方向 SSL/TLS 設定を利用できます。ただし、elytron サブシステムでは利用できません。以下のセクションでは、管理インターフェースとアプリケーションの両方に elytron サブシステムを使用して SSL/TLS の設定に関する詳細を確認することができます。

1.1.3.11.4. Elytron を他のサブシステムで使用する

アプリケーションと管理インターフェースの保護に加えて、Elytron は JBoss EAP の他のサブシステムとも統合します。

batch-jberet
batch-jberet サブシステムを設定すると、Elytron セキュリティードメインでバッチジョブを実行することができます。詳細は、『Configuration Guide』の「 Configure Security for Batch Jobs 」を参照してください
datasources
クレデンシャルストアまたは Elytron セキュリティードメインを使用することで、データソース定義に認証情報を提供できます。詳細は、『 設定ガイド』の 「データソース セキュリティー」を参照してください
ejb3
Elytron セキュリティードメインのマッピングを ejb3 サブシステムで作成し、デプロイメントによって参照されるようにすることができます。詳細は、『 Jakarta Enterprise Beans アプリケーションの開発』の「 Elytron Integration with the EJB Subsystem 」を参照してください
iiop-openjdk
elytron サブシステムを使用することで、iiop-openjdk サブシステムを使用してクライアントとサーバーの間で SSL/TLS を設定できます。詳細は、『 設定ガイド』の「 Elytron サブシステムで SSL/TLS を使用するよう IIOP を設定」を参照してください
jca
elytron-enabled 属性を使用して、ワークマネージャーの Elytron セキュリティーを有効にできます。詳細は、『 設定ガイド』 の「JCA サブシステムの設定 」を参照してください
jgroups
SYM_ENCRYPT および ASYM_ENCRYPT プロトコルを設定して、elytron サブシステムで定義されたキーストアまたは認証情報リファレンスを参照できます。詳細は、『 設定ガイド』の「 クラスターのセキュア化 」を参照してください
mail
認証情報ストアを使用することで、mail サブシステムのサーバー定義に認証情報を指定できます。詳細は、『Configuration Guide』の「 Use a Credential Store for Passwords 」を参照してください
messaging-activemq
messaging-activemq サブシステムで使用されるリモート接続へのリモート接続を保護することができます。詳細は、『 Configuring Messaging 』の「 Using the Elytron Subsystem 」を参照してください。
modcluster
Elytron クライアント ssl-context を使用することで、SSL/TLS を使用してロードバランサーと通信できます。詳細は、「Elytron Integration with the ModCluster Subsystem」を参照してください。
remoting
remoting サブシステムのインバウンドおよびアウトバウンド接続を設定して、elytron サブシステムに定義された認証コンテキスト、SASL 認証ファクトリー、および SSL コンテキストを参照できます。各種類の接続の設定に関する詳細は、「Elytron Integration with the Remoting Subsystem」を参照してください。
resource-adapters
Elytron を使用してリソースアダプターへの接続をセキュアにすることができます。作業マネージャーによって実行される作業を送信するときに、セキュリティインフローを有効にしてセキュリティ資格情報を確立できます。詳細は、『Configuration Guide』の「 Configure Resource Adapters to Use the Elytron Subsystem 」を参照してください
undertow
elytron サブシステムを使用すると、SSL/TLS とアプリケーション認証の両方を設定できます。アプリケーション認証の設定に関する詳細は、『 How to Configure Identity Management 』の「 SSL/TLS の使用 」および「Configure Web Applications to Use Elytron or Legacy Security for Authentication 」を参照してください。

1.1.3.12. Elytron サブシステムの有効化および無効化

elytron サブシステムは、レガシー security サブシステムとともにデフォルトの JBoss EAP プロファイルで事前設定されています。

elytron サブシステムが設定されていないプロファイルを使用している場合は、elytron エクステンションを追加し、elytron サブシステムを有効にして追加できます。

elytron サブシステムに必要な elytron 拡張機能を追加する方法:

/extension=org.wildfly.extension.elytron:add()

JBoss EAP で elytron サブシステムを有効にする方法:

/subsystem=elytron:add

reload

JBoss EAP で elytron サブシステムを無効にする方法:

/subsystem=elytron:remove

reload
重要

JBoss EAP 内の他のサブシステムには elytron サブシステムの依存関係があることがあります。これらの依存関係を無効にしても問題が解決されない場合、JBoss EAP の起動時にエラーが発生します。

1.1.4. レガシーセキュリティーサブシステム

1.1.4.1. Security サブシステムの有効化および無効化

JBoss EAP で security サブシステムを無効にする方法:

/subsystem=security:remove
重要

JBoss EAP 内のその他のサブシステムには、security サブシステムの依存関係があることがあります。これらの依存関係を無効にしても問題が解決されない場合、JBoss EAP の起動時にエラーが発生します。

JBoss EAP で security サブシステムを有効にする方法:

/subsystem=security:add

1.1.5. レガシーセキュリティーレルム

JBoss EAP はセキュリティーレルムを使用して、ローカル、LDAP、プロパティーなどの認証および承認メカニズムを定義します。セキュリティーレルムの背景情報は、Red Hat JBoss Enterprise Application Platform『 セキュリティーアーキテクチャー 』の「 セキュリティーレルム 」を参照してください。

例: セキュリティーレルム

<security-realms>
  <security-realm name="ManagementRealm">
    <authentication>
      <local default-user="$local" skip-group-loading="true"/>
      <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
    </authentication>
    <authorization map-groups-to-roles="false">
      <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
    </authorization>
  </security-realm>
  <security-realm name="ApplicationRealm">
    <authentication>
      <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
      <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
    </authentication>
    <authorization>
      <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
    </authorization>
  </security-realm>
</security-realms>

注記

JBoss EAP では、既存のセキュリティーレルムの更新に加え、新しいセキュリティーレルムの作成も可能になります。管理コンソールで新しいセキュリティーレルムを作成したり、管理 CLI から以下のコマンドを呼び出すこともできます。

/core-service=management/security-realm=NEW-REALM-NAME:add()

新しいセキュリティーレルムを作成し、認証または承認にプロパティーファイルを使用する場合は、新しいセキュリティードメイン専用の新しいプロパティーファイルを作成する必要があります。JBoss EAP は、他のセキュリティードメインによって使用される既存のファイルを再利用せず、設定ファイルが存在しない場合には、設定に指定された新しいファイルを自動的に作成します。

1.1.6. 管理インターフェースのセキュア化に認証とソケットバインディングを使用する

デフォルトでは、JBoss EAP は管理インターフェースに接続するための http-interface を定義します。

[standalone@localhost:9990 /] /core-service=management:read-resource(recursive=true)
{
    "outcome" => "success",
    "result" => {
        "access" => {...},
        "ldap-connection" => undefined,
        "management-interface" => {"http-interface" => {
            "allowed-origins" => undefined,
            "console-enabled" => true,
            "http-authentication-factory" => "management-http-authentication",
            "http-upgrade" => {
                "enabled" => true,
                "sasl-authentication-factory" => "management-sasl-authentication"
            },
            "http-upgrade-enabled" => true,
            "sasl-protocol" => "remote",
            "secure-socket-binding" => undefined,
            "security-realm" => undefined,
            "server-name" => undefined,
            "socket-binding" => "management-http",
            "ssl-context" => undefined
        }},
        "security-realm" => {...},
        "service" => undefined
    }
}

socket-bindinghttp-authentication-factory、およびhttp-upgrade を組み合わせることで、elytron サブシステムを使用して管理インターフェースを保護できます。または、security-realm とともに socket-binding を使用して、レガシーコア管理認証で管理インターフェースをセキュア化にすることもできます。また、管理インターフェースを無効にし、さまざまなロールとアクセス権を持つようにインターフェースのユーザーを設定することもできます。