보안 네트워크 통신 설정
SNC(Secure Network Communications)는 온-프레미스 데이터 게이트웨이와 SAP 시스템 간의 데이터를 암호화하여 Power Platform과 SAP 통합의 보안을 강화합니다. 이 문서에서는 SNC를 개념 증명으로 설정하는 방법을 안내합니다.
중요
이 문서에 제시된 설정 및 권장 사항은 프로덕션 용도로 사용할 수 없습니다. 프로덕션 환경에서 SNC를 설정하는 방법에 대한 지침은 보안 팀, 내부 정책 및 Microsoft 파트너에게 문의하십시오.
사전 요구 사항
- SAP ERP 커넥터를 사용하는 SAP 연결이 있습니다.
- 다시 시작하고 관리할 수 있는 SAP 인스턴스에 액세스할 수 있습니다.
- SAP GUI가 설치 및 설정됩니다.
- 공개 및 비공개 키 기술에 대해 잘 알고 있습니다.
- OpenSSL이 설치 및 설정됩니다. Windows용 Git를 사용하는 경우
openssl
명령을 사용할 수 있도록C:\Program Files\Git\usr\bin\
을 시스템 PATH에 추가하세요.
SAP Common Crypto Library 설치
SAP Common Crypto Library를 사용하면 Microsoft .NET용 SAP 커넥터(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 지침 또는 보안 팀에 문의하세요.
이 예시에서 인증서는 다음 다이어그램과 같이 구조화되어 있습니다. 루트 CA[O=Contoso, CN=Root CA]는 SNC 암호화 인증서 [O=Contoso, CN=SNC] 및 사용자 인증서 [O=Contoso, CN=UserIDs
]에 서명합니다.
이 문서에서는 루트 CA 및 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" }
루트 CA 생성:
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
루트 CA를 사용하여 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 라이브러리는 PSE 내에서 SNC 인증서를 찾습니다.
PKCS#12 컨테이너 만들기:
openssl pkcs12 -export -out snc.p12 -inkey sncCert\snc.key.pem -in sncCert\snc.cert.pem -certfile rootCA\ca.cert.pem
SECUDIR 환경 변수 만들기:
- 시스템 속성 열기: 파일 탐색기에서 이 PC를 마우스 오른쪽 버튼으로 클릭한 다음 속성>고급 시스템 설정을 선택합니다.
- 환경 변수를 선택하세요.
- 시스템 변수에서 새로 만들기를 선택합니다.
- 변수를 이름을
SECUDIR
로 설정합니다. - 값을
C:\sapsecudir
로 설정합니다. - 확인을 선택합니다.
PKCS#12 컨테이너를 PSE로 가져오기:
C:\sap\libs\sapcryptolib\sapgenpse.exe import_p12 -p SAPSNCSKERB.pse C:\pki-certs\snc.p12
SNC용 SAP 설정
SAP GUI에 로그인합니다.
트랜잭션 코드
SNC0
으로 이동합니다.작업 영역으로 E를 입력합니다.
상단 표시줄에서 새 항목을 선택하고 필요한 정보를 입력합니다.
저장을 선택합니다.
SAP GUI 홈 화면으로 돌아갑니다.
트랜잭션 코드
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 간에 인증서를 교환해야 합니다.
SAP에 게이트웨이 SNC 인증서 추가
- SAP GUI에서 트랜잭션 코드
STRUST
로 이동합니다. - SNC SAPCryptolib에 빨간색 X가 있으면 마우스 오른쪽 버튼으로 클릭하고 만들기를 선택합니다.
- 그렇지 않으면 SNC SAPCryptolib를 두 번 클릭한 다음 자체 인증서를 두 번 클릭합니다.
-
인증서 가져오기를 선택하고
sncCert\snc.cert.pem
공인 인증서를 선택합니다. - 인증서 목록에 추가를 선택합니다.
온-프레미스 데이터 게이트웨이에 SAP SNC 인증서 추가
SAP GUI에서 트랜잭션 코드
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" }```
STFC_CONNECTION
RFC 함수를 사용하여 연결을 테스트합니다.
중요
개인 키를 안전하게 처리하고 이 설정이 완료되면 삭제해야 합니다.