第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 → Subsystems Security (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. Configuration Subsystems Security (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. Configuration Subsystems Security (Elytron) Mappers / Decoders と選択し、表示 をクリックします。
  3. Role Decoder をクリックし、適切なロールデコーダータイプを選択し、Add をクリックして新規ロールデコーダーを設定します。

1.1.2.5. elytron サブシステムへの source-address-role-decoder の追加

管理 CLI または管理コンソールのいずれかを使用して、source-address-role-decoder ロールデコーダを elytron サブシステムに追加します。このロールデコーダを mappers 要素に設定して、クライアントの IP アドレスで権限付与に関する判断を下すことができます。

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

注記

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

前提条件

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

手順

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

    mappers 要素に source-address-role-decoder を追加した例。

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

    この例では、 source-address-role-decoderdecoder1 と名付けて設定しています。クライアントのサーバー接続時に、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 が使用されます。

    設定されている source-address-role-decoder,decoder1role-decoder 属性で参照している例。

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

関連情報

  • 管理コンソールでロールデコーダーを追加する方法は、Elytron Subsystem を参照してください。
  • elytron サブシステムは、Security ArchitectureガイドのElytron Subsystemを参照してください。

1.1.3. elytron サブシステムへの aggregate-role-decoder の設定

aggregate-role-decoder は、2 つ以上のロールデコーダーで設定されます。aggregate-role-decoder を使用すると、各ロールデコーダから返されたロールを集約できます。

前提条件

  • elytron サブシステムに少なくとも 2 つのロールデコーダを設定する。

手順

  • aggregate-role-decoder ロールデコーダに少なくとも 2 つのロールデコーダを追加します。

    aggregate-role-decoder ロールデコーダに decoder1decoder2 を追加した例。

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

関連情報

  • elytron サブシステムで利用可能なロールデコーダは、Security ArchitectureガイドのResources in Elytron Subsystemを参照してください。
  • ロールデコーダの作成については、Elytron Subsystem を参照してください。

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. Configuration Subsystems Security (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. Configuration Subsystems Security (Elytron) Mappers / Decoders と選択し、表示 をクリックします。
  3. Principal Decoder をクリックし、適切なプリンシパルデコーダータイプを選択して、Add をクリックし、新しいプリンシパルデコーダーを設定します。

1.1.3.4. 認証設定の作成

認証設定には、接続を行う際に使用する認証情報が含まれます。認証設定の詳細は、JBoss EAPHow to Configure Identity ManagementElytron クライアントによるクライアント認証の設定 を参照してください。

注記

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 → Subsystems Security (Elytron) Other Settings と選択し、表示 をクリックします。
  3. Authentication Authentication Configuration の順にクリックし、Add をクリックして新しい認証設定を設定します。

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

1.1.3.5. authentication-context の作成

認証コンテキストには、一連のルールと、接続の確立に使用する 認証設定 または SSL contexts が含まれます。認証コンテキストの詳細は、JBoss EAP アイデンティティー管理の設定方法Elytron クライアントによるクライアント認証の設定 を参照してください。

管理 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 → Subsystems Security (Elytron) Other Settings と選択し、表示 をクリックします。
  3. Authentication Authentication 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 → Subsystems Security (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 → Subsystems Security (Elytron) Other Settings と選択し、表示 をクリックします。
  3. Stores Key Store の順にクリックし、Add をクリックして新しいキーストアを設定します。

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

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

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

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

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

Elytron サブシステムはデフォルトで KeyManagerFactory.getDefaultAlgorithm() を使用してアルゴリズムを決定するため、Red Hat は前のコマンドでアルゴリズム属性を指定しませんでした。ただし、アルゴリズム属性は指定できます。アルゴリズム属性を指定するには、使用している JDK によるキーマネージャーアルゴリズムを知る必要があります。たとえば、SunJSSE を使用する JDK は、PKIX および SunX509 アルゴリズムを提供します。

前のコマンドでは、SunX509 をキーマネージャーアルゴリズム属性として指定できます。

管理コンソールを使用したキーマネージャーの追加
  1. 管理コンソールにアクセスします。詳細は、JBoss EAP設定ガイド 管理コンソール を参照してください。
  2. Configuration → Subsystems Security (Elytron) Other Settings と選択し、表示 をクリックします。
  3. SSL Key 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 を使用するようにアプリケーションを設定するには、アイデンティティ管理ガイドの設定方法認証に Elytron またはレガシーセキュリティーを使用するよう Web アプリケーションを設定する手順 を参照してください。また、JBoss EAP アイデンティティー管理の設定方法アプリケーションの認証設定の上書き の手順に従って、すべてのアプリケーションのデフォルトの動作を上書きできます。

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 セキュリティードメインでバッチジョブを実行することができます。詳細は、設定ガイドバッチジョブのセキュリティー設定 を参照してください。
datasources
クレデンシャルストアまたは Elytron セキュリティードメインを使用することで、データソース定義に認証情報を提供できます。詳細は、設定ガイド データセキュリティー を参照してください。
ejb3
Elytron セキュリティードメインのマッピングを ejb3 サブシステムで作成し、デプロイメントによって参照されるようにすることができます。詳細は、Jakarta Enterprise Beans アプリケーションの開発EJB サブシステムと Elytron の統合 を参照してください。
iiop-openjdk
elytron サブシステムを使用することで、iiop-openjdk サブシステムを使用してクライアントとサーバーの間で SSL/TLS を設定できます。詳細は、設定ガイドElytron サブシステムで SSL/TLS を使用するよう IIOP を設定 を参照してください。
jca
elytron-enabled 属性を使用して、ワークマネージャーの Elytron セキュリティーを有効にできます。詳細は、JBoss EAP設定ガイドIO サブシステムの設定 を参照してください。
jgroups
SYM_ENCRYPT および ASYM_ENCRYPT プロトコルを設定して、elytron サブシステムで定義されたキーストアまたは認証情報リファレンスを参照できます。詳細については、設定ガイド クラスターのセキュア化 を参照してください。
mail
認証情報ストアを使用することで、mail サブシステムのサーバー定義に認証情報を指定できます。詳細は、設定ガイドパスワードに認証情報ストアを使用 を参照してください。
messaging-activemq
messaging-activemq サブシステムで使用されるリモート接続へのリモート接続を保護することができます。詳細は、メッセージングの設定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 を使用してリソースアダプターへの接続をセキュアにすることができます。作業マネージャーによって実行される作業を送信するときに、セキュリティーインフローを有効にしてセキュリティー認証情報を確立できます。詳細は、設定ガイド Elytron サブシステムを使用するようリソースアダプターを設定 を参照してください。
undertow
elytron サブシステムを使用すると、SSL/TLS とアプリケーション認証の両方を設定できます。アプリケーション認証の設定に関する詳細は、How to Configure Identity ManagementSSL/TLS の使用認証に Elytron またはレガシーセキュリティーを使用するよう Web アプリケーションを設定する手順 を参照してください。

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. セキュリティーサブシステムの無効化

サブシステムの remove オペレーションを実行して、JBoss EAP の security サブシステムを無効にできます。

手順

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

    /subsystem=security:remove
重要

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

1.1.4.2. セキュリティーサブシステムの有効化

サブシステムの add 操作を実行して、JBoss EAP の security サブシステムを有効にすることができます。

手順

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

    /subsystem=security:add

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

JBoss EAP はセキュリティーレルムを使用して、ローカル、LDAP、プロパティーなどの認証および承認メカニズムを定義します。

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

<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. 管理インターフェイスのセキュア化に認証とソケットバインディングを使用する

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

デフォルトでは、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
        }
    }
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.