이 문서에서는 Microsoft Entra ID에서 SAP Cloud Identity Services로 프로비저닝을 구성하는 단계를 보여 줍니다. 목표는 사용자를 SAP Cloud Identity Services에 자동으로 프로비전하고 프로비전을 해제하여 해당 사용자가 SAP Cloud Identity Services에 인증하고 다른 SAP 워크로드에 액세스할 수 있도록 Microsoft Entra ID를 설정하는 것입니다. SAP Cloud Identity Services는 로컬 ID 디렉터리에서 다른 SAP 애플리케이션으로 대상 시스템으로 프로비저닝을 지원합니다.
참고
이 문서에서는 Microsoft Entra 사용자 프로비저닝 서비스에서 빌드된 커넥터에 대해 설명합니다. 이 서비스가 수행하는 작업, 작동 방식 및 질문과 대답에 대한 중요한 내용은 Microsoft Entra ID를 사용하여 SaaS 애플리케이션에 대한 사용자 프로비저닝 및 프로비전 해제 자동화를 참조하세요. SAP Cloud Identity Services에는 Microsoft Entra ID에서 사용자 및 그룹을 읽을 수 있는 별도의 자체 커넥터도 있습니다. 자세한 내용은 SAP Cloud Identity Services - ID 프로비저닝 - Microsoft Entra ID를 원본 시스템으로 참조하세요.
필수 조건
이 문서에 설명된 시나리오에서는 다음과 같은 필수 구성 요소가 이미 있다고 가정합니다.
- 활성 구독이 있는 Microsoft Entra 사용자 계정입니다. 계정이 아직 없는 경우 계정을 무료로 만들 수 있습니다.
- 다음 역할 중 하나입니다.
- SAP Cloud Identity Services 테넌트
- 관리자 권한이 있는 SAP Cloud Identity Services의 사용자 계정입니다.
참고
이 통합은 Microsoft Entra 미국 정부 클라우드 환경에서도 사용할 수 있습니다. Microsoft Entra US Government Cloud 애플리케이션 갤러리에서 이 애플리케이션을 찾아 퍼블릭 클라우드 환경에서와 동일한 방식으로 구성할 수 있습니다.
Microsoft Entra ID에 사용자가 아직 없는 경우 SAP 원본 및 대상 앱을 사용하여 사용자 프로비저닝을 위해 Microsoft Entra를 배포하는 문서 계획부터 시작합니다. 이 문서에서는 SAP SuccessFactors와 같은 조직의 작업자 목록에 대한 신뢰할 수 있는 원본과 Microsoft Entra를 연결하는 방법을 보여 줍니다. 또한 Microsoft Entra를 사용하여 작업자의 ID를 설정하여 SAP ECC 또는 SAP S/4HANA와 같은 하나 이상의 SAP 애플리케이션에 로그인할 수 있는 방법을 보여 줍니다.
SAP Cloud Identity Services로 프로덕션 환경에서 프로비저닝을 구성하고 Microsoft Entra ID 거버넌스를 사용하여 SAP 워크로드에 대한 액세스를 관리하려는 경우, 계속 진행하기 전에 ID 거버넌스를 위해 Microsoft Entra ID를 구성하기 전에 필수 조건을 검토하십시오.
프로비전을 위한 SAP Cloud Identity Services 설정
이 문서에서는 SAP Cloud Identity Services에 관리 시스템을 추가한 다음 Microsoft Entra를 구성합니다.
SAP Cloud Identity Services 관리 콘솔,
https://<tenantID>.accounts.ondemand.com/admin
또는https://<tenantID>.trial-accounts.ondemand.com/admin
(평가판인 경우)에 로그인합니다. 사용자 및 권한 부여 관리자로 >이동합니다.목록에 새 관리자를 추가하려면 왼쪽 패널의 +추가 단추를 누릅니다. 시스템 추가를 선택하고 시스템 이름을 입력합니다.
참고
SAP Cloud Identity Services의 관리자 ID는 시스템 유형이어야 합니다. 관리자 사용자는 프로비전할 때 SAP SCIM API에 인증할 수 없습니다. SAP Cloud Identity Services는 시스템 이름을 만든 후 변경할 수 없습니다.
권한 부여 구성에서 사용자 관리 항목에 대한 토글 스위치를 켭니다. 그런 다음 저장 을 선택하여 시스템을 만듭니다.
관리자 시스템이 만들어진 후 해당 시스템에 새 비밀을 추가합니다.
SAP에서 생성한 클라이언트 ID 및 클라이언트 암호를 복사합니다. 이러한 값은 각각 관리자 사용자 이름 및 관리자 암호 필드에 입력됩니다. 이 작업은 다음 섹션에서 설정한 SAP Cloud Identity Services 애플리케이션의 프로비저닝 탭에서 수행됩니다.
SAP Cloud Identity Services는 하나 이상의 SAP 애플리케이션을 대상 시스템으로 매핑할 수 있습니다. 해당 SAP 애플리케이션이 SAP Cloud Identity Services를 통해 프로비전되어야 하는 사용자 특성이 있는지 확인합니다. 이 문서에서는 SAP Cloud Identity Services 및 다운스트림 대상 시스템에 두 가지 특성이
userName
필요하다고 가정합니다emails[type eq "work"].value
. SAP 대상 시스템에 다른 특성이 필요하고 Microsoft Entra ID 사용자 스키마의 일부가 아닌 경우 동기화 확장 특성을 구성해야 할 수 있습니다.
갤러리에서 SAP Cloud Identity Services 추가
SAP Cloud Identity Services에 대한 자동 사용자 프로비전을 갖도록 Microsoft Entra ID를 구성하기 전에 Microsoft Entra 애플리케이션 갤러리의 SAP Cloud Identity Services를 테넌트의 엔터프라이즈 애플리케이션 목록에 추가해야 합니다. Microsoft Entra 관리 센터 또는 Graph API를 통해 이 단계를 수행할 수 있습니다.
SAP Cloud Identity Services가 Microsoft Entra의 Single Sign-On에 대해 이미 구성되어 있고 애플리케이션이 이미 Microsoft Entra 엔터프라이즈 애플리케이션 목록에 있는 경우 다음 섹션을 계속 진행합니다.
Microsoft Entra 관리 센터를 사용하여 Microsoft Entra 애플리케이션 갤러리에서 SAP Cloud Identity Services를 추가하려면 다음 단계를 수행합니다.
- Microsoft Entra 관리 센터에 최소한 클라우드 애플리케이션 관리자로 로그인합니다.
- Entra ID>엔터프라이즈 앱>새 애플리케이션으로 이동합니다.
- 갤러리에서 앱을 추가하려면 검색 상자에 SAP Cloud Identity Services 를 입력합니다.
- 결과 패널에서 SAP Cloud Identity Services를 선택한 다음, 앱을 추가합니다. 앱이 테넌트에 추가될 때까지 잠시 동안 기다려 주세요.
SAP Cloud Identity Services에 대한 자동 사용자 프로비전 구성
이 섹션에서는 Microsoft Entra ID 애플리케이션의 사용자 할당을 기반으로 SAP Cloud Identity Services에서 사용자를 만들고, 업데이트하고, 사용하지 않도록 설정하는 Microsoft Entra 프로비전 서비스를 구성하는 단계를 안내합니다.
Microsoft Entra ID에서 SAP Cloud Identity Services에 대한 자동 사용자 프로비전을 구성하려면 다음을 수행합니다.
Microsoft Entra 관리 센터에 최소한 클라우드 애플리케이션 관리자로 로그인합니다.
Entra ID>엔터프라이즈 앱으로 이동
애플리케이션 목록에서 애플리케이션인 SAP Cloud Identity Services를 선택합니다.
속성 탭을 선택합니다.
할당이 필요한가요? 옵션이 예로 설정되어 있는지 확인합니다. 아니요로 설정된 경우 외부 ID를 포함하여 디렉터리의 모든 사용자가 애플리케이션에 액세스할 수 있으며 애플리케이션에 대한 액세스를 검토할 수 없습니다.
프로비전 탭을 선택합니다.
프로비전 모드를자동으로 설정합니다.
관리자 자격 증명 섹션에서 SAP Cloud Identity Services의 테넌트 ID를 사용하여
https://<tenantID>.accounts.ondemand.com/service/scim
을 입력하거나, 평가판의 경우https://<tenantid>.trial-accounts.ondemand.com/service/scim
을 입력한 다음 테넌트 URL에 입력하세요. 관리자 사용자 이름 및 관리자 암호에서 이전에 검색된 클라이언트 ID 및 클라이언트 암호 값을 각각 입력합니다. 테스트 연결을 선택하여 Microsoft Entra ID가 SAP Cloud Identity Services에 연결할 수 있는지 확인합니다. 연결에 실패하면 SAP Cloud Identity Services 시스템 계정에 관리자 권한이 있는지, 비밀이 여전히 유효한지 확인한 후 다시 시도합니다.알림 전자 메일 필드에 프로비전 오류 알림을 받아야 하는 사용자 또는 그룹의 전자 메일 주소를 입력하고 확인란을 선택합니다. 오류가 발생하면 전자 메일 알림을 보냅니다.
저장을 선택합니다.
매핑 섹션에서 Microsoft Entra ID 사용자 프로비전을 선택합니다.
특성 매핑 섹션에서 Microsoft Entra ID에서 SAP Cloud Identity Services로 동기화되는 사용자 특성을 검토합니다. 매핑 대상으로 사용할 수 있는 SAP Cloud Identity Services의 특성이 표시되지 않으면 고급 옵션 표시 를 선택하고 SAP Cloud Platform Identity Authentication Service의 특성 목록 편집 을 선택하여 지원되는 특성 목록을 편집합니다. SAP Cloud Identity Services 테넌트의 특성을 추가합니다.
이러한 특성은 Microsoft Entra 프로비저닝 서비스에 대한 SAP Cloud Identity Services의 사용자 계정을 일치시키는 데 사용되어 새 사용자를 만들거나 기존 사용자를 업데이트할지 여부를 결정하기 때문에 일치 속성, 일치 우선 순위가 있는 매핑으로 선택한 원본 및 대상 특성을 검토하고 기록합니다. 일치에 대한 자세한 내용은 원본 및 대상 시스템에서 일치하는 사용자를 참조하세요. 이후 단계에서는 SAP Cloud Identity Services에 이미 있는 모든 사용자에게 중복된 사용자가 생성되지 않도록 일치 속성으로 선택된 특성이 있는지 확인합니다.
애플리케이션의 특성에 매핑된
IsSoftDeleted
에 대한 특성 매핑 또는IsSoftDeleted
를 포함하는 함수가 있는지 확인합니다. 사용자가 애플리케이션에서 할당 취소되거나, Microsoft Entra ID에서 일시 삭제되거나, 로그인이 차단되면 Microsoft Entra 프로비전 서비스는isSoftDeleted
에 매핑된 특성을 업데이트합니다. 매핑된 특성이 없으면 나중에 애플리케이션 역할에서 할당 해제된 사용자가 애플리케이션의 데이터 저장소에 계속 존재합니다.SAP Cloud Identity Services 또는 다운스트림 대상 SAP 시스템에 필요한 추가 매핑을 추가합니다.
저장 단추를 선택하여 변경 내용을 커밋합니다.
속성 유형 필터링에 지원됨 SAP Cloud Identity Services에 필요 userName
문자열 ✓ ✓ emails[type eq "work"].value
문자열 ✓ active
불리언 displayName
문자열 urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager
참조 addresses[type eq "work"].country
문자열 addresses[type eq "work"].locality
문자열 addresses[type eq "work"].postalCode
문자열 addresses[type eq "work"].region
문자열 addresses[type eq "work"].streetAddress
문자열 name.givenName
문자열 name.familyName
문자열 name.honorificPrefix
문자열 phoneNumbers[type eq "fax"].value
문자열 phoneNumbers[type eq "mobile"].value
문자열 phoneNumbers[type eq "work"].value
문자열 urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:costCenter
문자열 urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department
문자열 urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:division
문자열 urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber
문자열 urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:organization
문자열 locale
문자열 timezone
문자열 userType
문자열 company
문자열 urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute1
문자열 urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute2
문자열 urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute3
문자열 urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute4
문자열 urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute5
문자열 urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute6
문자열 urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute7
문자열 urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute8
문자열 urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute9
문자열 urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute10
문자열 sendMail
문자열 mailVerified
문자열 범위 지정 필터를 구성하려면 범위 지정 필터 문서에 제공된 다음 지침을 참조하세요.
SAP Cloud Identity Services에 Microsoft Entra 프로비저닝 서비스를 사용하도록 설정하려면 설정 섹션에서 프로비전 상태를켜기로 변경합니다.
설정 섹션의 범위 값에 대해 할당된 사용자 및 그룹만 동기화를 선택합니다.
프로비전할 준비가 되면 저장을 선택합니다.
이 작업은 설정 섹션의 범위에 정의된 모든 사용자의 초기 동기화를 시작합니다. 범위가 동기화 할당된 사용자 및 그룹만 동기화 로 설정되어 있고 애플리케이션에 할당된 사용자 또는 그룹이 없는 경우 사용자가 애플리케이션에 할당될 때까지 동기화가 수행되지 않습니다.
Microsoft Entra ID에서 SAP Cloud Identity Services로 새 테스트 사용자 프로비전
자동 사용자 프로비전 구성을 테스트하려면 단일 새 Microsoft Entra 테스트 사용자를 SAP Cloud Identity Services에 할당하는 것이 좋습니다.
- Microsoft Entra 관리 센터에 최소한 클라우드 애플리케이션 관리자 및 사용자 관리자로 로그인합니다.
- Entra ID>사용자로 이동합니다.
- 새 사용자>만들기를 선택합니다.
- 새 테스트 사용자의 사용자 계정 이름 및 표시 이름을 입력합니다. 사용자 계정 이름은 고유해야 하며 현재 또는 이전 Microsoft Entra 사용자 또는 SAP Cloud Identity Services 사용자와 동일해서는 안 됩니다. 검토 + 만들기 및 만들기를 선택합니다.
- 테스트 사용자가 만들어지면 Entra ID>Enterprise 앱으로 이동합니다.
- SAP Cloud Identity Services 애플리케이션을 선택합니다.
- 사용자 및 그룹을 선택한 다음 사용자/그룹 추가를 선택합니다.
- 사용자 및 그룹에서선택한 항목 없음을 선택하고 텍스트 상자에 테스트 사용자의 사용자 계정 이름을 입력합니다.
- 선택을 선택하고 할당합니다.
- 프로비저닝을 선택한 다음 요청 시 프로비저닝을 선택합니다.
- 사용자 또는 그룹 선택 텍스트 상자에 테스트 사용자의 사용자 계정 이름을 입력합니다.
- 프로비저닝을 선택합니다.
- 프로비저닝이 완료될 때까지 기다리세요. 성공하면 메시지가
Modified attributes (successful)
표시됩니다.
또한 사용자가 애플리케이션 범위를 벗어날 때 Microsoft Entra 프로비전 서비스가 무엇을 프로비전할지 선택적으로 확인할 수도 있습니다.
- 사용자 및 그룹을 선택합니다.
- 테스트 사용자를 선택한 다음 제거를 선택합니다.
- 테스트 사용자를 제거한 후 프로비저닝을 선택한 다음 요청 시 프로비전을 선택합니다.
- 사용자 또는 그룹 선택 텍스트 상자에 할당 해제된 테스트 사용자의 사용자 계정 이름을 입력합니다.
- 프로비저닝을 선택합니다.
- 프로비저닝이 완료될 때까지 기다리세요.
마지막으로 Microsoft Entra ID에서 테스트 사용자를 제거할 수 있습니다.
- Entra ID>사용자로 이동합니다.
- 테스트 사용자를 선택하고 삭제를 선택한 다음 확인을 선택합니다. 이 작업은 Microsoft Entra ID에서 테스트 사용자를 일시 삭제합니다.
그런 다음 SAP Cloud Identity Services에서 테스트 사용자를 제거할 수도 있습니다.
기존 SAP Cloud Identity Services 사용자에게 필요한 일치 특성이 있는지 확인
비테스트 사용자를 Microsoft Entra ID의 SAP Cloud Identity Services 애플리케이션에 할당하기 전에 Microsoft Entra ID의 사용자와 동일한 사람을 나타내는 SAP Cloud Identity Services의 모든 사용자가 SAP Cloud Identity Services에 매핑 특성이 채워져 있는지 확인해야 합니다.
프로비저닝 매핑에서 일치 속성으로 선택한 특성은 Microsoft Entra ID의 사용자 계정을 SAP Cloud Identity Services의 사용자 계정과 일치시키는 데 사용됩니다. SAP Cloud Identity Services에 일치하지 않는 Microsoft Entra ID에 사용자가 있는 경우 Microsoft Entra 프로비전 서비스는 새 사용자를 만들려고 합니다. Microsoft Entra ID에 사용자가 있고 SAP Cloud Identity Services에 일치하는 경우 Microsoft Entra 프로비전 서비스는 해당 SAP Cloud Identity Services 사용자를 업데이트합니다. 이러한 이유로 SAP Cloud Identity Services에 이미 있는 모든 사용자에게 일치 속성으로 선택된 특성이 있는지 확인해야 합니다. 그렇지 않으면 중복된 사용자를 만들 수 있습니다. Microsoft Entra 애플리케이션 특성 매핑에서 일치하는 특성을 변경해야 하는 경우 원본 및 대상 시스템에서 일치하는 사용자를 참조하세요.
SAP Cloud Identity Services 관리 콘솔,
https://<tenantID>.accounts.ondemand.com/admin
또는https://<tenantID>.trial-accounts.ondemand.com/admin
(평가판인 경우)에 로그인합니다.사용자 및 권한 부여로 이동하여 사용자를 내보 > 냅니다.
Microsoft Entra 사용자를 SAP 사용자와 일치시키는 데 필요한 모든 특성을 선택합니다. 이러한 특성에는 SAP 시스템에서 식별자로 사용할 수 있는
SCIM ID
,userName
,emails
및 기타 특성이 포함됩니다.내보내기를 선택하고 브라우저가 CSV 파일을 다운로드할 때까지 기다립니다.
PowerShell 창을 엽니다.
편집기에 다음 스크립트를 입력합니다. 첫 번째 줄에서
userName
이외의 일치하는 다른 특성을 선택한 경우sapScimUserNameField
변수의 값을 SAP Cloud Identity Services 특성의 이름으로 변경합니다. 두 번째 줄에서는 내보낸 CSV 파일의 파일 이름에 대한 인수를Users-exported-from-sap.csv
에서 다운로드한 파일의 이름으로 변경합니다.$sapScimUserNameField = "userName" $existingSapUsers = import-csv -Path ".\Users-exported-from-sap.csv" -Encoding UTF8 $count = 0 $warn = 0 foreach ($u in $existingSapUsers) { $id = $u.id if (($null -eq $id) -or ($id.length -eq 0)) { write-error "Exported CSV file doesn't contain the id attribute of SAP Cloud Identity Services users." throw "id attribute not available, re-export" return } $count++ $userName = $u.$sapScimUserNameField if (($null -eq $userName) -or ($userName.length -eq 0)) { write-warning "SAP Cloud Identity Services user $id doesn't have a $sapScimUserNameField attribute populated" $warn++ } } write-output "$warn of $count users in SAP Cloud Identity Services did not have the $sapScimUserNameFIeld attribute populated."
스크립트를 실행합니다. 스크립트가 완료되면 필수 일치 특성이 부족한 사용자가 한 명 이상 있는 경우 내보낸 CSV 파일이나 SAP Cloud Identity Services 관리 콘솔에서 해당 사용자를 검색합니다. 해당 사용자가 Microsoft Entra에도 있는 경우 일치하는 특성이 채워지도록 해당 사용자의 SAP Cloud Identity Services 표현을 먼저 업데이트해야 합니다.
SAP Cloud Identity Services에서 해당 사용자의 특성을 업데이트한 후 2~5단계와 이 섹션의 PowerShell 단계에 설명된 대로 SAP Cloud Identity Services에서 사용자를 다시 내보내 SAP Cloud Identity Services의 사용자에게 해당 사용자에 대한 프로비전을 방해하는 일치하는 특성이 없는지 확인합니다.
이제 SAP Cloud Identity Services에서 가져온 모든 사용자 목록이 있으므로 애플리케이션의 데이터 저장소에서 해당 사용자를 Microsoft Entra ID에 이미 있는 사용자와 일치하여 프로비전 범위에 있어야 하는 사용자를 결정합니다.
Microsoft Entra ID에서 사용자의 ID를 검색합니다.
이 섹션에서는 Microsoft Graph PowerShell cmdlet을 사용하여 Microsoft Entra ID와 상호 작용하는 방법을 보여 줍니다.
조직에서 이 시나리오에 이러한 cmdlet을 처음 사용하는 경우 테넌트에서 Microsoft Graph PowerShell을 사용할 수 있도록 허용하는 전역 관리자 역할이 필요합니다. 후속 상호 작용에서 다음과 같은 낮은 권한 있는 역할을 사용할 수 있습니다.
- 사용자 관리자(새 사용자를 만들 것으로 예상되는 경우)
- 애플리케이션 역할 할당만 관리하는 경우 애플리케이션 관리자 또는 ID 거버넌스 관리자입니다.
PowerShell을 엽니다.
Microsoft Graph PowerShell 모듈이 아직 설치되어 있지 않은 경우 다음 명령을 사용하여 모듈 및 기타 모듈을 설치
Microsoft.Graph.Users
합니다.Install-Module Microsoft.Graph
모듈이 이미 설치되어 있으면 최신 버전을 사용하고 있는지 확인합니다.
Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
Microsoft Entra ID에 연결합니다.
$msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
이 명령을 처음 사용하는 경우 Microsoft Graph 명령줄 도구에 이러한 사용 권한이 있도록 허용한다는 데 동의해야 할 수 있습니다.
애플리케이션의 데이터 저장소에서 가져온 사용자 목록을 PowerShell 세션으로 읽어 들입니다. 사용자 목록이 CSV 파일에 있으면 PowerShell cmdlet
Import-Csv
를 사용하고 이전 섹션의 파일 이름을 인수로 제공할 수 있습니다.예를 들어 SAP Cloud Identity Services에서 가져온 파일의 이름이 Users-exported-from-sap.csv 현재 디렉터리에 있는 경우 이 명령을 입력합니다.
$filename = ".\Users-exported-from-sap.csv" $dbusers = Import-Csv -Path $filename -Encoding UTF8
데이터베이스 또는 디렉터리를 사용하는 경우 파일 이름이 users.csv 현재 디렉터리에 있는 경우 다음 명령을 입력합니다.
$filename = ".\users.csv" $dbusers = Import-Csv -Path $filename -Encoding UTF8
Microsoft Entra ID에서 사용자의 특성과 일치하는 users.csv 파일의 열을 선택합니다.
SAP Cloud Identity Services를 사용하는 경우 기본 매핑은 SAP SCIM 특성
userName
과 Microsoft Entra ID 특성userPrincipalName
입니다.$db_match_column_name = "userName" $azuread_match_attr_name = "userPrincipalName"
또 다른 예로, 데이터베이스나 디렉터리를 사용하는 경우
EMail
이라는 열의 값이 Microsoft Entra 특성userPrincipalName
의 값과 동일한 데이터베이스에 사용자가 있을 수 있습니다.$db_match_column_name = "EMail" $azuread_match_attr_name = "userPrincipalName"
Microsoft Entra ID에서 해당 사용자의 ID를 검색합니다.
다음 PowerShell 스크립트에서는 앞에서 지정한
$dbusers
,$db_match_column_name
및$azuread_match_attr_name
값을 사용합니다. Microsoft Entra ID를 쿼리하여 원본 파일의 각 레코드에 대해 일치하는 값을 가진 특성을 가진 사용자를 찾습니다. 원본 SAP Cloud Identity Services, 데이터베이스 또는 디렉터리에서 가져온 파일에 사용자가 많은 경우 이 스크립트를 완료하는 데 몇 분 정도 걸릴 수 있습니다. 값이 있는 Microsoft Entra ID 특성이 없고contains
또는 다른 필터 식을 사용해야 하는 경우 이 스크립트를 사용자 지정하고 다음 11단계에서 다른 필터 식을 사용해야 합니다.$dbu_not_queried_list = @() $dbu_not_matched_list = @() $dbu_match_ambiguous_list = @() $dbu_query_failed_list = @() $azuread_match_id_list = @() $azuread_not_enabled_list = @() $dbu_values = @() $dbu_duplicate_list = @() foreach ($dbu in $dbusers) { if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { $val = $dbu.$db_match_column_name $escval = $val -replace "'","''" if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval } $filter = $azuread_match_attr_name + " eq '" + $escval + "'" try { $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop) if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else { $id = $ul[0].id; $azuread_match_id_list += $id; if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id } } } catch { $dbu_query_failed_list += $dbu } } else { $dbu_not_queried_list += $dbu } }
이전 쿼리의 결과를 봅니다. SAP Cloud Identity Services, 데이터베이스, 또는 디렉터리의 사용자가 오류나 일치 항목 부족으로 인해 Microsoft Entra ID에서 발견되지 않는 경우가 있는지 확인하십시오.
다음 PowerShell 스크립트에 찾지 못한 레코드 수가 표시됩니다.
$dbu_not_queried_count = $dbu_not_queried_list.Count if ($dbu_not_queried_count -ne 0) { Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name." } $dbu_duplicate_count = $dbu_duplicate_list.Count if ($dbu_duplicate_count -ne 0) { Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value" } $dbu_not_matched_count = $dbu_not_matched_list.Count if ($dbu_not_matched_count -ne 0) { Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name." } $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count if ($dbu_match_ambiguous_count -ne 0) { Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous." } $dbu_query_failed_count = $dbu_query_failed_list.Count if ($dbu_query_failed_count -ne 0) { Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors." } $azuread_not_enabled_count = $azuread_not_enabled_list.Count if ($azuread_not_enabled_count -ne 0) { Write-Error "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in." } if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count) { Write-Output "You will need to resolve those issues before access of all existing users can be reviewed." } $azuread_match_count = $azuread_match_id_list.Count Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID."
스크립트가 완료되면 데이터 원본의 레코드가 Microsoft Entra ID에 없는 경우 오류가 표시됩니다. 애플리케이션 데이터 저장소의 사용자에 대한 모든 레코드를 Microsoft Entra ID의 사용자로 찾을 수 없는 경우 일치하지 않는 레코드와 그 이유를 조사해야 합니다.
예를 들어, 애플리케이션의 데이터 원본에서 해당
mail
속성이 업데이트되지 않은 상태에서 누군가의 이메일 주소와 userPrincipalName이 Microsoft Entra ID에서 변경되었을 수 있습니다. 또는 사용자가 이미 조직을 떠났지만 여전히 애플리케이션의 데이터 원본에 있을 수 있습니다. 또는 Microsoft Entra ID의 특정 개인과 일치하지 않는 애플리케이션의 데이터 원본에 공급업체 또는 최고 관리자 계정이 있을 수 있습니다.Microsoft Entra ID에서 찾을 수 없거나 활성 상태가 아니어서 로그인할 수 없는 사용자가 있지만 SAP Cloud Identity Services, 데이터베이스 또는 디렉터리에서 해당 사용자의 액세스 권한을 검토하거나 해당 특성을 업데이트하려는 경우, 애플리케이션, 일치 규칙을 업데이트하거나 Microsoft Entra 사용자를 업데이트하거나 만들어야 합니다. 변경할 내용에 대한 자세한 내용은 Microsoft Entra ID의 사용자와 일치하지 않는 애플리케이션의 매핑 및 사용자 계정 관리를 참조하세요.
Microsoft Entra ID에서 사용자 만들기 옵션을 선택한 경우 다음 중 하나를 사용하여 사용자를 대량으로 만들 수 있습니다.
- CSV 파일, Microsoft Entra 관리 센터에서 대량으로 사용자 만들기에 설명된 대로
- New-MgUser cmdlet
이러한 새 사용자가 나중에 애플리케이션의 기존 사용자와 일치하도록 Microsoft Entra ID에 필요한 특성과
userPrincipalName
,mailNickname
및displayName
을 포함하여 Microsoft Entra ID에 필요한 특성으로 채워졌는지 확인합니다.userPrincipalName
은 디렉터리의 모든 사용자 중에서 고유해야 합니다.예를 들어, 데이터베이스에는
EMail
이라는 열의 값이 Microsoft Entra 사용자 계정 이름으로 사용하려는 값이고,Alias
열의 값에 Microsoft Entra ID 메일 별명이 포함되어 있고Full name
열의 값에는 사용자의 표시 이름이 포함됩니다.$db_display_name_column_name = "Full name" $db_user_principal_name_column_name = "Email" $db_mail_nickname_column_name = "Alias"
그런 다음, 이 스크립트를 사용하여 Microsoft Entra ID의 사용자와 일치하지 않는 SAP Cloud Identity Services, 데이터베이스 또는 디렉터리에 대한 Microsoft Entra 사용자를 만들 수 있습니다. 조직에 필요한 Microsoft Entra 특성을 추가하거나
$azuread_match_attr_name
이mailNickname
도 아니고userPrincipalName
도 아닌 경우 해당 Microsoft Entra 특성을 제공하려면 이 스크립트를 수정해야 할 수도 있습니다.$dbu_missing_columns_list = @() $dbu_creation_failed_list = @() foreach ($dbu in $dbu_not_matched_list) { if (($null -ne $dbu.$db_display_name_column_name -and $dbu.$db_display_name_column_name.Length -gt 0) -and ($null -ne $dbu.$db_user_principal_name_column_name -and $dbu.$db_user_principal_name_column_name.Length -gt 0) -and ($null -ne $dbu.$db_mail_nickname_column_name -and $dbu.$db_mail_nickname_column_name.Length -gt 0)) { $params = @{ accountEnabled = $false displayName = $dbu.$db_display_name_column_name mailNickname = $dbu.$db_mail_nickname_column_name userPrincipalName = $dbu.$db_user_principal_name_column_name passwordProfile = @{ Password = -join (((48..90) + (96..122)) * 16 | Get-Random -Count 16 | % {[char]$_}) } } try { New-MgUser -BodyParameter $params } catch { $dbu_creation_failed_list += $dbu; throw } } else { $dbu_missing_columns_list += $dbu } }
누락된 사용자를 Microsoft Entra ID에 추가한 후 7단계의 스크립트를 다시 실행합니다. 그런 다음, 8단계에서 스크립트를 실행합니다. 오류가 보고되지 않는지 확인합니다.
$dbu_not_queried_list = @() $dbu_not_matched_list = @() $dbu_match_ambiguous_list = @() $dbu_query_failed_list = @() $azuread_match_id_list = @() $azuread_not_enabled_list = @() $dbu_values = @() $dbu_duplicate_list = @() foreach ($dbu in $dbusers) { if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { $val = $dbu.$db_match_column_name $escval = $val -replace "'","''" if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval } $filter = $azuread_match_attr_name + " eq '" + $escval + "'" try { $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop) if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else { $id = $ul[0].id; $azuread_match_id_list += $id; if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id } } } catch { $dbu_query_failed_list += $dbu } } else { $dbu_not_queried_list += $dbu } } $dbu_not_queried_count = $dbu_not_queried_list.Count if ($dbu_not_queried_count -ne 0) { Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name." } $dbu_duplicate_count = $dbu_duplicate_list.Count if ($dbu_duplicate_count -ne 0) { Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value" } $dbu_not_matched_count = $dbu_not_matched_list.Count if ($dbu_not_matched_count -ne 0) { Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name." } $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count if ($dbu_match_ambiguous_count -ne 0) { Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous." } $dbu_query_failed_count = $dbu_query_failed_list.Count if ($dbu_query_failed_count -ne 0) { Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors." } $azuread_not_enabled_count = $azuread_not_enabled_list.Count if ($azuread_not_enabled_count -ne 0) { Write-Warning "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in." } if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count -ne 0) { Write-Output "You will need to resolve those issues before access of all existing users can be reviewed." } $azuread_match_count = $azuread_match_id_list.Count Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID."
기존 Microsoft Entra 사용자에게 필요한 특성이 있는지 확인
자동 사용자 프로비전을 사용하도록 설정하기 전에 Microsoft Entra ID에서 SAP Cloud Identity Services에 액세스해야 하는 사용자를 결정한 다음 해당 사용자가 Microsoft Entra ID에 필요한 특성을 갖고 있는지, 해당 특성이 SAP Cloud Identity Services의 예상 스키마에 매핑되어 있는지 확인해야 합니다.
- 기본적으로 Microsoft Entra 사용자
userPrincipalName
특성의 값은 SAP Cloud Identity Services의userName
및emails[type eq "work"].value
특성 모두에 매핑됩니다. 사용자의 이메일 주소가 사용자 계정 이름과 다른 경우 이 매핑을 변경해야 할 수도 있습니다. - SAP Cloud Identity Services는 회사 ZIP/우편 번호 형식이 회사 국가 또는 지역과 일치하지 않는 경우 특성 값을
postalCode
무시할 수 있습니다. - 기본적으로 Microsoft Entra 특성
country
은 SAP Cloud Identity Servicesaddresses[type eq "work"].country
필드에 매핑됩니다. 특성 값country
이 두 문자 ISO 3166 국가 코드가 아닌 경우 SAP Cloud Identity Services에서 해당 사용자를 만들지 못할 수 있습니다. 자세한 내용은 countries.properties를 참조하세요. - 기본적으로 Microsoft Entra 특성
department
는 SAP Cloud Identity Servicesurn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department
특성에 매핑됩니다. Microsoft Entra 사용자에게department
특성 값이 있는 경우 해당 값은 SAP Cloud Identity Services에 이미 구성된 부서와 일치해야 합니다. 그렇지 않으면 사용자 만들기 또는 업데이트가 실패합니다. 자세한 내용은 departments.properties를 참조하세요.department
Microsoft Entra 사용자의 값이 SAP 환경의 값과 일치하지 않는 경우 사용자를 할당하기 전에 Microsoft Entra에서 부서 값을 업데이트하거나, SAP Cloud Identity Services에서 허용된 부서 값을 업데이트하거나, 매핑을 제거합니다. - SAP Cloud Identity Services의 SCIM 엔드포인트에서는 특정 특성이 특정 형식이어야 합니다. 여기에서 이러한 특성 및 해당 특정 형식에 대해 자세히 알 수 있습니다.
Microsoft Entra ID에서 SAP Cloud Identity Services 애플리케이션에 사용자 할당
Microsoft Entra ID는 할당이라는 개념을 사용하여 선택한 앱에 대한 액세스를 받아야 하는 사용자를 결정 합니다 . 자동 사용자 프로비저닝의 컨텍스트에서 범위 의 설정 값이 사용자와 그룹을 할당하여 동기화로 설정된 경우, Microsoft Entra ID에서 해당 애플리케이션의 역할에 할당된 사용자와 그룹만 SAP Cloud Identity Services와 동기화됩니다. SAP Cloud Identity Services에 사용자를 할당하는 경우 할당 대화 상자에서 유효한 애플리케이션별 역할(사용 가능한 경우)을 선택해야 합니다. 기본 액세스 역할이 있는 사용자는 프로비저닝에서 제외됩니다. 현재 SAP Cloud Identity Services에 사용할 수 있는 역할은 User뿐입니다.
애플리케이션에 대해 프로비저닝이 이미 사용하도록 설정된 경우 애플리케이션에 더 많은 사용자를 할당하기 전에 애플리케이션 프로비저닝이 격리 되어 있지 않은지 확인합니다. 계속하기 전에 격리를 일으키는 문제를 해결합니다.
SAP Cloud Identity Services에 있고 Microsoft Entra ID의 애플리케이션에 아직 할당되지 않은 사용자를 확인합니다.
이전 단계에서는 SAP Cloud Identity Services의 사용자가 Microsoft Entra ID의 사용자로도 존재하는지 여부를 평가했습니다. 그러나 현재 Microsoft Entra ID의 애플리케이션 역할에 모두 할당되어 있지 않을 수 있습니다. 따라서 다음 단계는 애플리케이션 역할에 대한 할당이 없는 사용자를 확인하는 것입니다.
PowerShell을 사용하여 애플리케이션의 서비스 프린시펄에 대한 서비스 프린시펄 ID를 찾습니다.
예를 들어 엔터프라이즈 애플리케이션 이름이
SAP Cloud Identity Services
이면 다음 명령을 입력합니다.$azuread_app_name = "SAP Cloud Identity Services" $azuread_sp_filter = "displayName eq '" + ($azuread_app_name -replace "'","''") + "'" $azuread_sp = Get-MgServicePrincipal -Filter $azuread_sp_filter -All
현재 애플리케이션에 할당된 사용자를 Microsoft Entra ID에서 검색합니다.
이는 이전 명령에서 설정된
$azuread_sp
변수를 기반으로 합니다.$azuread_existing_assignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
이미 SAP Cloud Identity Services 및 Microsoft Entra ID에 있는 사용자의 사용자 ID 목록을 현재 Microsoft Entra ID의 애플리케이션에 할당된 사용자와 비교합니다. 이 스크립트는 이전 섹션에서 설정된
$azuread_match_id_list
변수를 기반으로 빌드되었습니다.$azuread_not_in_role_list = @() foreach ($id in $azuread_match_id_list) { $found = $false foreach ($existing in $azuread_existing_assignments) { if ($existing.principalId -eq $id) { $found = $true; break; } } if ($found -eq $false) { $azuread_not_in_role_list += $id } } $azuread_not_in_role_count = $azuread_not_in_role_list.Count Write-Output "$azuread_not_in_role_count users in the application's data store aren't assigned to the application roles."
모든 사용자가 애플리케이션 역할에 할당되었음을 나타내는 0명의 사용자가 애플리케이션 역할에 할당되지 않은 경우 이는 Microsoft Entra ID 및 SAP Cloud Identity Services 간에 공통된 사용자가 없음을 나타내므로 변경이 필요하지 않습니다. 그러나 SAP Cloud Identity Services에 이미 있는 하나 이상의 사용자가 현재 애플리케이션 역할에 할당되지 않은 경우 절차를 계속 진행하여 애플리케이션의 역할 중 하나에 추가해야 합니다.
애플리케이션 서비스 주체의
User
역할을 선택합니다.$azuread_app_role_name = "User" $azuread_app_role_id = ($azuread_sp.AppRoles | where-object {$_.AllowedMemberTypes -contains "User" -and $_.DisplayName -eq "User"}).Id if ($null -eq $azuread_app_role_id) { write-error "role $azuread_app_role_name not located in application manifest"}
SAP Cloud Identity Services 및 Microsoft Entra에 이미 존재하지만 현재 애플리케이션에 대한 역할 할당이 없는 사용자에 대한 애플리케이션 역할 할당을 만듭니다.
foreach ($u in $azuread_not_in_role_list) { $res = New-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -AppRoleId $azuread_app_role_id -PrincipalId $u -ResourceId $azuread_sp.Id }
변경 사항이 Microsoft Entra ID 내에 전파되도록 1분 정도 기다립니다.
다음 Microsoft Entra 프로비전 주기에서 Microsoft Entra 프로비전 서비스는 애플리케이션에 할당된 사용자의 표현을 SAP Cloud Identity Services의 표현과 비교하고 SAP Cloud Identity Services 사용자가 Microsoft Entra ID의 특성을 갖도록 업데이트합니다.
나머지 사용자 할당 및 초기 동기화 모니터링
테스트가 완료되고, 사용자가 SAP Cloud Identity Services에 성공적으로 프로비전되고, 기존 SAP Cloud Identity Services 사용자가 애플리케이션 역할에 할당되면 다음 지침 중 하나에 따라 권한이 있는 추가 사용자를 SAP Cloud Identity Services 애플리케이션에 할당할 수 있습니다.
- Microsoft Entra 관리 센터의 애플리케이션에 각 개별 사용자를 할당할 수 있습니다.
- 이전 섹션에 표시된 대로 PowerShell cmdlet
New-MgServicePrincipalAppRoleAssignedTo
를 통해 애플리케이션에 개별 사용자를 할당할 수 있습니다. - 조직에 Microsoft Entra ID 거버넌스에 대한 라이선스가 있는 경우 액세스 할당을 자동화하기 위한 권한 관리 정책을 배포할 수도 있습니다.
사용자가 애플리케이션 역할에 할당되고 프로비전 범위에 포함되면 Microsoft Entra 프로비전 서비스가 해당 사용자를 SAP Cloud Identity Services에 프로비전합니다. 초기 동기화는 Microsoft Entra 프로비전 서비스가 실행되는 동안 약 40분마다 발생하는 후속 동기화보다 수행하는 데 시간이 더 오래 걸립니다.
사용자가 프로비전되지 않는 경우 사용자 프로비전 없음 문제 해결 가이드의 단계를 검토합니다. 그런 다음 Microsoft Entra 관리 센터 또는 Graph API를 통해 프로비저닝 로그를 확인합니다. 상태를 실패로 필터링합니다. DuplicateTargetEntries의 ErrorCode에 오류가 있는 경우 이는 프로비전 일치 규칙의 모호성을 나타내며, 각 Microsoft Entra 사용자가 하나의 애플리케이션 사용자와 일치하도록 일치에 사용되는 Microsoft Entra 사용자 또는 매핑을 업데이트해야 합니다. 그런 다음 로그를 작업 만들기 및 건너뛴 상태로 필터링합니다. NotEffectivelyEntitled의 SkipReason 코드로 사용자가 건너뛰어진 경우, 이는 사용자 계정 상태가 비활성화되어 Microsoft Entra ID의 사용자 계정이 일치하지 않았음을 나타낼 수 있습니다.
단일 로그인 구성
SAP Cloud Identity Services Single Sign-On 문서에 제공된 지침에 따라 SAP Cloud Identity Services에 SAML 기반 Single Sign-On을 사용하도록 선택할 수도 있습니다. Single Sign-On은 자동 사용자 프로비저닝과 별개로 구성할 수 있지만, 이러한 두 기능은 서로 보완적입니다.
프로비저닝 모니터링
동기화 세부 정보 섹션을 사용하여 진행 상황을 모니터링하고 SAP Cloud Identity Services의 Microsoft Entra 프로비저닝 서비스에서 수행하는 모든 작업을 설명하는 프로비저닝 작업 보고서에 대한 링크를 따를 수 있습니다. Microsoft Graph API를 통해 프로비저닝 프로젝트를 모니터링할 수도 있습니다.
Microsoft Entra 프로비저닝 로그를 읽는 방법에 대한 자세한 내용은 자동 사용자 계정 프로비저닝에 대한 보고를 참조하세요.
애플리케이션 역할 할당 유지
애플리케이션에 할당된 사용자가 Microsoft Entra ID로 업데이트되면 해당 변경 내용이 SAP Cloud Identity Services에 자동으로 프로비전됩니다.
Microsoft Entra ID Governance가 있는 경우 Microsoft Entra ID에서 SAP Cloud Identity Services에 대한 애플리케이션 역할 할당 변경을 자동화하고, 사용자가 조직에 조인하거나 역할을 그만두거나 변경할 때 할당을 추가 또는 제거할 수 있습니다.
- 애플리케이션 역할 할당에 대한 일회성 또는 되풀이 액세스 검토를 수행할 수 있습니다.
- 이 애플리케이션에 대한 권한 관리 액세스 패키지를 만들 수 있습니다. 사용자가 요청할 때, 관리자에 의해, 규칙에 따라 자동으로 또는 라이프사이클 워크플로를 통해 액세스 권한이 할당될 수 있는 정책을 가질 수 있습니다.
추가 리소스
- Enterprise Apps에 대한 사용자 계정 프로비저닝 관리
- Microsoft Entra ID를 사용하는 애플리케이션 액세스 및 Single Sign-On이란?
- SAP 애플리케이션에 대한 액세스 관리
- 사용자 환경의 애플리케이션에 대한 액세스 제어