#web-services #security #authentication #service #authorization
Вопрос:
В настоящее время у меня есть одна проблема с дизайном, которая заключается в:
У меня есть распределенная система, в которой у меня есть основная «служба данных», которая получает запросы и раздает данные, а также некоторые работники, созданные с использованием одного и того же образа контейнера.
Однако я хочу, чтобы некоторые из этих работников имели доступ к другим данным. Служба данных может просто принимать все запросы и доверять работникам, но, поскольку в будущем у работников может быть пользовательский код, я хочу, чтобы среда не вызывала доверия.
Один из способов, которым я могу это сделать,-назначить «случайный ключ» (закрытый/открытый ключ, одноразовый пароль, токен…) для каждого работника при его создании, отправить этот ключ в службу данных, и служба данных будет знать, к каким ресурсам у работника будет доступ. Я думаю, что это не слишком сложно создать, но я бы не хотел воссоздавать колесо, специализируясь на чем-то, что связано с безопасностью. Ребята, знаете ли вы какой-либо метод аутентификации/авторизации (Kerberos, SAML, OIDC и т.д.), Который Решает эту проблему?
Кстати, мы используем Keycloak для единого входа, и я думаю, что он использует OIDC, но, насколько я знаю, он основан на паролях, и мне трудно подумать, может ли он решить эту проблему.