SCIM2ClientUtil - 범위 지정됨
SCIM2ClientUtil API는 외부 공급자 시스템의 고유 식별자를 가져온 다음 SCIM2Client API를 호출할 때 해당 정보를 사용하는 유틸리티 메서드를 제공합니다.
이 API는 sn_auth 네임스페이스에서 실행되며, API에 액세스하려면 SCIM v2 - ServiceNow Cross-domain Identity Management Client(com.snc.integration.scim2.client) 플러그인을 설치해야 합니다.
SCIM에 대한 자세한 내용은 SCIM(System for Cross-domain Identity Management)을 참조하십시오.
SCIM2ClientUtil - getProviderIdByFilter(문자열 제공자, 문자열 resourceName, 문자열 필터)
원하는 자원을 설명하는 필터 표현식을 사용하여 인스턴스의 고유 자원 ID ServiceNow 에 대해 지정된 외부 제공자 시스템에서 지정된 자원의 고유 식별자를 반환합니다.
이 API는 외부 제공자 시스템의 자원 식별자가 필요한 SCIM 필드에 필드를 매핑 ServiceNow 할 때 유용합니다. 이 메서드를 호출하기 전에 SCIM 제공자 리소스 매핑 [sys_scim_provider_resource_mapping ] 테이블에 있는 시스템 속성 맵의 자원에 대해 고유한 필드를 정의해야 합니다.
제공자 리소스 매핑에 대한 자세한 내용은 다음 문서를 참조하십시오 Create a SCIM Provider Resource Mapping.
| 이름 | 유형 | 설명 |
|---|---|---|
| 제공자 | 문자열 | 구성된 SCIM 서비스 제공자의 이름입니다. 테이블: SCIM 제공자 [sys_scim_provider] 테이블의 이름 필드에 있습니다. |
| resourceName | 문자열 | 자원 유형의 이름(예: 사용자 또는 그룹)입니다. 테이블: SCIM 제공자 리소스 매핑 [sys_scim_provider_resource_mapping] 테이블의 resource_name 필드 |
| 필터 | 문자열 | 반환 결과에 적용할 필터 표현식입니다. 사용 가능한 필터 매개변수 및 관련 형식에 대한 자세한 내용은 Internet Engineering Task Force 문서의 다음 섹션을 참조하십시오. 도메인 간 ID 관리를 위한 시스템: 프로토콜 https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2 |
| 유형 | 설명 |
|---|---|
| 문자열 | 외부 서비스 제공자가 사용하는 고유 자원 식별자입니다. 정보를 가져오는 동안 문제가 발생하면 예외를 발생시킵니다. |
다음 예제에서는 'username eq "abel.tuter"' 필터를 사용하여 사용자의 리소스 식별자를 가져오는 방법을 보여 줍니다.
var response = sn_auth.SCIM2ClientUtil.getProviderIdByFilter('SNOW Provider','User','username eq "abel.tuter"');
gs.info('response: ' + response);
출력:
"005d500b536073005e0addeeff7b12f4"
다음 예제에서는 'userName eq "' + manager + '"' 필터를 사용하여 스크립트를 사용하여 관리자의 리소스 식별자를 가져오는 방법을 보여 줍니다.
(function getValue(resourceGR) {
try {
var manager = resourceGR.manager.user_name;
return sn_auth.SCIM2ClientUtil.getProviderIdByFilter('SCIM Provider Demo', 'User', 'userName eq "' + manager + '"');
} catch (e) {
gs.error('Unable to get attribute value using script' + e);
// Handle failure scenario here
}
})(resourceGR);
출력:
"125d500b535973005e0addeeff8c12a2"
SCIM2ClientUtil - getProviderIdByResourceId(문자열 공급자, 문자열 resourceName, 문자열 resourceId)
인스턴스의 고유 자원 ID에 대해 지정된 외부 제공자 시스템에서 지정된 자원의 고유 식별자를 ServiceNow 반환합니다.
이 API는 외부 제공자 시스템의 자원 식별자가 필요한 SCIM 필드에 필드를 매핑 ServiceNow 할 때 유용합니다. 이 메서드를 호출하기 전에 SCIM 제공자 리소스 매핑 [sys_scim_provider_resource_mapping] 테이블에 있는 시스템 속성 맵의 자원에 대해 고유한 필드를 정의해야 합니다.
제공자 리소스 매핑에 대한 자세한 내용은 다음 문서를 참조하십시오 Create a SCIM Provider Resource Mapping.
| 이름 | 유형 | 설명 |
|---|---|---|
| 제공자 | 문자열 | 구성된 SCIM 서비스 제공자의 이름입니다. 테이블: SCIM 제공자 [sys_scim_provider] 테이블의 이름 필드에 있습니다. |
| resourceName | 문자열 | 자원 유형의 이름(예: 사용자 또는 그룹)입니다. 테이블: SCIM 제공자 리소스 매핑 [sys_scim_provider_resource_mapping] 테이블의 resource_name 필드 |
| resourceId | 문자열 | 인스턴스(클라이언트)에 ServiceNow 저장된 자원의 Sys_id입니다. 테이블: SCIM 제공자 리소스 매핑 [sys_scim_provider_resource_mapping] 테이블의 primary_table 필드 |
| 유형 | 설명 |
|---|---|
| 문자열 | 외부 서비스 제공자가 사용하는 고유 자원 식별자입니다. 정보를 가져오는 동안 문제가 발생하면 예외를 발생시킵니다. |
다음 예제에서는 sys_id f282abf03710200044e0bfc8bcbe5d12를 사용하여 사용자의 리소스 식별자를 가져오는 방법을 보여 줍니다.
var response = sn_auth.SCIM2ClientUtil.getProviderIdByResourceId('SNOW Provider','User','f282abf03710200044e0bfc8bcbe5d12');
gs.info('response: ' + response);
출력:
"005d500b536073005e0addeeff7b12f4"