第1章 ID ストアの設定
1.1. filesystem-realm の作成 リンクのコピーリンクがクリップボードにコピーされました!
1.1.1. Elytron のファイルシステムレルム リンクのコピーリンクがクリップボードにコピーされました!
ファイルシステムセキュリティーレルム filesystem-realm を使用すると、ファイルシステムベースのアイデンティティーストアを Elytron で使用して、ユーザーの認証情報と属性を保存できます。Elytron は、関連する認証情報と属性をファイルシステムの XML ファイルに保存します。XML ファイルの名前はアイデンティティーの名前です。複数の認証情報および属性を各アイデンティティーに関連付けることができます。
デフォルトでは、アイデンティティーは以下のようにファイルシステムに保存されます。
Elytron は、ID が保存されるディレクトリー構造に 2 つのレベルのディレクトリーハッシュを適用します。たとえば、"user1" という名前のアイデンティティーは、
u/s/user1.xmlの場所に保存されます。これは、単一のディレクトリーに保存できるファイルの数とパフォーマンス上の理由で、ファイルシステムにより設定された制限を解決するために行われます。
levels属性を使用して、適用するディレクトリーハッシュのレベル数を設定します。ID 名は、ファイル名として使用される前に Base32 でエンコードされます。これは、一部のファイルシステムが大文字と小文字を区別しない場合や、ファイル名で許可される文字のセットを制限する可能性があるためです。
encoded属性をfalseに設定することで、エンコーディングをオフにできます。
その他の属性とそのデフォルト値の詳細は、filesystem-realm 属性 を参照してください。
暗号化
filesystem-realm は、アイデンティティーを ID ファイルに保存する際に、クリアパスワード、ハッシュ化されたパスワード、および属性に Base64 エンコーディングを使用します。セキュリティーを強化するために、認証情報ストアに保存されている秘密鍵を使用して、クリアテキストのパスワード、ハッシュ化されたパスワード、および属性を暗号化できます。秘密鍵は、パスワードと属性を暗号化および復号するために使用されます。
整合性チェック
filesystem-realm で作成されたアイデンティティーが改ざんされないようにするために、作成時に filesystem-realm のキーペアを参照して、filesystem-realm で整合性チェックを有効にできます。
整合性チェックは、以下のように filesystem-realm で機能します。
-
整合性チェックを有効にして
filesystem-realmでアイデンティティーを作成すると、Elytron はアイデンティティーファイルを作成し、その署名を生成します。 - アイデンティティーファイルが読み取られるときに (アイデンティティーの更新時や認証のためにアイデンティティーをロードするときなど)、Elytron はアイデンティティーファイルの内容を署名と照合して検証し、最後に認可された書き込み以降にファイルが改ざんされていないことを確認します。
関連する署名を持つ既存のアイデンティティーを更新すると、Elytron はコンテンツを更新し、元のコンテンツが検証に合格した後に新しい署名を生成します。
検証に失敗した場合は、以下の失敗メッセージが表示されます。
{ "outcome" => "failed", "failure-description" => "WFLYCTL0158: Operation handler failed:java.lang.RuntimeException: WFLYELY01008: Failed to obtain the authorization identity.", "rolled-back" => true }{ "outcome" => "failed", "failure-description" => "WFLYCTL0158: Operation handler failed:java.lang.RuntimeException: WFLYELY01008: Failed to obtain the authorization identity.", "rolled-back" => true }Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.2. Elytron での filesystem-realm の作成 リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP サーバーインターフェイスまたはサーバーにデプロイされたアプリケーションを保護するためにレルムを参照する filesystem-realm およびセキュリティードメインを作成します。
前提条件
- JBoss EAP が実行中である。
手順
Elytron で
filesystem-realmを作成します。構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add(path=<file_path>)
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add(path=<file_path>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add(path=fs-realm-users,relative-to=jboss.server.config.dir) {"outcome" => "success"}/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add(path=fs-realm-users,relative-to=jboss.server.config.dir) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow レルムにユーザーを追加し、ユーザーのロールを設定します。
ユーザーを追加します。
構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity(identity=<user_name>)
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity(identity=<user_name>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add-identity(identity=user1) {"outcome" => "success"}/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add-identity(identity=user1) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーのパスワードを設定します。
構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:set-password(identity=<user_name>, clear={password=<password>})/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:set-password(identity=<user_name>, clear={password=<password>})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/filesystem-realm=exampleSecurityRealm:set-password(identity=user1, clear={password="passwordUser1"}) {"outcome" => "success"}/subsystem=elytron/filesystem-realm=exampleSecurityRealm:set-password(identity=user1, clear={password="passwordUser1"}) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーのロールを設定します。
構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity-attribute(identity=<user_name>, name=<roles_attribute_name>, value=[<role_1>,<role_N>])
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity-attribute(identity=<user_name>, name=<roles_attribute_name>, value=[<role_1>,<role_N>])Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add-identity-attribute(identity=user1, name=Roles, value=["Admin","Guest"]) {"outcome" => "success"}/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add-identity-attribute(identity=user1, name=Roles, value=["Admin","Guest"]) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
filesystem-realmを参照するセキュリティードメインを作成します。構文
/subsystem=elytron/security-domain=<security_domain_name>:add(default-realm=<filesystem_realm_name>,permission-mapper=default-permission-mapper,realms=[{realm=<filesystem_realm_name>,role-decoder="<role_decoder_name>"}])/subsystem=elytron/security-domain=<security_domain_name>:add(default-realm=<filesystem_realm_name>,permission-mapper=default-permission-mapper,realms=[{realm=<filesystem_realm_name>,role-decoder="<role_decoder_name>"}])Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/security-domain=exampleSecurityDomain:add(default-realm=exampleSecurityRealm,permission-mapper=default-permission-mapper,realms=[{realm=exampleSecurityRealm}]) {"outcome" => "success"}/subsystem=elytron/security-domain=exampleSecurityDomain:add(default-realm=exampleSecurityRealm,permission-mapper=default-permission-mapper,realms=[{realm=exampleSecurityRealm}]) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
Elytron が
filesystem-realmからアイデンティティーをロードできることを確認するには、以下のコマンドを使用します。構文
/subsystem=elytron/security-domain=<security_domain_name>:read-identity(name=<username>)
/subsystem=elytron/security-domain=<security_domain_name>:read-identity(name=<username>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これで、作成したセキュリティードメインを使用して、管理インターフェイスとアプリケーションに認証と認可を追加できるようになりました。詳細は、管理インターフェイスとアプリケーションの保護 を参照してください。
1.1.3. Elytron で暗号化された filesystem-realm の作成 リンクのコピーリンクがクリップボードにコピーされました!
暗号化された filesystem-realm を作成して JBoss EAP アプリケーションまたはサーバーインターフェイスをセキュアにし、ユーザーの認証情報が暗号化され、セキュアであることを確認します。
1.1.3.1. スタンドアロンサーバー用の secret-key-credential-store の作成 リンクのコピーリンクがクリップボードにコピーされました!
管理 CLI を使用して secret-key-credential-store を作成します。secret-key-credential-store を作成すると、JBoss EAP はデフォルトでシークレットキーを生成します。生成された鍵の名前は key で、そのサイズは 256 ビットです。
前提条件
- JBoss EAP が実行中である。
-
少なくとも、JBoss EAP を実行しているユーザーアカウントの
secret-key-credential-storeを格納したディレクトリーへの読み取り/書き込みアクセスが割り当てられている。
手順
以下のコマンドで、管理 CLI を使用して
secret-key-credential-storeを作成します。構文
/subsystem=elytron/secret-key-credential-store=<name_of_credential_store>:add(path="<path_to_the_credential_store>", relative-to=<path_to_store_file>)
/subsystem=elytron/secret-key-credential-store=<name_of_credential_store>:add(path="<path_to_the_credential_store>", relative-to=<path_to_store_file>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/secret-key-credential-store=examplePropertiesCredentialStore:add(path=examplePropertiesCredentialStore.cs, relative-to=jboss.server.config.dir) {"outcome" => "success"}/subsystem=elytron/secret-key-credential-store=examplePropertiesCredentialStore:add(path=examplePropertiesCredentialStore.cs, relative-to=jboss.server.config.dir) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.3.2. 暗号化された filesystem-realm の作成 リンクのコピーリンクがクリップボードにコピーされました!
レルムを参照する暗号化された filesystem-realm と、JBoss EAP サーバーインターフェイスまたはサーバーにデプロイされたアプリケーションを保護するセキュリティードメインを作成します。
前提条件
- JBoss EAP が実行中である。
secret-key-credential-storeを作成している。詳細は、スタンドアロンサーバー用
secret-key-credential-storeの作成 を参照してください。
手順
Elytron で暗号化された
filesystem-realmを作成します。構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add(path=<file_path>,credential-store=<name_of_credential_store>,secret-key=<key>)
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add(path=<file_path>,credential-store=<name_of_credential_store>,secret-key=<key>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add(path=fs-realm-users,relative-to=jboss.server.config.dir, credential-store=examplePropertiesCredentialStore, secret-key=key) {"outcome" => "success"}/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add(path=fs-realm-users,relative-to=jboss.server.config.dir, credential-store=examplePropertiesCredentialStore, secret-key=key) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow レルムにユーザーを追加し、ユーザーのロールを設定します。
ユーザーを追加します。
構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity(identity=<user_name>)
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity(identity=<user_name>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add-identity(identity=user1) {"outcome" => "success"}/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add-identity(identity=user1) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーのパスワードを設定します。
構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:set-password(identity=<user_name>, clear={password=<password>})/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:set-password(identity=<user_name>, clear={password=<password>})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/filesystem-realm=exampleSecurityRealm:set-password(identity=user1, clear={password="passwordUser1"}) {"outcome" => "success"}/subsystem=elytron/filesystem-realm=exampleSecurityRealm:set-password(identity=user1, clear={password="passwordUser1"}) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーのロールを設定します。
構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity-attribute(identity=<user_name>, name=<roles_attribute_name>, value=[<role_1>,<role_N>])
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity-attribute(identity=<user_name>, name=<roles_attribute_name>, value=[<role_1>,<role_N>])Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add-identity-attribute(identity=user1, name=Roles, value=["Admin","Guest"]) {"outcome" => "success"}/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add-identity-attribute(identity=user1, name=Roles, value=["Admin","Guest"]) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
filesystem-realmを参照するセキュリティードメインを作成します。構文
/subsystem=elytron/security-domain=<security_domain_name>:add(default-realm=<filesystem_realm_name>,permission-mapper=default-permission-mapper,realms=[{realm=<filesystem_realm_name>,role-decoder="<role_decoder_name>"}])/subsystem=elytron/security-domain=<security_domain_name>:add(default-realm=<filesystem_realm_name>,permission-mapper=default-permission-mapper,realms=[{realm=<filesystem_realm_name>,role-decoder="<role_decoder_name>"}])Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/security-domain=exampleSecurityDomain:add(default-realm=exampleSecurityRealm,permission-mapper=default-permission-mapper,realms=[{realm=exampleSecurityRealm}]) {"outcome" => "success"}/subsystem=elytron/security-domain=exampleSecurityDomain:add(default-realm=exampleSecurityRealm,permission-mapper=default-permission-mapper,realms=[{realm=exampleSecurityRealm}]) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
Elytron が暗号化された
filesystem-realmからアイデンティティーをロードできることを確認するには、以下のコマンドを使用します。構文
/subsystem=elytron/security-domain=<security_domain_name>:read-identity(name=<username>)
/subsystem=elytron/security-domain=<security_domain_name>:read-identity(name=<username>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これで、作成したセキュリティードメインを使用して、管理インターフェイスとアプリケーションに認証と認可を追加できるようになります。
1.1.4. Elytron で整合性サポートのある filesystem-realm の作成 リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP アプリケーションまたはサーバーインターフェイスをセキュアにするための整合性をサポートする filesystem-realm を作成し、ユーザーの認証情報が改ざんされないようにします。
1.1.4.1. 管理 CLI を使用したキーペアの作成 リンクのコピーリンクがクリップボードにコピーされました!
キーペアを持つキーストアを Elytron に作成します。
前提条件
- JBoss EAP が実行中である。
手順
キーストアを作成します。
構文
/subsystem=elytron/key-store=<key_store_name>:add(path=<path_to_key_store_file>,credential-reference={<password>})/subsystem=elytron/key-store=<key_store_name>:add(path=<path_to_key_store_file>,credential-reference={<password>})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/key-store=exampleKeystore:add(path=keystore, relative-to=jboss.server.config.dir, type=JKS, credential-reference={clear-text=secret}) {"outcome" => "success"}/subsystem=elytron/key-store=exampleKeystore:add(path=keystore, relative-to=jboss.server.config.dir, type=JKS, credential-reference={clear-text=secret}) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow キーストアにキーペアを作成します。
構文
/subsystem=elytron/key-store=<key_store_name>:generate-key-pair(alias=<alias>,algorithm=<key_algorithm>,key-size=<size_of_key>,validity=<validity_in_days>,distinguished-name="<distinguished_name>")
/subsystem=elytron/key-store=<key_store_name>:generate-key-pair(alias=<alias>,algorithm=<key_algorithm>,key-size=<size_of_key>,validity=<validity_in_days>,distinguished-name="<distinguished_name>")Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/key-store=exampleKeystore:generate-key-pair(alias=localhost,algorithm=RSA,key-size=1024,validity=365,distinguished-name="CN=localhost") {"outcome" => "success"}/subsystem=elytron/key-store=exampleKeystore:generate-key-pair(alias=localhost,algorithm=RSA,key-size=1024,validity=365,distinguished-name="CN=localhost") {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow キーペアをキーストアファイルに永続化します。
構文
/subsystem=elytron/key-store=<key_store_name>:store()
/subsystem=elytron/key-store=<key_store_name>:store()Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/key-store=exampleKeystore:store() { "outcome" => "success", "result" => undefined }/subsystem=elytron/key-store=exampleKeystore:store() { "outcome" => "success", "result" => undefined }Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.4.2. 整合性サポートのある filesystem-realm の作成 リンクのコピーリンクがクリップボードにコピーされました!
整合性サポートのある filesystem-realm と、JBoss EAP サーバーインターフェイスまたはサーバーにデプロイされたアプリケーションを保護するためにレルムを参照するセキュリティードメインを作成します。
前提条件
- JBoss EAP が実行中である。
secret-key-credential-storeを作成している。詳細は、管理 CLI を使用したキーペアの作成 を参照してください。
手順
Elytron で
filesystem-realmを作成します。構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add(path=<file_path>,key-store=<key_store_name>,key-store-alias=<key_store_alias>)
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add(path=<file_path>,key-store=<key_store_name>,key-store-alias=<key_store_alias>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add(path=fs-realm-users,relative-to=jboss.server.config.dir, key-store=exampleKeystore, key-store-alias=localhost) {"outcome" => "success"}/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add(path=fs-realm-users,relative-to=jboss.server.config.dir, key-store=exampleKeystore, key-store-alias=localhost) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow レルムにユーザーを追加し、ユーザーのロールを設定します。
ユーザーを追加します。
構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity(identity=<user_name>)
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity(identity=<user_name>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add-identity(identity=user1) {"outcome" => "success"}/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add-identity(identity=user1) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーのパスワードを設定します。
構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:set-password(identity=<user_name>, clear={password=<password>})/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:set-password(identity=<user_name>, clear={password=<password>})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/filesystem-realm=exampleSecurityRealm:set-password(identity=user1, clear={password="passwordUser1"}) {"outcome" => "success"}/subsystem=elytron/filesystem-realm=exampleSecurityRealm:set-password(identity=user1, clear={password="passwordUser1"}) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーのロールを設定します。
構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity-attribute(identity=<user_name>, name=<roles_attribute_name>, value=[<role_1>,<role_N>])
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity-attribute(identity=<user_name>, name=<roles_attribute_name>, value=[<role_1>,<role_N>])Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add-identity-attribute(identity=user1, name=Roles, value=["Admin","Guest"]) {"outcome" => "success"}/subsystem=elytron/filesystem-realm=exampleSecurityRealm:add-identity-attribute(identity=user1, name=Roles, value=["Admin","Guest"]) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
filesystem-realmを参照するセキュリティードメインを作成します。構文
/subsystem=elytron/security-domain=<security_domain_name>:add(default-realm=<filesystem_realm_name>,permission-mapper=default-permission-mapper,realms=[{realm=<filesystem_realm_name>,role-decoder="<role_decoder_name>"}])/subsystem=elytron/security-domain=<security_domain_name>:add(default-realm=<filesystem_realm_name>,permission-mapper=default-permission-mapper,realms=[{realm=<filesystem_realm_name>,role-decoder="<role_decoder_name>"}])Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/security-domain=exampleSecurityDomain:add(default-realm=exampleSecurityRealm,permission-mapper=default-permission-mapper,realms=[{realm=exampleSecurityRealm}]) {"outcome" => "success"}/subsystem=elytron/security-domain=exampleSecurityDomain:add(default-realm=exampleSecurityRealm,permission-mapper=default-permission-mapper,realms=[{realm=exampleSecurityRealm}]) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
Elytron が
filesystem-realmからアイデンティティーをロードできることを確認するには、以下のコマンドを使用します。構文
/subsystem=elytron/security-domain=<security_domain_name>:read-identity(name=<username>)
/subsystem=elytron/security-domain=<security_domain_name>:read-identity(name=<username>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これで、作成したセキュリティードメインを使用して、管理インターフェイスとアプリケーションに認証と認可を追加できるようになりました。詳細は、管理インターフェイスとアプリケーションの保護 を参照してください。
1.1.4.3. 整合性サポートを有効にして既存の filesystem-realm のキーペアの更新 リンクのコピーリンクがクリップボードにコピーされました!
既存の鍵が侵害された場合に整合性サポートを有効にして、filesystem-realm で参照されるキーペアを更新できます。また、キーをローテーションすることを推奨します。
前提条件
- キーペアを生成している。
整合性チェックを有効にして
filesystem-realmを作成している。詳細は、整合性サポートのある
filesystem-realmの作成 を参照してください。
手順
既存のキーストアにキーペアを作成します。
構文
/subsystem=elytron/key-store=<key_store_name>:generate-key-pair(alias=<alias>,algorithm=<key_algorithm>,key-size=<size_of_key>,validity=<validity_in_days>,distinguished-name="<distinguished_name>")
/subsystem=elytron/key-store=<key_store_name>:generate-key-pair(alias=<alias>,algorithm=<key_algorithm>,key-size=<size_of_key>,validity=<validity_in_days>,distinguished-name="<distinguished_name>")Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/key-store=exampleKeystore:generate-key-pair(alias=localhost2,algorithm=RSA,key-size=1024,validity=365,distinguished-name="CN=localhost") {"outcome" => "success"}/subsystem=elytron/key-store=exampleKeystore:generate-key-pair(alias=localhost2,algorithm=RSA,key-size=1024,validity=365,distinguished-name="CN=localhost") {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow キーペアをキーストアファイルに永続化します。
構文
/subsystem=elytron/key-store=<key_store_name>:store()
/subsystem=elytron/key-store=<key_store_name>:store()Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/key-store=exampleKeystore:store() { "outcome" => "success", "result" => undefined }/subsystem=elytron/key-store=exampleKeystore:store() { "outcome" => "success", "result" => undefined }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいキーペアを参照するようにキーストアエイリアスを更新します。
構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:write-attribute(name=key-store-alias, value=<key_store_alias>)
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:write-attribute(name=key-store-alias, value=<key_store_alias>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーをリロードします。
reload
reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいキーペアを使用して、
filesystem-realmのファイルを新規署名で更新します。構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:update-key-pair()
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:update-key-pair()Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/filesystem-realm=exampleSecurityRealm:update-key-pair() {"outcome" => "success"}/subsystem=elytron/filesystem-realm=exampleSecurityRealm:update-key-pair() {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
filesystem-realmで参照されるキーペアが以下の管理 CLI コマンドを使用して更新されていることを確認します。構文
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:read-resource()
/subsystem=elytron/filesystem-realm=<filesystem_realm_name>:read-resource()Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
filesystem-realm で参照されるキーペアが更新されました。
1.1.5. 暗号化されていない filesystem-realm の暗号化 リンクのコピーリンクがクリップボードにコピーされました!
Elytron に filesystem-realm が設定されている場合は、WildFly Elytron ツールを使用して暗号化を追加できます。
1.1.5.1. スタンドアロンサーバー用の secret-key-credential-store の作成 リンクのコピーリンクがクリップボードにコピーされました!
管理 CLI を使用して secret-key-credential-store を作成します。secret-key-credential-store を作成すると、JBoss EAP はデフォルトでシークレットキーを生成します。生成された鍵の名前は key で、そのサイズは 256 ビットです。
前提条件
- JBoss EAP が実行中である。
-
少なくとも、JBoss EAP を実行しているユーザーアカウントの
secret-key-credential-storeを格納したディレクトリーへの読み取り/書き込みアクセスが割り当てられている。
手順
以下のコマンドで、管理 CLI を使用して
secret-key-credential-storeを作成します。構文
/subsystem=elytron/secret-key-credential-store=<name_of_credential_store>:add(path="<path_to_the_credential_store>", relative-to=<path_to_store_file>)
/subsystem=elytron/secret-key-credential-store=<name_of_credential_store>:add(path="<path_to_the_credential_store>", relative-to=<path_to_store_file>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/secret-key-credential-store=examplePropertiesCredentialStore:add(path=examplePropertiesCredentialStore.cs, relative-to=jboss.server.config.dir) {"outcome" => "success"}/subsystem=elytron/secret-key-credential-store=examplePropertiesCredentialStore:add(path=examplePropertiesCredentialStore.cs, relative-to=jboss.server.config.dir) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.5.2. 暗号化されていない filesystem-realm を暗号化された filesystem-realm に変換する リンクのコピーリンクがクリップボードにコピーされました!
WildFly Elytron ツールの filesystem-realm-encrypt コマンドを使用して、暗号化されていない filesystem-realm を暗号化されたものに変換できます。
前提条件
既存の
filesystem-realmがある。詳細は、Elytron での
filesystem-realmの作成 を参照してください。secret-key-credential-storeを作成している。詳細は、スタンドアロンサーバー用
secret-key-credential-storeの作成 を参照してください。- JBoss EAP が実行中である。
手順
暗号化されていない
filesystem-realmを暗号化されたものに変換します。構文
JBOSS_HOME/bin/elytron-tool.sh filesystem-realm-encrypt --input-location <existing_filesystem_realm_name> --output-location JBOSS_HOME/standalone/configuration/<target_filesystem_realm_name> --credential-store <path_to_credential_store>/<credential_store>
$ JBOSS_HOME/bin/elytron-tool.sh filesystem-realm-encrypt --input-location <existing_filesystem_realm_name> --output-location JBOSS_HOME/standalone/configuration/<target_filesystem_realm_name> --credential-store <path_to_credential_store>/<credential_store>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
JBOSS_HOME/bin/elytron-tool.sh filesystem-realm-encrypt --input-location JBOSS_HOME/standalone/configuration/fs-realm-users --output-location JBOSS_HOME/standalone/configuration/fs-realm-users-enc --credential-store JBOSS_HOME/standalone/configuration/examplePropertiesCredentialStore.cs Creating encrypted realm for: JBOSS_HOME/standalone/configuration/fs-realm-users Found credential store and alias, using pre-existing key
$ JBOSS_HOME/bin/elytron-tool.sh filesystem-realm-encrypt --input-location JBOSS_HOME/standalone/configuration/fs-realm-users --output-location JBOSS_HOME/standalone/configuration/fs-realm-users-enc --credential-store JBOSS_HOME/standalone/configuration/examplePropertiesCredentialStore.cs Creating encrypted realm for: JBOSS_HOME/standalone/configuration/fs-realm-users Found credential store and alias, using pre-existing keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow WildFly Elytron コマンド
filesystem-realm-encryptによって、--output-location引数で指定されたfilesystem-realmが作成されます。また、filesystem-realmのルートに CLI スクリプトが作成されます。このスクリプトを使用すると、elytronサブシステムにfilesystem-realmリソースを追加できます。ヒント--summaryオプションを使用して、コマンド実行の概要を表示します。生成された CLI スクリプトを使用して、
elytronサブシステムにfilesystem-realmリソースを追加します。構文
JBOSS_HOME/bin/jboss-cli.sh --connect --file=<target_filesystem_realm_directory>/<target_filesystem_realm_name>.cli
$ JBOSS_HOME/bin/jboss-cli.sh --connect --file=<target_filesystem_realm_directory>/<target_filesystem_realm_name>.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
JBOSS_HOME/bin/jboss-cli.sh --connect --file=JBOSS_HOME/standalone/configuration/fs-realm-users-enc/encrypted-filesystem-realm.cli
$ JBOSS_HOME/bin/jboss-cli.sh --connect --file=JBOSS_HOME/standalone/configuration/fs-realm-users-enc/encrypted-filesystem-realm.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow
暗号化された filesystem-realm を使用して、レルムを参照して JBoss EAP サーバーインターフェイスまたはサーバーにデプロイされたアプリケーションを保護するセキュリティードメインを作成できます。
1.1.6. 既存の filesystem-realm への整合性サポートの追加 リンクのコピーリンクがクリップボードにコピーされました!
Elytron で filesystem-realm が設定されている場合は、WildFly Elytron ツールを使用してキーペアでそのファイルシステムレルムに署名し、整合性チェックを有効にすることができます。
1.1.6.1. 管理 CLI を使用したキーペアの作成 リンクのコピーリンクがクリップボードにコピーされました!
キーペアを持つキーストアを Elytron に作成します。
前提条件
- JBoss EAP が実行中である。
手順
キーストアを作成します。
構文
/subsystem=elytron/key-store=<key_store_name>:add(path=<path_to_key_store_file>,credential-reference={<password>})/subsystem=elytron/key-store=<key_store_name>:add(path=<path_to_key_store_file>,credential-reference={<password>})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/key-store=exampleKeystore:add(path=keystore, relative-to=jboss.server.config.dir, type=JKS, credential-reference={clear-text=secret}) {"outcome" => "success"}/subsystem=elytron/key-store=exampleKeystore:add(path=keystore, relative-to=jboss.server.config.dir, type=JKS, credential-reference={clear-text=secret}) {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow キーストアにキーペアを作成します。
構文
/subsystem=elytron/key-store=<key_store_name>:generate-key-pair(alias=<alias>,algorithm=<key_algorithm>,key-size=<size_of_key>,validity=<validity_in_days>,distinguished-name="<distinguished_name>")
/subsystem=elytron/key-store=<key_store_name>:generate-key-pair(alias=<alias>,algorithm=<key_algorithm>,key-size=<size_of_key>,validity=<validity_in_days>,distinguished-name="<distinguished_name>")Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/key-store=exampleKeystore:generate-key-pair(alias=localhost,algorithm=RSA,key-size=1024,validity=365,distinguished-name="CN=localhost") {"outcome" => "success"}/subsystem=elytron/key-store=exampleKeystore:generate-key-pair(alias=localhost,algorithm=RSA,key-size=1024,validity=365,distinguished-name="CN=localhost") {"outcome" => "success"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow キーペアをキーストアファイルに永続化します。
構文
/subsystem=elytron/key-store=<key_store_name>:store()
/subsystem=elytron/key-store=<key_store_name>:store()Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/subsystem=elytron/key-store=exampleKeystore:store() { "outcome" => "success", "result" => undefined }/subsystem=elytron/key-store=exampleKeystore:store() { "outcome" => "success", "result" => undefined }Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.6.2. filesystem-realm の整合性チェックの有効化 リンクのコピーリンクがクリップボードにコピーされました!
WildFly Elytron ツールの filesystem-realm-integrity コマンドを使用して、既存の空ではない filesystem-realm から、整合性チェックを備えた filesystem-realm を作成できます。
filesystem-realm-integrity コマンドは、次の場合に使用できます。
-
既存の
filesystem-realmから、整合性チェックを備えた新しいfilesystem-realmを作成する。 -
既存の
filesystem-realmに整合性チェックを追加する。
前提条件
既存の
filesystem-realmがある。詳細は、Elytron での
filesystem-realmの作成 を参照してください。キーペアを生成している。
詳細は、管理 CLI を使用したキーペアの作成 を参照してください。
- JBoss EAP が実行中である。
手順
既存の
filesystem-realmを使用し、キーペアで署名することにより、整合性をサポートするfilesystem-realmを作成します。既存の
filesystem-realmに整合性サポートを追加する場合は、次のコマンドの--output-locationおよび--realm-nameオプションを省略してください。--output-locationおよび--realm-nameオプションを指定すると、既存の filesystem-realm が更新されず、整合性チェックを備えた新しいfilesystem-realmが作成されます。構文
JBOSS_HOME/bin/elytron-tool.sh filesystem-realm-integrity --input-location <path_to_existing_filesystem_realm> --keystore <path_to_key_store_file> --password <keystore_password> --key-pair <key_pair_alias> --output-location <path_for_new_filesystem_realm> --realm-name <name_of_new_filesystem_realm>
$ JBOSS_HOME/bin/elytron-tool.sh filesystem-realm-integrity --input-location <path_to_existing_filesystem_realm> --keystore <path_to_key_store_file> --password <keystore_password> --key-pair <key_pair_alias> --output-location <path_for_new_filesystem_realm> --realm-name <name_of_new_filesystem_realm>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
JBOSS_HOME/bin/elytron-tool.sh filesystem-realm-integrity --input-location JBOSS_HOME/standalone/configuration/fs-realm-users/ --keystore JBOSS_HOME/standalone/configuration/keystore --password secret --key-pair localhost --output-location JBOSS_HOME/standalone/configuration/fs-realm-users --realm-name exampleRealmWithIntegrity
$ JBOSS_HOME/bin/elytron-tool.sh filesystem-realm-integrity --input-location JBOSS_HOME/standalone/configuration/fs-realm-users/ --keystore JBOSS_HOME/standalone/configuration/keystore --password secret --key-pair localhost --output-location JBOSS_HOME/standalone/configuration/fs-realm-users --realm-name exampleRealmWithIntegrityCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Creating filesystem realm with integrity verification for: JBOSS_HOME/standalone/configuration/fs-realm-users
Creating filesystem realm with integrity verification for: JBOSS_HOME/standalone/configuration/fs-realm-usersCopy to Clipboard Copied! Toggle word wrap Toggle overflow WildFly Elytron コマンド
filesystem-realm-integrityによって、--output-location引数で指定されたfilesystem-realmが作成されます。また、filesystem-realmのルートに CLI スクリプトが作成されます。このスクリプトを使用すると、elytronサブシステムにfilesystem-realmリソースを追加できます。ヒント--summaryオプションを使用して、コマンド実行の概要を表示します。生成された CLI スクリプトを使用して、
elytronサブシステムにfilesystem-realmリソースを追加します。構文
JBOSS_HOME/bin/jboss-cli.sh --connect --file=<target_filesystem_realm_directory>/<target_filesystem_realm_name>.cli
$ JBOSS_HOME/bin/jboss-cli.sh --connect --file=<target_filesystem_realm_directory>/<target_filesystem_realm_name>.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
JBOSS_HOME/bin/jboss-cli.sh --connect --file=JBOSS_HOME/standalone/configuration/fs-realm-users/exampleRealmWithIntegrity.cli
$ JBOSS_HOME/bin/jboss-cli.sh --connect --file=JBOSS_HOME/standalone/configuration/fs-realm-users/exampleRealmWithIntegrity.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow
filesystem-realm を使用して、レルムを参照するセキュリティードメインを作成し、JBoss EAP サーバーインターフェイスまたはサーバーにデプロイされたアプリケーションを保護できます。