Microsoft Entra ID Governance 사용자 지정 경고
Microsoft Entra ID Governance를 사용하면 조치를 취해야 할 때(예: 리소스에 대한 액세스 요청 승인) 또는 비즈니스 프로세스가 제대로 작동하지 않는 경우(예: 신입 사원이 프로비저닝되지 않음) 조직의 사용자에게 쉽게 경고할 수 있습니다.
다음 표에서는 Microsoft Entra ID 거버넌스에서 제공하는 몇 가지 표준 알림을 간략하게 설명합니다. 여기에는 조직의 대상 페르소나, 경고 방법 및 경고 시기가 포함됩니다.
기존 표준 알림의 샘플
가상 사용자 | 경고 메서드 | 적시성 | 경고 예 |
---|---|---|---|
최종 사용자 | Teams | 분 단위 | 이 액세스 요청을 승인하거나 거부해야 합니다. 요청한 액세스가 승인되었습니다. 새 앱을 사용하세요. 자세히 알아보기 |
최종 사용자 | Teams | 일 단위 | 요청한 액세스 권한은 다음 주에 만료되므로, 갱신해 주시기 바랍니다.자세한 정보 |
최종 사용자 | 이메일 | 일 단위 | Woodgrove에 오신 것을 환영합니다. 여기 임시 액세스 패스가 있습니다. 자세히 알아보기. |
지원 센터 | ServiceNow | 분 단위 | 사용자는 레거시 애플리케이션에 수동으로 프로비저닝되어야 합니다. 자세히 알아보기 |
IT 운영 | 이메일 | 시간 단위 | 새로 고용된 직원은 Workday에서 가져오지 않습니다. 자세히 알아보기 |
사용자 지정 경고 알림
조직은 Microsoft Entra ID Governance에서 제공하는 표준 알림 외에도 요구 사항에 맞게 사용자 지정 경고를 만들 수 있습니다.
Microsoft Entra ID Governance 서비스에서 수행하는 모든 활동은 Microsoft Entra 감사 로그에 기록됩니다. 로그를 Azure Monitor
다음 섹션에서는 Microsoft Entra ID Governance를 Azure Monitor와 통합하여 고객이 만들 수 있는 사용자 지정 경고의 예를 제공합니다. 조직은 Azure Monitor를 사용하여 생성되는 경고, 경고를 수신하는 사람 및 경고를 받는 방법(이메일, SMS, 지원 센터 티켓 등)을 사용자 지정할 수 있습니다.
기능 | 경고 예 |
---|---|
액세스 검토 | 액세스 검토가 삭제되면 IT 관리자에게 경고합니다. |
자격 관리 | 액세스 패키지를 사용하지 않고 사용자가 그룹에 바로 추가되면 IT 관리자에게 경고합니다. |
자격 관리 | 새 연결된 조직이 추가되면 IT 관리자에게 경고합니다. |
자격 관리 | 사용자 지정 확장이 실패하면 IT 관리자에게 경고합니다. |
자격 관리 | 승인 없이 권한 관리 액세스 패키지 할당 정책을 만들거나 업데이트할 때 IT 관리자에게 경고합니다. |
수명 주기 워크플로 | 특정 워크플로가 실패하면 IT 관리자에게 경고합니다. |
다중 테넌트 공동 작업 | 테넌트 간 동기화를 사용하는 경우 IT 관리자에게 경고합니다. |
다중 테넌트 공동 작업 | 테넌트 간 액세스 정책을 사용하도록 설정하면 IT 관리자에게 경고합니다. |
Privileged Identity Management | PIM 경고를 사용하지 않도록 설정하면 IT 관리자에게 경고합니다. |
Privileged Identity Management | PIM 외부에서 역할이 부여되면 IT 관리자에게 경고합니다. |
프로비전 | 지난 날 프로비저닝 실패가 급증하면 IT 관리자에게 경고합니다. |
프로비전 | 누군가가 프로비전 구성을 시작, 중지, 비활성화, 다시 시작 또는 삭제할 때 IT 관리자에게 경고합니다. |
프로비전 | 프로비전 작업이 격리로 전환되면 IT 관리자에게 경고합니다. |
액세스 검토
액세스 검토가 삭제되면 IT 관리자에게 경고합니다.
쿼리
AuditLogs
| where ActivityDisplayName == "Delete access review"
자격 관리
사용자가 액세스 패키지를 사용하지 않고 그룹에 직접 추가되면 IT 관리자에게 경고합니다.
쿼리
AuditLogs
| where parse_json(tostring(TargetResources[1].id)) in ("InputGroupID", "InputGroupID")
| where ActivityDisplayName == "Add member to group"
| extend ActorName = tostring(InitiatedBy.app.displayName)
| where ActorName != "Azure AD Identity Governance - User Management"
새로 연결된 조직을 만들 때 IT 관리자에게 경고합니다. 이제 이 조직의 사용자는 연결된 모든 조직에서 사용할 수 있는 리소스에 대한 액세스를 요청할 수 있습니다.
쿼리
AuditLogs
| where ActivityDisplayName == "Create connected organization"
| mv-expand AdditionalDetails
| extend key = AdditionalDetails.key, value = AdditionalDetails.value
| extend tostring(key) == "Description"
| where key == "Description"
| parse value with * "\n" TenantID
| distinct TenantID
권한 관리 사용자 지정 확장이 실패하면 IT 관리자에게 경고합니다.
쿼리
AuditLogs
| where ActivityDisplayName == "Execute custom extension"
| where Result == "success"
| mvexpand TargetResources
| extend CustomExtensionName=TargetResources.displayName
| where CustomExtensionName in ('<input custom exteionsion name>', '<input custom extension name>')
승인 없이 권한 관리 액세스 패키지 할당 정책을 만들거나 업데이트할 때 IT 관리자에게 경고합니다.
쿼리
AuditLogs
| where ActivityDisplayName in ("Create access package assignment policy", "Update access package assignment policy")
| extend AdditionalDetailsParsed = parse_json(AdditionalDetails)
| mv-expand AdditionalDetailsParsed
| extend Key = tostring(AdditionalDetailsParsed.key), Value = tostring(AdditionalDetailsParsed.value)
| summarize make_set(Key), make_set(Value) by ActivityDisplayName, CorrelationId
| where set_has_element(set_Key, "IsApprovalRequiredForAdd") and set_has_element(set_Value, "False")
| where set_has_element(set_Key, "SpecificAllowedTargets") and not(set_has_element(set_Value, "None"))
수명 주기 워크플로
특정 수명 주기 워크플로가 실패하면 IT 관리자에게 경고합니다.
쿼리
AuditLogs
| where Category == "WorkflowManagement"
| where ActivityDisplayName in ('On-demand workflow execution completed', 'Scheduled workflow execution completed')
| where Result != "success"
| mvexpand TargetResources
| extend WorkflowName=TargetResources.displayName
| where WorkflowName in ('input workflow name', 'input workflow name')
| extend WorkflowType = AdditionalDetails[0].value
| extend DisplayName = AdditionalDetails[1].value
| extend ObjectId = AdditionalDetails[2].value
| extend UserCount = AdditionalDetails[3].value
| extend Users = AdditionalDetails[4].value
| extend RequestId = AdditionalDetails[5].value
| extend InitiatedBy = InitiatedBy.app.displayName
| extend Result = Result
| project WorkflowType, DisplayName, ObjectId, UserCount, Users, RequestId, Id, Result,ActivityDisplayName
경고 논리
- 기준: 결과 수
- 연산자: 다음과 같음
- 임계치: 0
다중 테넌트 공동 작업
새 테넌트 간 액세스 정책이 생성되면 IT 관리자에게 경고합니다. 이렇게 하면 조직에서 새 조직과의 관계가 형성된 시기를 감지할 수 있습니다.
쿼리
AuditLogs
| where OperationName == "Add a partner to cross-tenant access setting"
| where parse_json(tostring(TargetResources[0].modifiedProperties))[0].displayName == "tenantId"
| extend initiating_user=parse_json(tostring(InitiatedBy.user)).userPrincipalName
| extend source_ip=parse_json(tostring(InitiatedBy.user)).ipAddress
| extend target_tenant=parse_json(tostring(TargetResources[0].modifiedProperties))[0].newValue
| project TimeGenerated, OperationName,initiating_user,source_ip, AADTenantId,target_tenant
| project-rename source_tenant= AADTenantId
관리자는 인바운드 테넌트 간 동기화 정책이 true로 설정되어 있으면 경고를 받을 수 있습니다. 이렇게 하면 조직에서 ID를 테넌트에 동기화할 수 있는 권한이 있는 경우를 감지할 수 있습니다.
쿼리
AuditLogs
| where OperationName == "Update a partner cross-tenant identity sync setting"
| extend a = tostring(TargetResources)
| where a contains "true"
| where parse_json(tostring(TargetResources[0].modifiedProperties))[0].newValue contains "true"
경고 논리
Privileged Identity Management
특정 PIM 보안 경고가 비활성화되면 IT 관리자에게 경고합니다.
쿼리
AuditLogs
| where ActivityDisplayName == "Disable PIM alert"
사용자가 PIM 외부에서 역할이 추가되면 IT 관리자에게 경고합니다.
다음 쿼리는 templateId를 기반으로 합니다. 템플릿 ID 목록은 여기에서 확인할 수 있습니다.
쿼리
AuditLogs
| where ActivityDisplayName == "Add member to role"
| where parse_json(tostring(TargetResources[0].modifiedProperties))[2].newValue in ("\"INPUT GUID\"")
프로비전
지난 날 프로비저닝 오류가 급증하면 IT 관리자에게 경고합니다. 로그 분석에서 경고를 구성할 때 집계 세분성을 1일로 설정합니다.
쿼리
AADProvisioningLogs
| where JobId == "<input JobId>"
| where resultType == "Failure"
경고 논리
- 기준: 결과 수
- 연산자: 보다 큼
- 임계값: 10
누군가가 프로비전 구성을 시작, 중지, 비활성화, 다시 시작 또는 삭제할 때 IT 관리자에게 경고합니다.
쿼리
AuditLogs
| where ActivityDisplayName in ('Add provisioning configuration','Delete provisioning configuration','Disable/pause provisioning configuration', 'Enable/restart provisioning configuration', 'Enable/start provisioning configuration')
프로비전 작업이 격리로 전환되면 IT 관리자에게 경고합니다.
쿼리
AuditLogs
| where ActivityDisplayName == "Quarantine"
다음 단계
- Azure Monitor 로그 분석 사용하여 Microsoft Entra 활동 로그 분석
- Azure Monitor 로그에서 쿼리 시작
- Azure Portal에서 경고 그룹 만들기 및 관리
- Microsoft Entra ID에 대한 로그 분석 보기 설치 및 사용
- 아카이브 로그 및 Azure Monitor의 권한 관리 보고