Как создать пользователя в OpenAM с привилегией создания области?

Как я могу создать пользователя в OpenAM/OpenSSO с привилегией создания области (кроме amAdmin)? Нам нужна эта функция, чтобы наши b2b-пользователи могли по очереди создавать дочерние организации.


person Kamyar    schedule 06.07.2017    source источник
comment
Если вы создаете делегированного администратора, который может управлять областью (например, realm1), администратор может создавать области в своей области (например, /realm1/realm11). Удовлетворяет ли он вашу просьбу?   -  person Kohei TAMURA    schedule 10.07.2017


Ответы (1)


Некоторые из API делегирования доступны через ClientSDK, однако, если память обслуживает более старые версии ClientSDK, требуется, чтобы дополнительные библиотеки на стороне сервера находились в пути к классам, чтобы фактически позволить этим API работать.

Суть создания делегированных администраторов через ClientSDK примерно такая:

  • создать пользователя
  • создать новую группу
  • добавить пользователя в группу
  • создать привилегию делегирования, дающую доступ к группе.

Код Java для последней части будет таким:

DelegationManager delegationManager = new DelegationManager(adminToken, realmName);
Set<String> groups = Collections.singleton(group.getUniversalId());
DelegationPrivilege realmAdminPrivilege = new DelegationPrivilege("RealmAdmin", groups, realmName);
delegationManager.addPrivilege(realmAdminPrivilege);

При использовании REST API я бы предложил вместо этого взаимодействовать с политиками (привилегии делегирования на самом деле являются просто «специальными» политиками, хранящимися в скрытой области в наборе политик sunAMDelegationService).

person Peter Major    schedule 04.08.2017