Собственно самые интересные варианты получаются красный и желтый. У каждого есть свои плюсы и минусы. Вот и хочется узнать, может кто-то уже попробовал оба и знает больше подводных камней. Накидал тут схемку последовательности действий в обоих сценариях на коленке (сорян если плохо интерпретируется). Левый сценарий для желтого варианта, правый - для красного.
Все правильно описано. Тут скорее вопрос в том, как доставлять роль до кейклока (синхронно или нет) и что должно являться мастер-системой для хранения ролей. Нам не надо чтоб каждый сервис видел все роли, значит мы приделаем к нему признак сервиса в кейклоке. Тогда каждый сервис сможет получить список релевантных для него ролей и назначить им пермишены.
Но в этом случае и возникает вопрос, можно создавать роли напрямую в каждом сервисе и отправлять в кейклок для назначения пользователям и группировки. В этом сценарии мы не сможем назначать роли пользователям пока они не придут в кейклок.
Еще можно пойти в обратную сторону: создать роль в кейклоке и ждать, пока они дойдут до сервиса, чтоб назначать пермишены.