자습서: Microsoft Entra 권한 관리 통합을 사용하여 자동화된 ServiceNow 티켓 만들기
시나리오: 이 시나리오에서는 사용자 지정 확장 및 논리 앱을 사용하여 할당을 받고 앱에 액세스해야 하는 사용자의 수동 프로비전을 위해 ServiceNow 티켓을 자동으로 생성하는 방법을 알아봅니다.
이 자습서에서는 다음에 대해 알아봅니다.
- 기존 카탈로그에 논리 앱 워크플로를 추가합니다.
- 기존 액세스 패키지 내의 정책에 사용자 지정 확장을 추가합니다.
- 자격 관리 워크플로를 다시 시작하기 위해 Microsoft Entra ID에 애플리케이션 등록
- Automation 인증을 위해 ServiceNow를 구성합니다.
- 최종 사용자로 액세스 패키지에 대한 액세스를 요청합니다.
- 요청된 액세스 패키지에 대한 액세스 권한을 최종 사용자로 수신합니다.
필수 조건
- 활성 Azure 구독이 있는 Microsoft Entra 사용자 계정입니다. 계정이 없다면 무료로 만들 수 있습니다.
- 다음 역할 중 하나: 전역 관리자, 클라우드 애플리케이션 관리자, 애플리케이션 관리자 또는 서비스 주체의 소유자.
- Rome 이상의 ServiceNow 인스턴스
- ServiceNow와 SSO 통합 아직 구성되지 않은 경우 계속하기 전에 자습서: ServiceNow와 Microsoft Entra SSO(Single Sign-On) 통합을 참조하세요.
참고 항목
이러한 단계를 완료할 때 최소 권한 역할을 사용하는 것이 좋습니다.
권한 관리를 위해 기존 카탈로그에 논리 앱 워크플로 추가
논리 앱 워크플로를 기존 카탈로그에 추가할 수 있습니다. 새 카탈로그를 만드는 방법에 대한 자세한 내용은 다음을 참조 하세요. 권한 관리에서 리소스 카탈로그 만들기 및 관리.
카탈로그를 만든 후 다음 단계를 수행하여 논리 앱 워크플로를 추가합니다.
최소한 ID 관리 관리자로 Microsoft Entra 관리 센터에 로그인합니다.
팁
이 작업을 완료할 수 있는 기타 최소 권한 역할에는 카탈로그 소유자 및 리소스 그룹 소유자가 포함됩니다.
왼쪽 메뉴에서 카탈로그를 선택합니다.
사용자 지정 확장을 추가할 카탈로그를 선택한 다음 왼쪽 메뉴에서 사용자 지정 확장을 선택합니다.
헤더 탐색 모음에서 사용자 지정 확장 추가를 선택합니다.
기본 사항 탭에서 사용자 지정 확장의 이름과 워크플로에 대한 설명을 입력합니다. 이러한 필드는 카탈로그의 사용자 지정 확장 탭에 표시됩니다.
확장 구성에서 시작 및 대기를 선택하면 확장에 연결된 논리 앱이 작업을 완료하고 관리자가 프로세스를 계속하기 위해 다시 시작 작업을 보낼 때까지 연결된 액세스 패키지 작업을 일시 중지합니다. 이 프로세스에 대한 자세한 내용은 권한 관리 프로세스를 일시 중지하는 사용자 지정 확장 구성을 참조하세요.
세부 정보 탭의 "새 논리 앱 만들기" 필드에서 예를 선택합니다. 논리 앱의 이름을 구독 및 리소스 그룹과 함께 추가하여 배치합니다.
검토 및 만들기에서 사용자 지정 확장의 요약을 검토하고 논리 앱 및 호출에 대한 세부 정보가 올바른지 확인합니다. 이러한 세부 정보를 검토한 후 만들기를 선택합니다.
만든 논리 앱은 사용자 지정 확장 페이지의 사용자 지정 확장 옆에 있는 논리 앱에서 액세스할 수 있습니다. 이는 액세스 패키지 정책에서 호출할 수 있습니다.
팁
권한 관리 프로세스를 일시 중지하는 사용자 지정 확장 기능에 대한 자세한 내용은 권한 관리 프로세스를 일시 중지하는 사용자 지정 확장 구성을 참조하세요.
기존 액세스 패키지의 정책에 사용자 지정 확장 추가
카탈로그에서 사용자 지정 확장성을 설정한 후 관리자는 요청이 승인되면 사용자 지정 확장을 트리거하는 정책이 포함된 액세스 패키지를 만들 수 있습니다. 이를 통해 특정 액세스 요구 사항을 정의하고 조직의 요구 사항에 맞게 액세스 검토 프로세스를 조정할 수 있습니다.
ID 거버넌스 포털에서 최소한 ID 거버넌스 관리자로 액세스 패키지를 선택합니다.
팁
이 작업을 완료할 수 있는 기타 최소 권한 역할에는 카탈로그 소유자 및 액세스 패키지 관리자가 포함됩니다.
이미 만들어진 액세스 패키지 목록에서 사용자 지정 확장(Logic App)을 추가하려는 액세스 패키지를 선택합니다.
정책 탭으로 변경하고, 정책을 선택하고, 편집을 선택합니다.
정책 설정에서 사용자 지정 확장 탭으로 이동합니다.
스테이지 아래의 메뉴에서 이 사용자 지정 확장(Logic App)에 대한 트리거로 사용할 액세스 패키지 이벤트를 선택합니다. 이 시나리오에서 액세스 패키지가 승인되었을 때 사용자 지정 확장 논리 앱 워크플로를 트리거하려면 요청이 승인됨을 선택합니다.
참고 항목
이전에 부여된 권한이 있는 만료된 할당에 대한 ServiceNow 티켓을 만들려면 "할당이 제거됨"에 대한 새 단계를 추가한 다음 LogicApp을 선택합니다.
사용자 지정 확장 아래의 메뉴에서 액세스 패키지에 추가하려는 사용자 지정 확장(Logic App)을 선택합니다. '경우' 필드에서 선택한 이벤트가 발생하면 선택한 작업이 실행됩니다.
참고 항목
새 액세스 패키지를 만들려면 새 액세스 패키지를 선택합니다. 액세스 패키지를 만드는 방법에 대한 자세한 내용은 권한 관리에서 새 액세스 패키지 만들기를 참조하세요. 기존 액세스 패키지를 편집하는 방법에 관한 자세한 내용은 Microsoft Entra 권한 관리에서 액세스 패키지에 대한 요청 설정 변경을 참조하세요.
Microsoft Entra 관리 센터에 비밀이 포함된 애플리케이션 등록
팁
이 문서의 단계는 시작하는 포털에 따라 약간 다를 수도 있습니다.
Azure를 사용하면 Azure Key Vault를 사용하여 암호와 같은 애플리케이션 비밀을 저장할 수 있습니다. Microsoft Entra 관리 센터 내에서 비밀이 포함된 애플리케이션을 등록하려면 다음 단계를 수행합니다.
최소한 ID 관리 관리자로 Microsoft Entra 관리 센터에 로그인합니다.
ID>애플리케이션>앱 등록으로 이동합니다.
관리 아래에서 앱 등록 > 새 등록을 선택합니다.
애플리케이션의 표시 이름을 입력합니다.
지원되는 계정 유형에서 "이 조직 디렉터리의 계정만"을 선택합니다.
등록을 선택합니다.
애플리케이션을 등록한 후 다음 단계에 따라 클라이언트 암호를 추가해야 합니다.
ID>애플리케이션>앱 등록으로 이동합니다.
애플리케이션을 선택합니다.
인증서 & 비밀 > 클라이언트 비밀 > 새 클라이언트 비밀을 선택합니다.
클라이언트 비밀에 대한 설명을 추가합니다.
암호에 대해 만료를 선택하거나 사용자 지정 수명을 지정합니다.
추가를 선택합니다.
참고 항목
애플리케이션 등록에 대한 자세한 내용은 빠른 시작: Microsoft ID 플랫폼을 사용하여 앱 등록을 참조하세요.
MS Graph 다시 시작 API를 호출하도록 만든 애플리케이션에 권한을 부여하려면 다음 단계를 수행합니다.
Microsoft Entra 관리 센터 ID 거버넌스 - Microsoft Entra 관리 센터로 이동합니다.
왼쪽 메뉴에서 카탈로그를 선택합니다.
사용자 지정 확장을 추가한 카탈로그를 선택합니다.
"역할 및 관리자" 메뉴를 선택하고 "+ 액세스 패키지 할당 관리자 추가"를 선택합니다.
멤버 선택 대화 상자에서 이름 또는 애플리케이션 식별자를 사용하여 만든 애플리케이션을 검색합니다. 애플리케이션을 선택하고 "선택" 단추를 선택합니다.
팁
위임 및 역할에 대한 자세한 내용은 권한 관리의 위임 및 역할에 있는 Microsoft의 공식 설명서에서 확인할 수 있습니다.
Automation 인증을 위해 ServiceNow 구성
이 시점에서 ServiceNow 티켓이 종료된 후 권한 관리 워크플로를 다시 시작하도록 ServiceNow를 구성해야 합니다.
- 다음 단계에 따라 ServiceNow 애플리케이션 레지스트리에 Microsoft Entra 애플리케이션을 등록합니다.
- 다음 단계에 따라 시스템 웹 서비스 REST API 메시지를 만듭니다.
- 시스템 웹 서비스 아래의 REST API 메시지 섹션으로 이동합니다.
- "새로 만들기" 단추를 선택하여 새 REST API 메시지를 만듭니다.
- 엔드포인트 URL 제공을 포함하는 모든 필수 필드를 입력합니다.
https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/accessPackageAssignmentRequests/${AccessPackageAssignmentRequestId}/resume
- 인증의 경우 OAuth2.0을 선택하고 앱 등록 프로세스 중에 만든 OAuth 프로필을 선택합니다.
- "제출" 단추를 선택하여 변경 내용을 저장합니다.
- 시스템 웹 서비스 아래의 REST API 메시지 섹션으로 다시 이동합니다.
- Http 요청을 선택한 다음, "새로 만들기"를 선택합니다. 이름을 입력하고 Http 메서드로 "POST"를 선택합니다.
- Http 요청에서 다음 API 스키마를 사용하여 Http 쿼리 매개 변수에 대한 콘텐츠를 추가합니다.
{ "data": { "@odata.type": "#microsoft.graph.accessPackageAssignmentRequestCallbackData", "customExtensionStageInstanceDetail": "Resuming-Assignment for user", "customExtensionStageInstanceId": "${StageInstanceId}", "stage": "${Stage}" }, "source": "ServiceNow", "type": "microsoft.graph.accessPackageCustomExtensionStage.${Stage}" }
- "제출"을 클릭하여 변경 내용을 저장합니다.
- 요청 테이블 스키마 수정: 요청 테이블 스키마를 수정하려면 다음 이미지에 표시된 세 개의 테이블을 변경합니다. 세 개의 열 레이블을 추가하고 문자열로 입력합니다.
- AccessPackageAssignmentRequestId
- AccessPackageAssignmentStage
- StageInstanceId
- 흐름 디자이너를 사용하여 워크플로를 자동화하려면 다음을 수행합니다.
- ServiceNow에 로그인하고 흐름 디자이너로 이동합니다.
- "새로 만들기" 단추를 선택하고 새 작업을 만듭니다.
- 이전 단계에서 만든 시스템 웹 서비스 REST API 메시지를 호출하는 작업을 추가합니다.
작업 스크립트:(이전 단계에서 만든 열 레이블로 스크립트 업데이트):
(function execute(inputs, outputs) { gs.info("AccessPackageAssignmentRequestId: " + inputs['accesspkgassignmentrequestid']); gs.info("StageInstanceId: " + inputs['customextensionstageinstanceid'] ); gs.info("Stage: " + inputs['assignmentstage']); var r = new sn_ws.RESTMessageV2('Resume ELM WorkFlow', 'RESUME'); r.setStringParameterNoEscape('AccessPackageAssignmentRequestId', inputs['accesspkgassignmentrequestid']); r.setStringParameterNoEscape('StageInstanceId', inputs['customextensionstageinstanceid'] ); r.setStringParameterNoEscape('Stage', inputs['assignmentstage']); var response = r.execute(); var responseBody = response.getBody(); var httpStatus = response.getStatusCode(); var requestBody = r.getRequestBody(); gs.info("requestBody: " + requestBody); gs.info("responseBody: " + responseBody); gs.info("httpStatus: " + httpStatus); })(inputs, outputs);
- 작업을 저장합니다.
- "새로 만들기" 단추를 선택하여 새 흐름을 만듭니다.
- 흐름 이름을 입력하고 다음 계정으로 실행 - 시스템 사용자를 선택하고 제출을 선택합니다.
- ServiceNow 내에서 트리거를 만들려면 다음 단계를 수행합니다.
최종 사용자로 액세스 패키지에 대한 액세스 요청
최종 사용자가 액세스 패키지에 대한 액세스를 요청하면 요청이 적절한 승인자에게 전송됩니다. 승인자가 권한을 부여하면 권한 관리는 논리 앱을 호출합니다. 그런 다음 논리 앱은 ServiceNow를 호출하여 새 요청/티켓을 만들고 권한 관리는 ServiceNow에서 콜백을 대기합니다.
요청된 액세스 패키지에 대한 액세스 권한을 최종 사용자로 수신
IT 지원 팀은 필요한 프로비저닝을 수행하고 ServiceNow 티켓을 닫기 위해 만든 이전 티켓에 대해 작업합니다. 티켓이 닫힌 경우 ServiceNow는 권한 관리 워크플로를 다시 시작하는 호출을 트리거합니다. 요청이 완료되면 요청자는 권한 관리로부터 요청이 처리되었다는 알림을 받습니다. 이 간소화된 워크플로를 통해 액세스 요청이 효율적으로 처리되고 사용자는 즉시 알림을 받습니다.
참고 항목
티켓이 14일 이내에 닫혀 있지 않으면 최종 사용자에게 MyAccess 포털에 "할당 실패"가 표시됩니다.
다음 단계
다음 문서로 이동하여 만드는 방법을 알아봅니다.