Сервисный аккаунт — это учетная запись, предназначенная для использования в автоматизированных скриптах. Такие аккаунты применяются в CI/CD-пайплайнах и интеграциях. Сервисный аккаунт нельзя использовать для аутентификации в веб-интерфейсе, а также для выполнения действий от его имени через имперсонацию.
Создание сервисного аккаунта
Rails-консоль
Для создания сервисного аккаунта используется Rails-консоль из набора служебных инструментов Toolbox. Откройте консоль, выполнив следующую команду:
gitlab-rails console -e production
Создание аккаунта
-
Используя Rails-консоль, подготовьте параметры с описанием создаваемого аккаунта. Заполните поля
name
,username
,email
иadmin
и задайте остальные параметры на основе следующего примера:user_args = { name: 'kaiten_sa', username: 'kaiten_sa', email: 'kaiten_sa@flant.com', admin: false, user_type: :service_account, organization_id: Organizations::Organization.default_organization.id, password_automatically_set: true, force_random_password: true, skip_confirmation: true }
-
Выберите пользователя, от имени которого будет создан сервисный аккаунт, после чего выполните создание пользователя:
user = User.find_by_username('root') Users::CreateService.new(user, user_args).execute
Генерация токена доступа
Чтобы сгенерировать токен доступа, используйте Personal access tokens API от GitLab.