Аутентификация пользователей#

Artifactory включает в себя встроенную систему управления пользователями и интеграцию с внешними источниками аутентификации. Управление пользователями, хранящимися во внутренней базе, возможно через REST API.

После настройки источников аутентификации их можно активировать или деактивировать через пользовательский интерфейс, используя Security Realm, как описано в разделе Realms.

После аутентификации доступ к репозиториям контролируется через профили пользователей, которым назначаются роли с определенными правами. Более подробное описание представлено в разделе Контроль доступа.

Неаутентифицированный (анонимный) доступ#

Управление анонимным доступом осуществляется через профиль анонимного пользователя. Полная информация об управлении анонимным доступом представлена в разделе Анонимный доступ.

Realms#

Realm -  это источник аутентификации пользователей Artifactory. Каждый Realm определяет метод проверки подлинности пользователей.

Настройка Realms#

Важно

Для управления Realm необходимы права nx-all или nx-settings.

В экземпляре Artifactory может использоваться несколько Realm одновременно. Убедитесь, что порядок настройки соответствует вашим требованиям по приоритетам использования Realms.

Для настройки Realms перейдите в раздел АдминистрированиеSecurityRealms.

realms

На данной странице можно активировать и установить приоритет Realms:

  1. Найдите нужный Realm в левом столбце Available и нажмите на него, после чего он переместится в столбец Active;

  2. Используйте стрелки вверх и вниз для изменения приоритетного порядка;

  3. Нажмите кнопку Save, для сохранения изменений.

Порядок расположения активных Realms определяет, какой Realm аутентификации будет приоритетным для пользователя. Чем выше расположение, тем выше приоритет.

Примечание

Не удаляйте все Realms из раздела Active. В противном случае доступ к Artifactory будет закрыт для всех пользователей, включая администраторов.

Доступные Realms#

В таблице ниже приведена подробная информация о каждом доступном Realm в Artifactory.

Realm

Подробности

Default Role Realm

Добавляет настроенную роль ко всем пользователям при аутентификации. Более подробное описание представлено в разделе Роли

Local Authenticating Realm

Позволяет системе управлять настройками безопасности без дополнительных внешних систем. Представляет собой встроенный Realm, использующийся по умолчанию

npm Bearer Token Realm

Позволяет пользователям с ранее сгенерированными токенами публиковать пакеты npm. Также дает возможность настраивать аутентификацию в репозитории с помощью команды npm adduser

Docker Bearer Token Realm

Необходим для доступа к репозиториям Docker через клиент Docker или другой менеджер образов контейнеров (Docker Desktop, Podman и другие). Он также необходим для предоставления анонимного доступа к репозиториям Docker. Дополнительные сведения представлены в разделе Docker registry

Keycloak Authentication Realm

Используется для активации аутентификации через Keycloak SE

IAM Proxy Realm

Используется для активации аутентификации с помощью сервиса единой авторизации и аутентификации IAM

Анонимный доступ#

В Artifactory любому пользователю, не прошедшему аутентификацию, автоматически присваивается профиль анонимного пользователя. Данный профиль используется для доступа к серверу или скачивания компонентов из репозиториев без ввода логина и пароля.

Включение и отключение анонимного доступа#

Примечание

Для настройки анонимного доступа необходимы права на чтение и изменение настроек nx-settings.

Для включения или отключения анонимного доступа в Artifactory:

  1. Перейдите в раздел АдминистрированиеSecurityAnonymous Access;

  2. Активируйте/деактивируйте чекбокс Allow anonymous users to access the server;

  3. Укажите имя пользователя для анонимного профиля и выберите необходимый Realm.

anonymous access

Права доступа анонимных пользователей#

При включении анонимного доступа, любому пользователю, получающему доступ к пользовательскому интерфейсу или пытающемуся загрузить компоненты, будут предоставлены права анонимного пользователя nx-anonymous с базовыми привилегиями:

  • nx-healthcheck-read - чтение для статуса системы;

  • nx-search-read - доступ к поиску;

  • nx-repository-view-*-*-read - чтение репозиториев всех форматов;

  • nx-repository-view-*-*-browse - просмотр репозиториев всех форматов.

Примечание

Настроить роль анонимного пользователя по умолчанию невозможно. Необходимо предоставить анонимному пользователю дополнительные роли или создать новую.

Пользовательские токены (User token)#

В Artifactory реализована функция пользовательских токенов, позволяющая создавать двухкомпонентный токен для пользователя. Пользовательский токен можно использовать вместо стандартного ввода имени пользователя и пароля в текстовом формате. Данное решение обеспечивает более высокий уровень безопасности по сравнению с обратимым шифрованием и особенно полезно при использовании систем единого входа.

Например, при работе с Apache Maven для доступа к репозиториям учетные данные хранятся в файле settings.xml. Хотя Maven поддерживает шифрование паролей, это шифрование обратимо, что ограничивает уровень защиты. Использование пользовательских токенов решает данную проблему, обеспечивая более безопасное хранение данных. По умолчанию файл settings.xml располагается в каталоге ~/.m2/settings.xml. Данный файл хранит персонализированные настройки клиента или инструментов сборки, включая сведения о репозиториях.

Активация пользовательских токенов#

Администраторы или пользователи с правами nx-usertoken-settings, могут включить аутентификацию на основе пользовательских токенов через пользовательский интерфейс, раздел Администрирование -> Capabilities -> User Token.

Для активации пользовательских токенов активируйте чекбокс Enable в разделе User Token.

user token

Если необходимо настроить доступ к репозиториям и группам репозиториев только с использованием токенов, активируйте опцию Require User Tokens for Repository Authentication.

Для активации срока действия токена:

  1. Активируйте чекбокс Enable в разделе User Token Expiration;

  2. Укажите количество дней действия в поле User Token Expiry (по умолчанию - 30 дней, максимум - 999 дней);

  3. Нажмите кнопку Save для сохранения изменений.

Сброс пользовательских токенов#

Чтобы сбросить токен для конкретного пользователя:

  1. Перейдите в раздел Security -> Users -> User Token, откроется список пользователей, для которых активирован пользовательский токен;

  2. Выберите нужного пользователя нажатием на него в списке;

  3. Нажмите кнопку Reset user token.

Сброс и генерация пользовательского токена#

Artifactory автоматически создает токен для пользователя при первом его запросе. Для получения доступа к токену необходимы права nx-usertoken-current.

Для доступа к разделу по настройке пользовательского токена:

  1. Нажмите на иконку пользователя в правом верхнем углу главной панели инструментов;

  2. В открывшемся меню выберите вкладку User Token;

  3. После перехода на новую страницу, нажмите кнопку Access User Token;

  4. В отобразившемся окне повторно введите свои учетные данные и выберите Authenticate;

После выполнения всех действий отобразится окно с вашим токеном, которое автоматически закроется через 1 минуту.

Использование токена для аутентификации#

Доступно использование токена вместо логина и пароля для доступа к репозиторию через командную строку. Пример команды curl:

curl -v --user {token_name}:{token_pass} http://localhost:2468/repository/apt-all/