第20章 セキュリティー管理
セキュリティー管理とは、ユーザー、グループ、パーミッションを管理するプロセスです。Business Central セキュリティー管理ページから Business Central のリソースおよび機能へのアクセスを制御できます。
Business Central は、ユーザー、グループ、およびロールのセキュリティー管理のエンティティーを 3 種類定義します。パーミッションは、ロールにもグループにも両方割り当てることができます。ユーザーは、所属するグループおよびロールのパーミッションを継承します。
20.1. セキュリティー管理プロバイダー
レルムは、セキュリティー管理のコンテキストで各種アプリケーションリソースへのアクセスを制限します。レルムには、ユーザー、グループ、ロール、パーミッションに関する情報が含まれます。特定のレルムに対する具体的なユーザーおよびグループ管理サービスの実装は、セキュリティー管理プロバイダーと呼ばれます。
組み込みのセキュリティー管理プロバイダーがアプリケーションセキュリティーレルムの要件を満たさない場合は、独自のセキュリティー管理プロバイダーを構築して登録できます。
セキュリティー管理プロバイダーがインストールされていない場合は、セキュリティーレルムを管理するユーザーインターフェイスは利用できません。セキュリティー管理プロバイダーをインストールして設定した後に、セキュリティー管理ユーザーインターフェイスでユーザーおよびグループの管理機能は自動的に有効になります。
Business Central には、application-users.properties
または application-roles.properties
プロパティーファイルの内容を基にレルムタイプをサポートする Red Hat JBoss EAP セキュリティー管理プロバイダーが含まれます。
20.1.1. プロパティーファイルを基にした Red Hat JBoss EAP セキュリティー管理プロバイダーの設定
独自の Red Hat JBoss EAP セキュリティー管理プロバイダーを構築して登録できます。プロパティーファイルを基にして Red Hat JBoss EAP セキュリティー管理プロバイダーを使用するには、以下の手順を行います。
前提条件
- Red Hat JBoss EAP がインストールされている。
手順
Red Hat JBoss EAP インスタンスの既存のユーザーまたはロールプロパティーファイルを使用するには、以下の例で示すように、
EAP_HOME/standalone/configuration/application-users.properties
およびEAP_HOME/standalone/configuration/application-roles.properties
ファイルに以下のシステムプロパティーを含めます。<property name="org.uberfire.ext.security.management.wildfly.properties.realm" value="ApplicationRealm"/> <property name="org.uberfire.ext.security.management.wildfly.properties.users-file-path" value="/standalone/configuration/application-users.properties"/> <property name="org.uberfire.ext.security.management.wildfly.properties.groups-file-path" value="/standalone/configuration/application-roles.properties"/>
以下の表は、これらのプロパティーの説明とデフォルト値を示しています。
表20.1 プロパティーファイルを基にする Red Hat JBoss EAP セキュリティー管理プロバイダー プロパティー 説明 デフォルト値 org.uberfire.ext.security.management.wildfly.properties.realm
レルムの名前このプロパティーは必須ではありません。
ApplicationRealm
org.uberfire.ext.security.management.wildfly.properties.users-file-path
ユーザープロパティーファイルの絶対パス。このプロパティーは必須です。
./standalone/configuration/application-users.properties
org.uberfire.ext.security.management.wildfly.properties.groups-file-path
グループプロパティーファイルの絶対パス。このプロパティーは必須です。
./standalone/configuration/application-roles.properties
アプリケーションのルートディレクトリーに
security-management.properties
ファイルを作成します。たとえば、以下のファイルを作成します。src/main/resources/security-management.properties
security-management.properties
ファイルの値として、以下のシステムプロパティーおよびセキュリティープロバイダー名を入力します。<property name="org.uberfire.ext.security.management.api.userManagementServices" value="WildflyUserManagementService"/>
20.1.2. プロパティーファイルと CLI モードを基にした Red Hat JBoss EAP セキュリティー管理プロバイダーの設定
プロパティーファイルと CLI モードを基に Red Hat JBoss EAP セキュリティー管理プロバイダーを使用するには、以下の手順を行います。
前提条件
- Red Hat JBoss EAP がインストールされている。
手順
Red Hat JBoss EAP インスタンスの既存のユーザーまたはロールプロパティーファイルを使用するには、以下の例で示すように、
EAP_HOME/standalone/configuration/application-users.properties
およびEAP_HOME/standalone/configuration/application-roles.properties
ファイルに以下のシステムプロパティーを含めます。<property name="org.uberfire.ext.security.management.wildfly.cli.host" value="localhost"/> <property name="org.uberfire.ext.security.management.wildfly.cli.port" value="9990"/> <property name="org.uberfire.ext.security.management.wildfly.cli.user" value="<USERNAME>"/> <property name="org.uberfire.ext.security.management.wildfly.cli.password" value="<USER_PWD>"/> <property name="org.uberfire.ext.security.management.wildfly.cli.realm" value="ApplicationRealm"/>
以下の表は、これらのプロパティーの説明とデフォルト値を示しています。
表20.2 プロパティーファイルと CLI モードを基にする Red Hat JBoss EAP セキュリティー管理プロバイダー プロパティー 説明 デフォルト値 org.uberfire.ext.security.management.wildfly.cli.host
ネイティブ管理インターフェイスホスト。
localhost
org.uberfire.ext.security.management.wildfly.cli.port
ネイティブ管理インターフェイスポート。
9990
org.uberfire.ext.security.management.wildfly.cli.user
ネイティブ管理インターフェイスのユーザー名。
NA
org.uberfire.ext.security.management.wildfly.cli.password
ネイティブ管理インターフェイスのユーザーのパスワード。
NA
org.uberfire.ext.security.management.wildfly.cli.realm
アプリケーションのセキュリティーコンテキストで使用されるレルム。
ApplicationRealm
アプリケーションのルートディレクトリーに
security-management.properties
ファイルを作成します。たとえば、以下のファイルを作成します。src/main/resources/security-management.properties
security-management.properties
ファイルの値として、以下のシステムプロパティーおよびセキュリティープロバイダー名を入力します。<property name="org.uberfire.ext.security.management.api.userManagementServices" value="WildflyCLIUserManagementService"/>