Microsoft Entra ID(인증서 포함) - Single Sign-On
이 가이드에서는 사용자가 인증을 위해 Microsoft Entra ID를 사용하여 Microsoft Power Platform에서 SAP 데이터에 액세스하고 RFC(Remote Function Call)를 실행할 수 있도록 커넥터를 설정하는 방법을 안내합니다. 이 프로세스에는 보안 통신을 위해 공용 인증서와 개인 인증서를 모두 구성하는 작업이 포함됩니다.
중요
이 문서는 개념 증명을 설정하기 위한 것입니다. 설정 및 권장 사항은 프로덕션 용도로 사용할 수 없습니다. 이 항목에 대한 자세한 내용은 보안 팀, 내부 정책 및 Microsoft 파트너에게 자세한 지침을 문의하세요.
사전 요구 사항
이미 다음 항목이 있는지 확인합니다.
- SAP 연결 설정. 온-프레미스 데이터 게이트웨이의 2024년 7월 버전 - 3000.230 이상을 사용해야 합니다.
- 보안 네트워크 통신 설정.
또한 공개 및 비공개 키 기술에 대해서도 잘 알고 있어야 합니다.
인증서
인증 기관에서 제공하는 인증서와 유사한 자체 서명된 루트 인증서의 예를 생성합니다. 이를 사용하여 사용자를 위한 토큰을 발급할 수 있습니다.
데모 공개 키 인프라 만들기
보안 네트워크 통신 설정 설명서를 확장하여 데모 PKI(공개 키 인프라)의 나머지 절반을 구현합니다.
폴더 구조를 만듭니다.
cd C:\
mkdir pki-certs
cd C:\pki-certs\
mkdir signingUsersCert
mkdir userCerts
인증서가 올바른 메타데이터 및 제한 사항으로 생성되도록 확장 파일을 만듭니다.
signingUsersCert/extensions.cnf
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = critical,CA:true,pathlen:0
keyUsage = cRLSign, keyCertSign
userCerts/extensions.cnf
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth
서명된 인증서를 추적하기 위해 필요한 index.txt
및 serial
파일을 만듭니다.
# Create the necessary serial and index files if they don't exist
if (-Not (Test-Path "signingUsersCert\index.txt")) { New-Item -Path "signingUsersCert\index.txt" -ItemType File }
if (-Not (Test-Path "signingUsersCert\serial")) { Set-Content -Path "signingUsersCert\serial" -Value "0001" }
중간 사용자 인증서를 생성합니다.
openssl genrsa -out signingUsersCert/users.key.pem 2048
# Create Certificate Signing Request
openssl req -new -key signingUsersCert/users.key.pem -sha256 -out signingUsersCert/users.csr.pem -subj "/O=Contoso/CN=Users Intermediate Cert"
# Sign the certificate with the rootCA cert.
openssl x509 -req -in signingUsersCert/users.csr.pem -days 3650 `
-CA rootCA/ca.cert.pem -CAkey rootCA/ca.key.pem `
-out signingUsersCert/users.cert.pem `
-extfile signingUsersCert/extensions.cnf -extensions v3_ca `
-CAserial rootCA/serial
사용자 인증서 생성
SAP 사용자 이름을 가진 사용자에 대한 인증서를 생성하고 서명하려면 다음을 실행하세요. TESTUSER01
:
# Create the private key.
openssl genrsa -out userCerts/TESTUSER01.key.pem 2048
# Generate the certificate signing request
openssl req -key userCerts/TESTUSER01.key.pem -new -sha256 -out userCerts/TESTUSER01.csr.pem -subj "/CN=TESTUSER01"
# Sign the certificate + add extensions with the intermediate cert.
openssl x509 -req -days 365 -in userCerts/TESTUSER01.csr.pem -sha256 `
-CA signingUsersCert/users.cert.pem -CAkey signingUsersCert/users.key.pem `
-out userCerts/TESTUSER01.cert.pem -extfile userCerts/extensions.cnf `
-CAserial signingUsersCert/serial
참고
CN=TESTUSER01이 첫 번째 매개 변수여야 합니다.
이제 루트 인증서, 중간 SNC(Secure Network Communications의 약자) 인증서, 중간 사용자 인증서 및 사용자 인증서를 식별하기 위한 인증서가 있습니다.
다음 명령을 사용하여 체인을 검증합니다.
$ openssl verify -CAfile rootCA/ca.cert.pem -untrusted signingUsersCert/users.cert.pem userCerts/TESTUSER01.cert.pem
userCerts/TESTUSER01.cert.pem: OK
Windows 스토어
사용자 서명 인증서 및 인증서 체인을 Windows 스토어에 추가하려면 다음 단계를 수행합니다.
- 인증서 및 비공개 키에 서명하는 사용자로부터 .p12 파일을 생성합니다.
openssl pkcs12 -export -out user_signing_cert.p12 -inkey .\signingUsersCert\users.key.pem -in .\signingUsersCert\users.cert.pem
- Windows 인증서 관리자 열기:
-
Win + R
을 누르고certlm.msc
를 입력한 다음 Enter를 누릅니다.
-
- 공용 루트 CA 인증서를 가져옵니다.
-
Trusted Root Certification Authorities
로 가져옵니다.
-
- 사용자 인증서 + 키 가져오기:
- 인증서 관리자에서 적절한 인증서 저장소(예: 개인)로 이동합니다.
- 마우스 오른쪽 버튼을 클릭하고
All Tasks > Import
를 선택합니다. - 마법사를 따라
.p12
파일을 가져오고, 키를 내보낼 수 있는 것으로 표시하여 OPDG(온-프레미스 데이터 게이트웨이의 약자)에서 데이터를 암호화하는 데 사용할 수 있도록 합니다. -
Users Intermediate Cert
를 마우스 오른쪽 버튼으로 클릭하고All Tasks>Manage Private Keys...
를 선택합니다.
-
NT SERVICE\PBIEgwService
사용자를 사용 권한이 있는 사용자 목록에 추가합니다. - Windows 인증서 저장소에서 인증서의 주체 이름을 확인하세요:
Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*Users Intermediate Cert*" } | Format-List -Property Subject
Entra ID와 SAP 사용자 매핑
규칙을 사용하거나 사용자 중간 인증서를 SAP에 추가하여 X.509 인증서를 사용자에게 명시적으로 매핑할 수 있습니다.
X.509 인증서를 사용자에게 명시적으로 매핑
소수의 Entra ID 사용자를 SAP 사용자에게 명시적으로 매핑합니다.
SAP GUI에서 T-Code SM30
으로 이동합니다.
VUSREXTID
테이블을 입력하고 유지 관리 버튼을 선택합니다.
Type of ACL
에 대한 프롬프트가 표시되면 DN
옵션을 선택합니다.
New Entry
를 선택하고 외부 ID에 CN=TESTUSER01@CONTOSO.COM
(자신의 UPN 내용을 대체)을 입력합니다. CN이 먼저 오는지 확인하십시오. 사용자 이름 필드에 대해 UPN을 선택합니다. 마지막으로 Activated
옵션을 확인하고 결과를 저장합니다.
참고
p:
접두사를 포함하지 마십시오.
규칙을 사용하여 X.509 인증서를 사용자에게 매핑
인증서 규칙을 사용하여 Entra ID 사용자를 SAP 사용자에게 쉽게 대량으로 매핑할 수 있습니다.
login/certificate_mapping_rulebased
프로필 매개 변수가 현재 값인 1
로 설정되어 있는지 확인합니다.
참고
이 매핑 방법은 다시 시작 사이에 유지되지 않습니다.
그런 다음 t 코드 CERTRULE
에서 다음 규칙을 만듭니다
참고
SAP에 대한 캐시된 연결이 만료되었는지 확인하기 위해 2분 정도 기다린 다음, 연결을 다시 테스트합니다. 그렇지 않은 경우 X.509-클라이언트 인증서에 적합한 SAP 사용자를 찾을 수 없습니다 오류가 발생할 수 있습니다.
사용자 중간 인증서
SAP에 사용자 중간 인증서를 추가하려면 다음 단계를 따르세요.
- t-code
STRUST
를 열고STRUST
공개 인증서 users.cert.pem 파일을 상자에 추가하려면 두 번 클릭합니다. - SAP GUI에서 트랜잭션 코드 STRUST로 이동합니다.
- SNC SAPCryptolib에 빨간색 X가 있으면 이를 마우스 오른쪽 버튼으로 클릭하고 만들기를 선택합니다.
- SNC SAPCryptolib 을 선택한 다음 자체 인증서를 두 번 클릭합니다.
-
인증서 가져오기를 선택하고
signingUsersCert\users.cert.pem
공인 인증서를 선택합니다. - 인증서 목록에 추가를 선택합니다.
SAP 시스템 업데이트
SAP 시스템 매개 변수에 SsoCertificateSubject
를 추가합니다.
"SsoCertificateSubject": "CN=Users Intermediate Cert, O=Contoso",
또한 활성화
"SncSso": "On"
Microsoft Entra ID (using certificates)
를 사용하여 Microsoft Entra ID 계정으로 SAP에 로그인하는 새 연결로 교체합니다.
중요
이 자습서를 완료하면 임시 TESTUSER01 공개 및 비공개 키를 삭제합니다.
중요
보안 무결성을 유지하기 위해 이 설정이 완료되면 비공개 키를 안전하게 처리하고 최종적으로 삭제해야 합니다.
자세히 알아보기: 온-프레미스 데이터 게이트웨이 FAQ