Для доступа Presto к данным на S3 мне нужно иметь возможность принимать разные роли для разных пользователей (например, Боб -> роль1 и Бренда -> роль2).Я знаю, что EMRFS предоставляет эту функциональность, однако мы убираем Presto из EMR, поэтому мы больше не можем использовать EMRFS для этого делегирования.
Presto позволяет вам написать свой собственный провайдер учетных данных S3 для собственной файловой системы S3, однако он принимает только два аргумента java.net.Uri
и Hadoop org.apache.hadoop.conf.Configuration
в качестве конструкторов.
Я написал пользовательский поставщик учетных данных, который показывает все свойства объекта Configuration
, а также Uri
, и ни один из них не содержит никакой информации, относящейся к пользователю.
Можно ли получить информацию о пользователе от провайдера без изменения исходного кода Presto?Я вижу, что PR был отправлен некоторое время назад (https://github.com/prestodb/presto/pull/2640 см. Последний комментарий), но закрыт из-за добавления поставщика пользовательских учетных данных.Приведенная выше документация намекает на то, что вы можете использовать разные роли IAM для разных пользователей, но мне еще предстоит выяснить, как передается контекст.
Спасибо!