Microsoft Entra ID 조직 컨텍스트 데이터 (이전 명칭: Azure Active Directory) 로그 수집

파서 버전: 12.0

다음에서 지원:

이 문서에서는 서드 파티 API를 사용하여 Google Security Operations 피드를 설정하여 Microsoft Entra ID (이전의 Azure Active Directory) 조직 컨텍스트 데이터를 수집하는 방법을 설명합니다.

Microsoft Entra ID 조직 컨텍스트는 Microsoft Entra ID 테넌트의 사용자, 그룹, 기기와 같은 디렉터리 정보를 제공합니다. 이는 이벤트 또는 로그 데이터가 아니며, Google SecOps의 다른 로그 유형에 ID 컨텍스트를 보강하는 디렉터리 상태의 정기적인 스냅샷입니다.

시작하기 전에

다음 기본 요건이 충족되었는지 확인합니다.

  • Google SecOps 인스턴스
  • Microsoft Azure 포털에 대한 권한 있는 액세스
  • 관리자 동의를 부여하기 위한 다음 역할 중 하나:
    • 전체 관리자 - 모든 API의 모든 권한에 동의할 수 있습니다.
    • 독점 역할 관리자 - 모든 API의 모든 권한에 동의를 부여할 수 있습니다.

IP 허용 목록 구성

피드를 만들기 전에 Microsoft Azure 네트워크 설정 또는 조건부 액세스 정책에 Google SecOps IP 범위를 추가해야 합니다. 데이터 소스에서 IP 기반 제한을 적용하는 경우에 중요합니다. 피드에서 403 오류가 반환되면 허용 목록이 사용 설정되어 있는지 확인합니다. 더 좁은 범위로 액세스를 제한하려면 지원 티켓을 여세요.

자세한 내용은 IP 허용 목록을 참고하세요.

Google SecOps IP 범위 가져오기

  1. SIEM 설정 > 피드로 이동합니다.
  2. 새 피드 추가를 클릭합니다.
  3. 피드 생성 인터페이스에 표시된 IP 범위를 확인합니다.
  4. 또는 피드 관리 API를 사용하여 프로그래매틱 방식으로 IP 범위를 가져옵니다.

워크로드 아이덴티티에 대한 조건부 액세스 구성 (필요한 경우)

조직에서 위치별 액세스를 제한하는 조건부 액세스 정책을 사용하는 경우 다음 단계를 따르세요.

  1. Microsoft Entra 관리 센터에서 보호> 조건부 액세스> 명명된 위치로 이동합니다.
  2. + 새 위치를 클릭합니다.
  3. 다음 구성 세부정보를 제공합니다.
    • 이름: Google SecOps IP Ranges를 입력합니다.
    • 신뢰할 수 있는 위치로 표시: 선택사항이며 보안 정책에 따라 다릅니다.
    • IP 범위: CIDR 표기법으로 각 Google SecOps IP 범위를 추가합니다.
  4. 만들기를 클릭합니다.
  5. 조건부 액세스 > 정책으로 이동합니다.
  6. 워크로드 아이덴티티에 적용되는 정책의 경우 Google SecOps IP Ranges라는 위치 또는 특정 서비스 주체에 대한 제외를 구성합니다.

Microsoft Entra 앱 등록 구성

앱 등록 만들기

  1. Microsoft Entra 관리 센터 또는 Azure 포털에 로그인합니다.
  2. ID > 애플리케이션 > 앱 등록으로 이동합니다.
  3. 신규 등록을 클릭합니다.
  4. 다음 구성 세부정보를 제공합니다.
    • 이름: 설명이 포함된 이름을 입력합니다 (예: Google SecOps Entra ID Context Integration).
    • 지원되는 계정 유형: 이 조직 디렉터리의 계정만 (단일 테넌트)을 선택합니다.
    • 리디렉션 URI: 비워 둡니다 (서비스 주 구성원 인증에는 필요하지 않음).
  5. 등록을 클릭합니다.
  6. 등록 후 다음 값을 복사하여 저장합니다.
    • 애플리케이션 (클라이언트) ID
    • 디렉터리 (테넌트) ID

API 권한 구성

피드는 Microsoft Graph List users 엔드포인트를 통해 사용자 디렉터리를 읽고 각 사용자의 관리자가 확장됩니다. 사용 설정한 피드 옵션과 일치하는 애플리케이션 권한을 부여합니다.

  1. 앱 등록에서 API 권한으로 이동합니다.
  2. 권한 추가를 클릭합니다.
  3. Microsoft Graph> 애플리케이션 권한을 선택합니다.
  4. 다음 권한을 검색하여 선택합니다.
    • User.Read.All - 필수 피드에서 가져오는 사용자 프로필과 관리자 관계를 읽습니다.
    • Group.Read.All - 피드에서 Retrieve groups를 True로 설정한 경우에만 각 사용자의 멤버십에 대해 반환된 그룹을 읽습니다.
    • Device.Read.All - 피드에서 기기 가져오기를 True로 설정한 경우에만 각 사용자와 연결된 기기를 읽습니다.
  5. 권한 추가를 클릭합니다.
  6. 조직에 대한 관리자 동의 부여를 클릭합니다.
  7. 상태 열에 모든 권한에 대해 조직에 부여됨이 표시되는지 확인합니다.

    권한 유형 필요한 경우
    User.Read.All 애플리케이션 항상
    Group.Read.All 애플리케이션 그룹 가져오기가 True입니다.
    Device.Read.All 애플리케이션 기기 가져오기가 True인 경우

클라이언트 보안 비밀번호 만들기

  1. 앱 등록에서 인증서 및 보안 비밀로 이동합니다.
  2. '새 클라이언트 보안 비밀번호'를 클릭합니다.
  3. 다음 구성 세부정보를 제공합니다.

    • 설명: 설명이 포함된 이름을 입력합니다 (예: Google SecOps Feed).
    • 만료: 만료 기간을 선택합니다.
  4. 추가를 클릭합니다.

  5. 클라이언트 보안 비밀번호 값을 즉시 복사합니다.

Microsoft Entra ID 조직 컨텍스트 데이터를 수집하도록 Google SecOps에서 피드 구성

피드를 구성하려면 다음 단계를 따르세요.

  1. SIEM 설정 > 피드로 이동합니다.
  2. 새 피드 추가를 클릭합니다.
  3. 다음 페이지에서 단일 피드 구성을 클릭합니다.
  4. 피드 이름 필드에 피드 이름을 입력합니다(예: Azure AD Organizational Context).
  5. 소스 유형으로 서드 파티 API를 선택합니다.
  6. 로그 유형으로 Azure AD Organizational Context를 선택합니다.
  7. 다음을 클릭합니다.
  8. 다음과 같이 입력 매개변수의 값을 지정합니다.

    • OAuth 클라이언트 ID: 앱 등록에서 애플리케이션 (클라이언트) ID를 입력합니다.
    • OAuth 클라이언트 보안 비밀번호: 이전에 복사한 클라이언트 보안 비밀번호 값을 입력합니다.
    • 테넌트 ID: 앱 등록의 디렉터리 (테넌트) ID를 UUID 형식으로 입력합니다 (예: 0fc279f9-fe30-41be-97d3-abe1d7681418).
    • 기기 가져오기: 사용자 컨텍스트 내에서 기기 정보를 가져올지 선택합니다. 기기 데이터를 포함하려면 True로 설정합니다.
    • 그룹 가져오기: 사용자 컨텍스트 내에서 그룹 멤버십 정보를 가져올지 선택합니다. 그룹 데이터를 포함하려면 True로 설정합니다.
    • API 전체 경로: Microsoft Graph REST API 엔드포인트 URL입니다.

      graph.microsoft.com/beta
      
    • API 인증 엔드포인트: Microsoft Entra ID 인증 엔드포인트:

      login.microsoftonline.com
      

    고급 옵션:

    • 애셋 네임스페이스: 애셋 네임스페이스입니다.
    • 수집 라벨: 이 피드의 이벤트에 적용할 라벨입니다.
  9. 다음을 클릭합니다.

  10. 확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.

리전 엔드포인트

소버린 클라우드에서 Microsoft Entra ID를 배포하는 경우 적절한 리전 엔드포인트를 사용하세요.

클라우드 환경 API 전체 경로 API 인증 엔드포인트
글로벌 graph.microsoft.com/beta login.microsoftonline.com
미국 정부 L4 graph.microsoft.us/beta login.microsoftonline.us
미국 정부 L5 (DOD) dod-graph.microsoft.us/beta login.microsoftonline.us
중국 (21Vianet) microsoftgraph.chinacloudapi.cn/beta login.chinacloudapi.cn

UDM 매핑 테이블

로그 필드 UDM 매핑 로직
extension_wfc_AccountType entity.labels.value 직접 매핑됨
extension_wfc_AccountingUnitName entity.labels.value 직접 매핑됨
extension_wfc_execDescription entity.labels.value 직접 매핑됨
extension_wfc_groupDescription entity.labels.value 직접 매핑됨
extension_wfc_orgDescription entity.labels.value 직접 매핑됨
createdDateTime entity.user.attribute.creation_time RFC3339로 파싱됨
sign_in_type entity.user.attribute.labels.key 직접 매핑됨
assignedLicense.skuId entity.user.attribute.labels.value 직접 매핑됨
employeeType entity.user.attribute.labels.value 직접 매핑됨
empmanager-src.usageLocation entity.user.attribute.labels.value 직접 매핑됨
externalUserState entity.user.attribute.labels.value 직접 매핑됨
gopher-manager.onPremisesImmutableId entity.user.attribute.labels.value 직접 매핑됨
mailNickname entity.user.attribute.labels.value 직접 매핑됨
onPremisesDistinguishedName entity.user.attribute.labels.value 직접 매핑됨
onPremisesDomainName entity.user.attribute.labels.value 직접 매핑됨
onPremisesExtensionAttributes.extensionAttribute4 entity.user.attribute.labels.value 직접 매핑됨
onPremisesImmutableId entity.user.attribute.labels.value 직접 매핑됨
onPremisesSamAccountName entity.user.attribute.labels.value 직접 매핑됨
refreshTokensValidFromDateTime entity.user.attribute.labels.value 직접 매핑됨
token_date_time entity.user.attribute.labels.value 직접 매핑됨
userPrincipalName entity.user.attribute.labels.value 직접 매핑됨
user_ou_data entity.user.attribute.labels.value 직접 매핑됨
userType entity.user.attribute.roles.name 직접 매핑됨
user_ou_data entity.user.attribute.roles.type 매핑됨: Admin → ADMINISTRATOR, Service Accounts → SERVICE_ACCOUNT
department entity.user.department 병합됨
mail entity.user.email_addresses 병합됨
proxyAddress entity.user.email_addresses 매핑됨: smtp/SMTP → proxyAddress
userPrincipalName entity.user.email_addresses 병합됨
employeeId entity.user.employee_id 이름 변경/매핑됨
extension_employeeNumber entity.user.employee_id 이름이 변경됨/매핑됨
onPremisesDomainName entity.user.group_identifiers 병합됨
proxyAddress entity.user.group_identifiers 병합됨
sign_in_type_manager entity.user.managers.attribute.labels.key 직접 매핑됨
temp entity.user.managers.attribute.labels.key 매핑됨: true → manager accountEnabled
empmanager-src.sbuxCompanyCode entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxCostCenter entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxDirectorySync entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxEmployeeStatus entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxEmployeeType entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxFullName entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxFullNameAKA entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxFullNameAKAAlt entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxFullNameAlt entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxGivenNameAlt entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxGlobalID entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxJobNumber entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxKnownAs entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxKnownAsAlt entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxLocalMarket entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxLocalMarketEmployeeID entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxManagerImmutableID entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxManagerNumber entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxOnTLA entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxOrgAreaID entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxOrgDistrictID entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxOrgDivisionID entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxOrgRegionID entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxOrgShortName entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxOrgStoreID entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxOrgType entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxOrgUnit entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxSnAlt entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.sbuxSourceSystem entity.user.managers.attribute.labels.value 직접 매핑됨
empmanager-src.userPrincipalName entity.user.managers.attribute.labels.value 직접 매핑됨
manager_ou_data entity.user.managers.attribute.labels.value 직접 매핑됨
temp entity.user.managers.attribute.labels.value 직접 매핑됨
manager_user_type entity.user.managers.attribute.roles.name 직접 매핑됨
manager_ou_data entity.user.managers.attribute.roles.type 매핑됨: Users → ADMINISTRATOR, Service Accounts → SERVICE_ACCOUNT
empmanager-src.companyName entity.user.managers.company_name 이름 변경/매핑됨
empmanager-src.department entity.user.managers.department 병합됨
empProxyAddress entity.user.managers.email_addresses 매핑됨: smtp/SMTP → empProxyAddress
empmanager-src.mail entity.user.managers.email_addresses 병합됨
principal_name entity.user.managers.email_addresses 병합됨
empmanager-src.employeeId entity.user.managers.employee_id 이름 변경/매핑됨
empmanager-src.extension_employeeNumber entity.user.managers.employee_id 이름 변경/매핑됨
empmanager-src.givenName entity.user.managers.first_name 이름이 변경됨/매핑됨
empProxyAddress entity.user.managers.group_identifiers 병합됨
empmanager-src.surname entity.user.managers.last_name 이름 변경/매핑됨
empmanager-src.city entity.user.managers.personal_address.city 이름이 변경됨/매핑됨
country_n_code entity.user.managers.personal_address.country_or_region 직접 매핑됨
empmanager-src.streetAddress entity.user.managers.personal_address.name 이름이 변경됨/매핑됨
empmanager-src.state entity.user.managers.personal_address.state 이름이 변경됨/매핑됨
empmanager-src.businessPhones.0 entity.user.managers.phone_numbers 병합됨
empmanager-src.id entity.user.managers.product_object_id 이름 변경/매핑됨
empmanager-src.jobTitle entity.user.managers.title 이름 변경/매핑됨
empmanager-src.displayName entity.user.managers.user_display_name 이름 변경/매핑됨
empmanager-src.sAMAccountName entity.user.managers.userid 이름 변경/매핑됨
empmanager-src.onPremisesSecurityIdentifier entity.user.managers.windows_sid 이름이 변경됨/매핑됨
country entity.user.personal_address.country_or_region 직접 매핑됨
usageLocation entity.user.personal_address.country_or_region 직접 매핑됨
phoneNumber entity.user.phone_numbers 병합됨
onPremisesSamAccountName entity.user.userid 이름 변경/매핑됨
sAMAccountName entity.user.userid 이름이 변경됨/매핑됨
gopher-device-item.createdDateTime metadata.event_timestamp RFC3339로 파싱됨
해당 사항 없음 entity.labels.key 상수: wfc_AccountType
해당 사항 없음 entity.user.attribute.labels.key 상수: gopher-manager onPremisesImmutableId
해당 사항 없음 entity.user.attribute.roles.type 상수: SERVICE_ACCOUNT
해당 사항 없음 entity.user.managers.attribute.labels.key 상수: manager accountEnabled
해당 사항 없음 entity.user.managers.attribute.roles.type 상수: SERVICE_ACCOUNT
해당 사항 없음 entity.user.user_authentication_status 상수: ACTIVE
해당 사항 없음 metadata.entity_type 상수: USER
해당 사항 없음 metadata.event_metadata.log_type 상수: AZURE_AD_CONTEXT
해당 사항 없음 metadata.product_name 상수: Azure Active Directory
해당 사항 없음 metadata.vendor_name 상수: Microsoft

변경 로그

이 파서의 변경 로그 보기

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.