Настройка Secure Network Communications
Безопасные сетевые коммуникации Secure Network Communications (SNC) повышает безопасность интеграции SAP с Power Platform за счет шифрования данных между локальным шлюзом данных и системой SAP. В этой статье описывается настройка SNC в качестве доказательства концепции.
Внимание!
Представленные в этой статье настройки и рекомендации не предназначены для использования в рабочей среде. Проконсультируйтесь со своей командой по безопасности, внутренними политиками и партнером Microsoft для получения рекомендаций по настройке SNC в производственной среде.
Предварительные требования
- У вас есть подключение SAP, использующее соединитель SAP ERP.
- У вас есть доступ к экземпляру SAP, который можно перезапустить и администрировать.
- Графический пользовательский интерфейс SAP установлен и настроен.
- Вы знакомы с технологиями открытого и закрытого ключей.
- OpenSSL установлен и настроен. Если у вас Git для Windows, добавьте
C:\Program Files\Git\usr\bin\
в переменную PATH системы, чтобы можно было использовать командуopenssl
.
Установка библиотеки шифрования SAP Common Crypto Library
Общая криптографическая библиотека SAP Common Crypto Library позволяет соединителю SAP для Microsoft .NET (NCo) шифровать обмен данными между локальным шлюзом данных и SAP. Чтобы извлечь библиотеку, вам понадобится проприетарная утилита распаковки под названием SAPCAR.
Получение SAPCAR
- Перейдите в центр загрузки программного обеспечения SAP и войдите в систему с учетными данными SAP.
- Выполните поиск по запросу SAPCAR и выберите последнюю неархивированную версию.
- Выберите операционную систему.
- Загрузите файл .EXE в папку
C:\sap\SAR
.
Получение библиотеки шифрования SAP Common Crypto Library
- В Центре загрузки программного обеспечения SAP выполните поиск по запросу "COMMONCRYPTOLIB" и выберите последнюю версию.
- Выберите операционную систему.
- Загрузите файл . SAR с самой последней датой выпуска в папку
C:\sap\SAR
.
Извлечение библиотеки шифрования SAP Common Crypto Library
Откройте PowerShell и перейдите в папку
C:\sap\SAR
.Введите следующую команду, заменив
xxxx
своими значениями:.\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
Убедитесь, что
sapgenpse.exe
находится в каталогеC:\sap\libs\sapcryptolib
.
Создание сертификатов
Теперь, когда вы установили библиотеку шифрования SAP Common Crypto Library, вы можете создавать сертификаты для установления доверия и шифрования между локальным шлюзом данных и системой SAP.
Предупреждение
Этот метод предназначен только для демонстрационных целей и не рекомендуется для производственных систем. Для производственных систем обратитесь к внутреннему руководству PKI или группе безопасности.
В этом примере наши сертификаты имеют структуру, показанную на следующей схеме. Корневой ЦС [O=Contoso, CN=Корневой ЦС] подписывает сертификат шифрования SNC [O=Contoso, CN=SNC] и пользовательские сертификаты [O=Contoso, CN=UserIDs
].
Эта статья посвящена настройке сертификатов корневого центра сертификации и SNC.
Создание сертификатов
Настройте структуру папок:
mkdir rootCA mkdir sncCert # Create the necessary serial and index files if they don't exist if (-Not (Test-Path "rootCA\index.txt")) { New-Item -Path "rootCA\index.txt" -ItemType File } if (-Not (Test-Path "rootCA\serial")) { Set-Content -Path "rootCA\serial" -Value "01" }
Создайте корневой ЦС:
openssl genpkey -algorithm RSA -out rootCA/ca.key.pem -pkeyopt rsa_keygen_bits:2048 openssl req -x509 -new -key rootCA/ca.key.pem -days 7305 -sha256 -extensions v3_ca -out rootCA/ca.cert.pem -subj "/O=Contoso/CN=Root CA"
Создайте сертификат SNC:
openssl genrsa -out sncCert/snc.key.pem 2048 openssl req -key sncCert/snc.key.pem -new -sha256 -out sncCert/snc.csr.pem -subj "/O=Contoso/CN=SNC"
Создайте конфигурационный файл OpenSSL
sncCert/extensions.cnf
для подписи:subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer basicConstraints = critical,CA:false keyUsage = critical,digitalSignature,keyEncipherment,dataEncipherment extendedKeyUsage = clientAuth,emailProtection
Подпишите сертификат SNC в корневом центре сертификации:
openssl x509 -req ` -in sncCert/snc.csr.pem ` -CA rootCA/ca.cert.pem ` -CAkey rootCA/ca.key.pem ` -CAcreateserial ` -out sncCert/snc.cert.pem ` -days 3650 ` -sha256 ` -extfile sncCert\extensions.cnf ` -extensions v3_leaf
Создание личной безопасной среды
Создайте персональную безопасную среду (PSE) для локального шлюза данных. Библиотека NCo ищет сертификат SNC внутри PSE.
Создайте контейнер PKCS#12:
openssl pkcs12 -export -out snc.p12 -inkey sncCert\snc.key.pem -in sncCert\snc.cert.pem -certfile rootCA\ca.cert.pem
Создайте переменную среды SECUDIR:
- Откройте Свойства системы: в проводнике щелкните правой кнопкой мыши Этот компьютер, затем выберите Свойства>Дополнительные параметры системы.
- Выберите Переменные среды.
- В меню Системные переменные выберите Создать.
- Задайте имя переменной как
SECUDIR
. - Задайте значение
C:\sapsecudir
. - Выберите OK.
Импортируйте контейнер PKCS#12 в PSE:
C:\sap\libs\sapcryptolib\sapgenpse.exe import_p12 -p SAPSNCSKERB.pse C:\pki-certs\snc.p12
Настройка SAP для SNC
Войдите в графический пользовательский интерфейс SAP.
Перейдите к коду транзакции
SNC0
.Введите E в качестве рабочей области.
Выберите Создать запись на верхней панели и введите необходимую информацию.
Выберите Сохранить.
Вернитесь на домашнюю страницу графического пользовательского интерфейса SAP.
Перейдите к коду транзакции
RZ10
.Задайте следующие параметры профиля:
snc/accept_insecure_gui: 1 snc/accept_insecure_rfc: 1 snc/enable: 1 snc/extid_login_diag: 1 snc/extid_login_rfc: 1 snc/gssapi_lib: $(SAPCRYPTOLIB) snc/identity/as: p:CN=ID3, O=Contoso snc/permit_insecure_start: 1 snc/data_protection/max: 3```
Сохраните параметры профиля и перезапустите систему SAP.
Обмен сертификатами между SAP и локальным шлюзом данных
Для установления доверия необходимо обменяться сертификатами между локальным шлюзом данных и SAP.
Добавление сертификата SNC шлюза в SAP
- В графическом пользовательском интерфейсе SAP перейдите к коду транзакции
STRUST
. - Если пункт SNC SAPCryptolib помечен красным крестиком, щелкните его правой кнопкой мыши и выберите Создать.
- В противном случае дважды щелкните SNC SAPCryptolib, затем дважды щелкните Собственный сертификат.
- Выберите Импортировать сертификат и выберите общедоступный сертификат
sncCert\snc.cert.pem
. - Выберите Добавить в список сертификатов.
Добавление сертификата SNC SAP в локальный шлюз данных
В графическом пользовательском интерфейсе SAP перейдите к коду транзакции
STRUST
.Дважды щелкните SNC SAPCryptolib, затем дважды щелкните Собственный сертификат.
Экспортируйте открытый сертификат.
Переместите открытый сертификат на компьютер шлюза (например,
C:\sap\contoso-public-key.crt
).Импортируйте сертификат в PSE шлюза:
C:\sap\libs\sapcryptolib\sapgenpse.exe maintain_pk -p SAPSNCSKERB.pse -v -a C:\pki-certs\sncCert\sapkerb.public.cert
Проверка безопасного подключения
Следуйте инструкциям, чтобы проверить безопасное соединение. После успешного завершения теста можно приступать к внедрению SNC в рабочую среду.
Создайте мгновенный поток в Power Automate.
Добавьте действие
SAP ERP Call Function
.Добавьте следующие параметры SNC в строку Подключение SAP:
{ "AppServerHost": "xxx", "Client": "xx", "SystemNumber": "xx", "LogonType": "ApplicationServer", "SncLibraryPath": "C:\\sap\\libs\\sapcryptolib\\sapcrypto.dll", "SncMyName": "p:CN=SNC, O=Contoso", "SncPartnerName": "p:CN=ID3, O=Contoso", "SncQop": "Default", "UseSnc": "true", "SncSso": "Off" }```
Протестируйте соединение с помощью функции RFC
STFC_CONNECTION
.
Внимание!
Убедитесь, что вы безопасно работаете с закрытыми ключами и удалите их по завершении этой настройки.
Следующий шаг
Настройка Microsoft Entra ID с сертификатами для единого входа