Вы могли бы поместить информацию о роли в сертификат (как собственное расширение X.509v3), но затем, если вам когда-либо понадобится изменить их роль, вам нужно отозвать и повторно выдать сертификат , Это похоже на головную боль.
Лучше было бы рассматривать «Аутентификацию» и «Авторизацию» отдельно. Использовать сертификат как «Аутентификация»; ie сертификат подтверждает, что они являются пользователями, перечисленными в DN и SAN, затем вы просматриваете это DN в службе / базе данных «Авторизация», которая сообщает вам, какие разрешения должен иметь этот пользователь. Если вы хотите по-настоящему модно, служба авторизации может вернуть подписанный JWT с их именем пользователя / DN и разрешениями, вроде пользовательского утверждения SAML / OID C.
В качестве бонуса эта система будет масштабироваться хорошо, если вы решите добавить альтернативные методы аутентификации в будущем, такие как ключи API, MFA и т. д. c.