다음을 통해 공유


SSO용 인증서로 Microsoft Entra ID 설정

이 가이드에서는 사용자가 인증을 위해 Microsoft Entra ID를 사용하여 Microsoft Power Platform에서 SAP 데이터에 액세스하고 RFC(원격 함수 호출)를 실행할 수 있도록 SAP ERP 커넥터를 설정하는 방법을 안내합니다. 이 프로세스에는 보안 통신을 위해 공용 인증서와 개인 인증서를 모두 구성하는 작업이 포함됩니다.

참고

이 문서의 예에서는 권장되지 않는 자체 생성 공개 키 인프라를 사용하지만 설정과 인증서가 비즈니스 요구 사항과 Microsoft 파트너와 일치하는지 확인하세요.

사전 요구 사항

이미 다음 항목이 있는지 확인합니다.

또한 공개 및 비공개 키 기술에 대해서도 잘 알고 있어야 합니다.

인증서

인증 기관에서 제공하는 인증서와 유사한 자체 서명된 루트 인증서의 예를 생성합니다. 이를 사용하여 사용자를 위한 토큰을 발급할 수 있습니다.

데모 공개 키 인프라 만들기

보안 네트워크 통신 설정 설명서를 확장하여 데모 PKI(공개 키 인프라)의 나머지 절반을 구현합니다.

데모 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.txtserial 파일을 만듭니다.

# 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 스토어에 추가하려면 다음 단계를 수행합니다.

  1. 인증서 및 비공개 키에 서명하는 사용자로부터 .p12 파일을 생성합니다.
openssl pkcs12 -export -out user_signing_cert.p12 -inkey .\signingUsersCert\users.key.pem -in .\signingUsersCert\users.cert.pem
  1. Windows 인증서 관리자 열기:
    1. Win + R을 누르고 certlm.msc를 입력한 다음 Enter를 누릅니다.
  2. 공용 루트 CA 인증서를 가져옵니다.
    1. Trusted Root Certification Authorities로 가져옵니다.
  3. 사용자 인증서 + 키 가져오기:
    1. 인증서 관리자에서 적절한 인증서 저장소(예: 개인)로 이동합니다.
    2. 마우스 오른쪽 버튼을 클릭하고 All Tasks > Import를 선택합니다.
    3. 마법사를 따라 .p12 파일을 가져오고, 키를 내보낼 수 있는 것으로 표시하여 OPDG(온-프레미스 데이터 게이트웨이의 약자)에서 데이터를 암호화하는 데 사용할 수 있도록 합니다.
    4. Users Intermediate Cert를 마우스 오른쪽 버튼으로 클릭하고 All Tasks>Manage Private Keys...를 선택합니다.
  4. NT SERVICE\PBIEgwService 사용자를 사용 권한이 있는 사용자 목록에 추가합니다.
  5. 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 테이블을 입력하고 유지 관리 버튼을 선택합니다.

DN에 대한 프롬프트가 표시되면 Type of ACL 옵션을 선택합니다.

New Entry를 선택하고 외부 ID에 CN=TESTUSER01@CONTOSO.COM(자신의 UPN 내용을 대체)을 입력합니다. CN이 먼저 오는지 확인하십시오. 사용자 이름 필드에 대해 UPN을 선택합니다. 마지막으로 Activated 옵션을 확인하고 결과를 저장합니다.

참고

p: 접두사를 포함하지 마십시오.

규칙을 사용하여 X.509 인증서를 사용자에게 매핑

인증서 규칙을 사용하여 Entra ID 사용자를 SAP 사용자에게 쉽게 대량으로 매핑할 수 있습니다.

login/certificate_mapping_rulebased 프로필 매개 변수가 현재 값인 1로 설정되어 있는지 확인합니다.

참고

이 매핑 방법은 다시 시작 사이에 유지되지 않습니다.

그런 다음 t 코드 CERTRULE에서 다음 규칙을 만듭니다

T 코드: CERTRULE

참고

SAP에 대한 캐시된 연결이 만료되었는지 확인하기 위해 2분 정도 기다린 다음, 연결을 다시 테스트합니다. 그렇지 않은 경우 X.509-클라이언트 인증서에 적합한 SAP 사용자를 찾을 수 없습니다 오류가 발생할 수 있습니다.

사용자 중간 인증서

SAP에 사용자 중간 인증서를 추가하려면 다음 단계를 따르세요.

  1. t-코드 STRUST를 열고 STRUST를 두 번 클릭하여 공개 인증서 users.cert.pem 파일을 상자에 추가합니다.
  2. SAP GUI에서 트랜잭션 코드 STRUST로 이동합니다.
  3. SNC SAPCryptolib에 빨간색 X가 있으면 이를 마우스 오른쪽 버튼으로 클릭하고 만들기를 선택합니다.
  4. SNC SAPCryptolib를 선택한 다음 자체 인증서를 두 번 클릭합니다.
  5. 인증서 가져오기를 선택하고 signingUsersCert\users.cert.pem 공인 인증서를 선택합니다.
  6. 인증서 목록에 추가를 선택합니다.

SAP 시스템 업데이트

SAP 시스템 매개 변수에 SsoCertificateSubject를 추가합니다.

"SsoCertificateSubject": "CN=Users Intermediate Cert, O=Contoso",

또한 활성화

"SncSso": "On"

Microsoft Entra ID (using certificates)를 사용하여 Microsoft Entra ID 계정으로 SAP에 로그인하는 새 연결로 교체합니다.

중요

이 자습서를 완료하면 임시 TESTUSER01 공개 및 비공개 키를 삭제합니다.

중요

보안 무결성을 유지하기 위해 이 설정이 완료되면 비공개 키를 안전하게 처리하고 최종적으로 삭제해야 합니다.

자세한 정보: 온-프레미스 데이터 게이트웨이 FAQ인증서 기반 인증 구성