@ Деннис-Хо
Использование нестандартной учетной записи службы в Google Cloud dataproc
В продолжение вышеуказанной проблемы
Я хотел настроить кластер dataproc для многопользовательского режима. Поскольку вычислительный механизм кластера Dataproc использует учетные данные службы по умолчанию или учетную запись настраиваемой службы для подключения к корзине хранения с использованием --properties core:fs.gs.auth.service.account.json.keyfile
, который не имеет никакого отношения к принципалам пользователя, которые отправляют задания, или я не смог найти вариант для его управления , который делает кластер dataproc небезопасным и создает проблему , он вводит другой уровень косвенности в многопользовательской среде, когда используемый файл ключа не соответствует принципалу.
В моем случае мы отправляем задание, используя gcloud dataproc jobs submit hadoop
, потому что моя мысль состоит в том, чтобы управлять доступом к кластеру dataproc с помощью ролей IAM, но во время передачи задания участники не переходят в кластер hadoop, а также в gcloud cli. не выполняет никакой проверки доступа к хранилищам на стороне клиента, задание всегда выполняется как пользователь root
. Могу ли я узнать, как привязать пользователей к их учетной записи службы? У вас есть какое-либо решение для этого случая?
Все, что нам нужно, - это Hadoop Map Reduce, отправленное пользователями, использующими gcloud dataproc jobs submit hadoop
, должно иметь возможность использовать только те области памяти или папку, к которым у пользователя есть доступ.
Ток:
Задания gcloud dataproc (IAM - основной пользователь) -> Кластер Dataproc (IAM - основной пользователь) -> (SA по умолчанию / пользовательский) -> Ведро хранения
Если у пользователя есть доступ к отправке заданий в кластер Dataproc может использовать любые области памяти, к которым у учетной записи службы есть доступ.
Обязательно:
Задания gcloud dataproc (IAM - основной пользователь) -> Кластер Dataproc (IAM - основной пользователь) -> (IAM - основной пользователь) -> Область хранения
Пользователь имеет доступ к отправке заданий в кластер Dataproc. может использовать только те хранилища, к которым имеет доступ учетная запись пользователя.
До сих пор я не мог найти способ сделать это. Можете ли вы помочь мне в этом
Есть ли какое-нибудь решение или решение для этой проблемы?