SafeNet Authentication Manager
Предварительные настройки
Для миграции данных из SafeNet Authentication Manager в Indeed CM убедитесь, что выполнены следующие предварительные условия:
Со стороны SAM:
- Версия SafeNet Authentication Manager 8.0, 8.2 Rev E и 9.0 SP2/SP3
- Хранилище данных SAM в Active Directory
- Редакция удостоверяющего центра Microsoft, сертификаты которого будут перенесены
- Известны все типы устройств (USB-токенов, смарт-карт) и значения их ATR (Answer To Reset), которые используются в SAM и будут использоваться в Indeed CM
Со стороны Indeed Certificate Manager:
- Версия Indeed CM Server 4.1.3 и выше
- Хранилище данных в Active Directory или Microsoft SQL
Процесс миграции
- Настройте Indeed CM для работы с данными из SAM.
- Создайте политики использования устройств.
- Настройте утилиту миграции IndeedCM.Migrate.SAM:
- Заполните файл конфигурации IndeedCM.Migrate.SAM.exe.config.
- Заполните файл конфигурации unity.config.
- Запустите процесс миграции.
Настройка Indeed CM для работы с данными из SAM
Прежде чем приступить к выгрузке данных из SAM, подготовьте Indeed CM к приему данных. Убедитесь, что выполнены следующие условия:
- Каталог пользователей Indeed CM совпадает с каталогом пользователей SAM. Путь к каталогу задается в Мастере настройки в разделе Каталог пользователей.
- В разделе Конфигурация → Лицензии есть действующая лицензия на достаточное количество пользователей.
- В разделе Конфигурация → Типы устройств добавлены все типы устройств eToken, которые используются в SAM.
- Для всех пользователей, устройства которых будут переноситься из SAM, созданы и назначены политики использования устройств в Indeed CM.
Создание политики использования устройств
Indeed Certificate Manager использует механизм политик выпуска устройств пользователям. Каждая политика содержит в себе параметры работы с устройством: перечень УЦ и шаблонов сертификатов, требования к установке PIN-кодов, перечень действий с устройством доступных пользователю и другие.
Каждая политика имеет область действия. Для каталога пользователей Indeed CM в Active Directory областью действия может быть:
- Домен (Domain)
- Контейнер (Container)
- Подразделение (Organizational Unit)
Для всех пользователей в пределах области действия политики будут выпускаться устройства с параметрами, определенными в этой политике. Политика может распространяться как на весь объект целиком (домен, контейнер или подразделение), так и на отдельные группы пользователей внутри него. Если пользователь попадает под действие нескольких политик выпуска устройств (например, состоит в двух группах в одном подразделении), применяется политика с наивысшим приоритетом.
Перед миграцией данных из SAM заранее создайте одну или несколько политик использования устройств в Indeed CM. Настройте в политике те же самые УЦ и шаблоны, которые использовались для выпуска сертификатов в SAM.
В результате миграции данных из SAM все пользователи, обладающие токенами и сертификатами, попадут под действие ранее созданных политик Indeed CM.
Утилита миграции
Данные из SAM переносятся с помощью утилиты IndeedCM.Migrate.SAM.exe, расположенной в дистрибутиве сервера Indeed Certificate Manager (каталог Misc\SAMMigration). Для работы утилиты заполните файлы конфигурации IndeedCM.Migrate.SAM.exe.config и IndeedCM.Migrate.SAM.unity.config.
IndeedCM.Migrate.SAM.exe.config
Откройте файл SAMMigration\IndeedCM.Migrate.SAM.exe.config от имени администратора в текстовом редакторе и заполните следующие секции:
samSettings– параметры подключения к хранилищу данных SAM.MsCAConnectorId– идентификатор коннектора к Microsoft CA. Значение параметра можно найти в файле XML коннектора в каталоге SAM.
Путь по умолчанию: C:\ProgramFiles\SafeNet\Authentication\SAM\x64\Bin\MsCAConnectorDescriptor.xml.
Значение по умолчанию: {1A30B883-CD69-4cbb-8D61-E72E9697D8B1}.connectionString- путь к файлу XML (в названии файла имя домена, в котором развернут SAM) c информацией для подключения к SAM серверу.
Путь по умолчанию C:\ProgramData\SafeNet\Authentication\SAM.migrateSAMSettings– параметры переноса данных.ignoreCMCertificateTemplateNotFoundError– параметр импорта устройств. Процесс импорта карт не останавливается. Может иметь два значения:true– из SAM импортируется устройство вместе с сертификатами, для которых в политике Indeed CM создан шаблон.false– из SAM не импортируется устройство, если в политике Indeed CM нет хотя бы одного шаблона для сертификата, выпущенного в SAM. Значение по умолчанию.
notIssuedTokenAdminPin– если ключевой носитель в SAM находится в состоянии Зарегистрирован и ни разу не выпускался, то в этом параметре задается PIN-код администратора, который будет установлен на устройстве после его переноса в Indeed CM.issuedTokenAdminPin– если ключевой носитель в SAM находится любом другом состоянии и выпускался без инициализации, то в параметре задается PIN-код администратора, который будет установлен на устройстве после его переноса в Indeed CM.tokenTypes– секция, в которой должны быть перечислены все устройства, которые необходимо перенести из SAM в Indeed CM. Необходимо указать модель устройства (токена, смарт-карты), product name, цвет устройства и значение ATR (Answer To Reset).предупреждениеЗначение ATR для каждого устройства можно получить у производителя или при помощи стороннего ПО, обратившись в службу технической поддержки компании Индид.
Если при работе утилиты IndeedCM.Migrate.SAM.exe с хранилищем SAM встречается устройство с моделью и product name, которые не указаны в секции
tokenTypes, то такие устройства не переносятся в хранилище Indeed CM, а утилита выводит соответствующую ошибку.adPersistenceSettings– параметры подключения к хранилищу данных Indeed CM в Active Directory. Содержимое секции должно полностью совпадать с содержимым одноименной секции файла конфигурации Консоли управления Indeed CM (mc\appsettings.json).sqlPersistenceSettings– параметры подключения к хранилищу данных Indeed CM в Microsoft SQL. По умолчанию секция закомментирована символами<! - - . . . - ->. Содержимое секции должно полностью совпадать с содержимым одноименной секции файла конфигурации Консоли управления Indeed CM (mc\appsettings.json).adUserCatalogSettings– параметры подключения к каталогу пользователей Indeed CM в Active Directory. Содержимое секции должно полностью совпадать с содержимым одноименной секции файла конфигурации Консоли управления Indeed CM (mc\appsettings.json).
Сохраните изменения.
Пример файла IndeedCM.Migrate.SAM.exe.config
<samSettings MsCAConnectorId="{1A30B883-CD69-4cbb-8D61-E72E9697D8B1}"
connectionString="C:\ProgramData\SafeNet\Authentication\SAM\demo.local.xml" />
<migrateSAMSettings ignoreCMCertificateTemplateNotFoundError="true"
notIssuedTokenAdminPin="adminpass"
issuedTokenAdminPin="adminpass2">
<tokenTypes>
<tokenType model="Token 12.0.0.0 12.0.12"
productName="SafeNet eToken 5110"
color="8"
atr="3bd5180081313a7d8073c8211030" />
<tokenType model="Token JC"
productName="eToken PRO Java 72K OS755"
color="4"
atr="3bd518008131fe7d8073c82110f4" />
</migrateSAMSettings>
<adPersistenceSettings path="LDAP://CN=Indeed CM,CN=Indeed Identity,
DC=demo,DC=local" userName="DEMO\cmadmin" password="Password1"
cryptoAlgName="AES"
cryptoKey="11d2f5051684451860ad177ebc39b55cacaf2a0a843b05ddf273b955c93ae015" />
<adUserCatalogSettings>
<rootContainers>
<container path="LDAP://OU=SAM_USERS,DC=demo,DC=local" userName="DEMO\cmadmin"
password="Password1" />
</rootContainers>
</adUserCatalogSettings>
IndeedCM.Migrate.SAM.unity.config
Откройте файл SAMMigration\unity.config от имени администратора в текстовом редакторе и заполните секцию container:
Все строки до
<register type="ISAMDbContext". . . />должны совпадать с теми, что указаны в файле конфигурации Консоли управления Indeed CM (mc\unity.config).предупреждениеДобавлять секции, которых по умолчанию нет в unity.config утилиты миграции (но есть в mc\unity.config) не нужно.
<register type="IMigrateReporter" mapTo="IndeedCM.Migrate.SAM.Reporter.CSVMigrateReporter, IndeedCM.Migrate.SAM/>"– определяет режим вывода отчета по работе утилиты миграции. Если секция не закомментирована символами<! - - . . . - ->, то отчет будет записываться в файл CSV, созданный в папке расположения утилиты с именем IndeedCM.Migrate.SAM.Report_dd-MM-yyyy_HH-mm-ss.csv. По умолчанию отчет не создается.<register type="IMigrateReporter" mapTo="IndeedCM.Migrate.SAM.Reporter.NullMigrateReporter, IndeedCM.Migrate.SAM"/>– отключает создание отчета о работе утилиты миграции данных. По умолчанию секция закомментирована символами *<! - - . . . - ->.предупреждениеИспользование двух активных секций с параметрами IndeedCM.Migrate.SAM.Reporter.CSVMigrateReporter, IndeedCM.Migrate.SAM и IndeedCM.Migrate.SAM.Reporter.NullMigrateReporter, IndeedCM.Migrate.SAM не допускается. Одна из них обязательно должна быть закомментирована или удалена.
Сохраните изменения.
Пример заполненной секции файла unity.config
<container>
<register type="ICardRepository" mapTo="IndeedCM.Persistence.AD.CardRepository, IndeedCM.Persistence.AD" />
<register type="IUserDataRepository" mapTo="IndeedCM.Persistence.AD.UserDataRepository, IndeedCM.Persistence.AD" />
<register type="IPolicyRepository" mapTo="IndeedCM.Persistence.AD.PolicyRepository, IndeedCM.Persistence.AD" />
<register type="ICardTypeRepository" mapTo="IndeedCM.Persistence.AD.CardTypeRepository, IndeedCM.Persistence.AD" />
<register type="ILicenseRepository" mapTo="IndeedCM.Persistence.AD.LicenseRepository, IndeedCM.Persistence.AD" />
<register type="ISkziRepository" mapTo="IndeedCM.Persistence.AD.SkziRepository, IndeedCM.Persistence.AD" />
<register type="IUserCatalog" mapTo="IndeedCM.UserCatalog.AD.UserCatalog, IndeedCM.UserCatalog.AD" />
<register type="ISAMDbContext" mapTo="IndeedCM.Migrate.SAM_8_0.Core.SAMDbContext, IndeedCM.Migrate.SAM_8_0" />
<register type="ISAMHelpers" mapTo="IndeedCM.Migrate.SAM_8_0.Utils.SAMHelpers, IndeedCM.Migrate.SAM_8_0" />
<register type="IMigrateReporter" mapTo="IndeedCM.Migrate.SAM.Reporter.CSVMigrateReporter, IndeedCM.Migrate.SAM" />
</container>
Работа с утилитой IndeedCM.Migrate.SAM
Чтобы запустить процесс миграции данных:
- Войдите на сервер SAM под сервисной учетной записью SAM (Service Account).
- Запустите утилиту в тестовом режиме в командной строке Windows от имени администратора.
```
IndeedCM.Migrate.SAM.exe /test
Тестовый запуск утилиты требуется для генерации отчета об устройствах и сертификатах, которые будут перенесены в ходе миграции, а также для вывода информации по ошибкам. В этом режиме работы утилиты данные не переносятся с репозиториев, и не заносятся события в журнал. - Если в тестовом режиме не было критических ошибок, продолжите миграцию. Запустите утилиту IndeedCM.Migrate.SAM.exe в командной строке Windows от имени администратора.
В ходе работы утилита отображает выполняемые действия с устройствами и выводит сведения об ошибках.
Если в файле конфигурации IndeedCM.Migrate.SAM.exe.config включена опция ведения отчета, то в каталоге с утилитой миграции автоматически создается файл отчета IndeedCM.Migrate.SAM.Report_dd-MM-yyyy_HH-mm-ss.csv.
Пример содержимого файла отчета в Microsoft Excel

Запись событий миграции в журнал
События успешности или ошибки переноса данных можно записать в журнал на сервере Indeed CM. Для записи событий используется компонент Indeed CM EventLog Proxy.
Чтобы настроить запись событий утилиты миграции данных в журнал событий сервера Indeed CM:
Откройте файл SAMMigration\IndeedCM.Migrate.SAM.exe.config от имени администратора в текстовом редакторе и добавьте элемент
proxyServerв секциюeventLogAuditSettingsсо следующими атрибутами:url– путь к сервису eventlogproxy, развернутому на сервере Indeed CM.userName– имя пользователя, под которым осуществлять подключение к сервису (должно совпадать с именем в секцииauthorizationфайла web.config приложения Indeed CM EventLog Proxy).password- пароль учетной записи, используемой для подключения к сервису.
Пример заполненной секции<proxyServer url="https://server.demo.local/eventlogproxy"
userName="DEMO\Administrator" password="P@ssw0rd" />Сохраните изменения.
Установите компонент IndeedCM.EventLog.Proxy на сервер Indeed CM. Как установить Indeed CM EventLog Proxy.
Откройте файл C:\inetpub\wwwroot\eventlogproxy\Web.config от имени администратора в текстовом редакторе и укажите в секции
authorizationучетные данные для доступа к сервису eventlogproxy.Пример заполненной секции<authorization>
<deny users="?" />
<allow users="DEMO\Administrator"/>
<deny users="*" />
</authorization>Сохраните изменения.