Wildfly-swarm 8.5.0 создает системное свойство вместо корневого элемента
У меня есть следующий блок в моем файле конфигурации yml:
access-control:
provider: rbac
role-mapping:
role:
"guest":
include:
user:
"buddy"
Когда я создаю свой проект, записи ниже добавляются в сгенерированный standalone-full.xml
<system-properties>
<property name="swarm.management.access-control.role-
mapping.role.guest.include.user" value="buddy"/>
<property name="swarm.management.access-control.provider"
value="rbac"/>
</system-properties>
Проблема в том, что я ожидал, что будет сгенерирован следующий узел:
<access-control provider="rbac">
<role-mapping>
<role name="guest">
<include>
<user name="buddy"/>
</include>
</role>
</role-mapping>
</access-control>
Есть идеи?
1 ответ
Похоже, вы пытаетесь настроить управление доступом на основе ролей к интерфейсу управления. Это не для самого приложения. Это то, что вы действительно хотите? Я не ожидал, что MGMT RBAC будет использоваться с WildFly Swarm.
Если это то, что вам действительно нужно, вот документация JBoss EAP, в которой объясняются все концепции: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.1/html-single/how_to_configure_server_security/
Чтобы перевести его на YAML WildFly Swarm, основанный на http://docs.wildfly-swarm.io/2018.5.0/, я считаю, что вам нужно что-то вроде этого (обратите внимание, что я не пробовал:-)):
swarm:
management:
security-realms:
ManagementRealm:
in-memory-authentication:
users:
albert: # creating a user in the mgmt realm
password: einstein
authorization-access:
provider: rbac
role-mappings:
Operator: # one of the pre-defined roles, can't create new ones
includes:
user-albert: # by convention, should always be user-xxx or group-xxx
name: albert
type: user
Но я повторюсь, я не думаю, что вы на самом деле хотите этого. Если бы вы могли описать свой вариант использования, я мог бы помочь лучше.