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

Но я повторюсь, я не думаю, что вы на самом деле хотите этого. Если бы вы могли описать свой вариант использования, я мог бы помочь лучше.

Другие вопросы по тегам