0голосов
Голосовать
Completed

Ассоциация между пользователем и IAM-ключом сервисного аккаунта

Сейчас пользователь может работать только под одной identity, и это дает возможности для человеческих ошибок при работе с разными облаками (например, хочется разделить работу с dev и prod на уровне IAM, чтобы при работе над dev невозможно было выполнять операции с продом). Можно заводить сервисный аккаунт под каждое назначение, но тогда IAM-ключи к этим аккаунтам выданные разным пользователям придется отслеживать вручную. Если же на стороне облака реализовать какую-то ассоциацию между сервисным аккаунтом и пользователем можно будет выдавать для пользователей гранулярные привилегии под назначение. Возможные варианты реализации, которые пришли мне в голову (вам могут прийти другие более хорошие): А) yc iam create-token принимает параметром id сервисного акка, для которого мы получаем токен. В этом случае пользователь под своим токеном SSO/Passport делает эту операцию и получает токен сервисного акка. Владелец облака пользователю может самому пользователю права на облако не выдавать, выдать только на create-token, тогда пользователи смогут ходить только таким образом. Поведение по-умолчанию сохранится таким как сейчас. Б) добавить интеграцию между конкретными IAM-ключами SA и пользователями, чтобы при удалении пользователя отзывался IAM-ключ SA. Мне этот вариант меньше нравится, т.к. в этом случае возможна утечка долгоживущих ключей, но в целом тоже устроит.