BatchUsageLogEvents

기기에서 events의 이벤트 로그를 일괄 처리했습니다.

JSON 표현
{
  "device": string,
  "user": string,
  "retrievalTime": string,
  "usageLogEvents": [
    {
      object (UsageLogEvent)
    }
  ]
}
필드
device

string

기기 이름이 있는 경우 ‘enterprises/{enterpriseId}/devices/{deviceId}’ 형식으로 입력하세요.

user

string

있는 경우 이 기기를 소유한 사용자의 리소스 이름이며 'enterprises/{enterpriseId}/users/{userId}' 형식입니다.

retrievalTime

string (Timestamp format)

기기에서 이벤트 배치가 수집된 시점의 기기 타임스탬프입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

usageLogEvents[]

object (UsageLogEvent)

기기에서 보고한 UsageLogEvent 목록으로, 이벤트 시간을 기준으로 시간순으로 정렬됩니다.

UsageLogEvent

기기에 기록된 이벤트입니다.

JSON 표현
{
  "eventId": string,
  "eventTime": string,
  "eventType": enum (EventType),

  // Union field event can be only one of the following:
  "adbShellCommandEvent": {
    object (AdbShellCommandEvent)
  },
  "adbShellInteractiveEvent": {
    object (AdbShellInteractiveEvent)
  },
  "appProcessStartEvent": {
    object (AppProcessStartEvent)
  },
  "keyguardDismissedEvent": {
    object (KeyguardDismissedEvent)
  },
  "keyguardDismissAuthAttemptEvent": {
    object (KeyguardDismissAuthAttemptEvent)
  },
  "keyguardSecuredEvent": {
    object (KeyguardSecuredEvent)
  },
  "filePulledEvent": {
    object (FilePulledEvent)
  },
  "filePushedEvent": {
    object (FilePushedEvent)
  },
  "certAuthorityInstalledEvent": {
    object (CertAuthorityInstalledEvent)
  },
  "certAuthorityRemovedEvent": {
    object (CertAuthorityRemovedEvent)
  },
  "certValidationFailureEvent": {
    object (CertValidationFailureEvent)
  },
  "cryptoSelfTestCompletedEvent": {
    object (CryptoSelfTestCompletedEvent)
  },
  "keyDestructionEvent": {
    object (KeyDestructionEvent)
  },
  "keyGeneratedEvent": {
    object (KeyGeneratedEvent)
  },
  "keyImportEvent": {
    object (KeyImportEvent)
  },
  "keyIntegrityViolationEvent": {
    object (KeyIntegrityViolationEvent)
  },
  "loggingStartedEvent": {
    object (LoggingStartedEvent)
  },
  "loggingStoppedEvent": {
    object (LoggingStoppedEvent)
  },
  "logBufferSizeCriticalEvent": {
    object (LogBufferSizeCriticalEvent)
  },
  "mediaMountEvent": {
    object (MediaMountEvent)
  },
  "mediaUnmountEvent": {
    object (MediaUnmountEvent)
  },
  "osShutdownEvent": {
    object (OsShutdownEvent)
  },
  "osStartupEvent": {
    object (OsStartupEvent)
  },
  "remoteLockEvent": {
    object (RemoteLockEvent)
  },
  "wipeFailureEvent": {
    object (WipeFailureEvent)
  },
  "connectEvent": {
    object (ConnectEvent)
  },
  "dnsEvent": {
    object (DnsEvent)
  },
  "stopLostModeUserAttemptEvent": {
    object (StopLostModeUserAttemptEvent)
  },
  "lostModeOutgoingPhoneCallEvent": {
    object (LostModeOutgoingPhoneCallEvent)
  },
  "lostModeLocationEvent": {
    object (LostModeLocationEvent)
  },
  "enrollmentCompleteEvent": {
    object (EnrollmentCompleteEvent)
  }
  // End of list of possible types for union field event.
}
필드
eventId

string (int64 format)

이벤트의 고유 ID입니다.

eventTime

string (Timestamp format)

이벤트가 기록된 시점의 기기 타임스탬프입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

eventType

enum (EventType)

기기에 보고된 특정 사용 로그 이벤트 유형입니다. 이 속성을 사용하여 액세스할 event 필드를 결정합니다.

통합 필드 event. 기기에 기록된 이벤트 유형 이벤트 전송 시점과 이벤트가 로깅되는 시점과 포함되는 필드에 대한 제한사항을 자세히 알아보려면 각 이벤트 유형을 참고하세요. event은 다음 중 하나여야 합니다.
adbShellCommandEvent

object (AdbShellCommandEvent)

셸 명령어가 'adb 셸 명령어'를 통해 ADB를 통해 실행되었습니다. SECURITY_LOGS의 일부입니다.

adbShellInteractiveEvent

object (AdbShellInteractiveEvent)

ADB 대화형 셸이 'adb 셸'을 통해 열렸습니다. SECURITY_LOGS의 일부입니다.

appProcessStartEvent

object (AppProcessStartEvent)

앱 프로세스가 시작되었습니다. SECURITY_LOGS의 일부입니다.

keyguardDismissedEvent

object (KeyguardDismissedEvent)

키가드가 닫혔습니다. SECURITY_LOGS의 일부입니다.

keyguardDismissAuthAttemptEvent

object (KeyguardDismissAuthAttemptEvent)

기기를 잠금 해제하려고 시도했습니다. SECURITY_LOGS의 일부입니다.

keyguardSecuredEvent

object (KeyguardSecuredEvent)

사용자 또는 시간 초과로 인해 기기가 잠겼습니다. SECURITY_LOGS의 일부입니다.

filePulledEvent

object (FilePulledEvent)

기기에서 파일이 다운로드되었습니다. SECURITY_LOGS의 일부입니다.

filePushedEvent

object (FilePushedEvent)

파일이 기기에 업로드되었습니다. SECURITY_LOGS의 일부입니다.

certAuthorityInstalledEvent

object (CertAuthorityInstalledEvent)

시스템의 신뢰할 수 있는 사용자 인증 정보 저장소에 새 루트 인증서가 설치되었습니다. SECURITY_LOGS의 일부입니다.

certAuthorityRemovedEvent

object (CertAuthorityRemovedEvent)

루트 인증서가 시스템의 신뢰할 수 있는 사용자 인증 정보 저장소에서 삭제되었습니다. SECURITY_LOGS의 일부입니다.

certValidationFailureEvent

object (CertValidationFailureEvent)

X.509v3 인증서의 유효성 확인에 실패했습니다. 현재 이 유효성 검사는 Wi-Fi 액세스 포인트에서 수행되며 서버 인증서 유효성 검사에서의 불일치로 인해 실패할 수 있습니다. 하지만 향후 X.509v3 인증서의 다른 유효성 검사 이벤트가 포함될 수도 있습니다. SECURITY_LOGS의 일부입니다.

cryptoSelfTestCompletedEvent

object (CryptoSelfTestCompletedEvent)

Android의 기본 제공 암호화 라이브러리 (BoringSSL)가 유효한지 검사합니다. 기기 부팅 시 항상 성공해야 하며, 실패하는 경우 기기를 신뢰할 수 없는 기기로 간주해야 합니다. SECURITY_LOGS의 일부입니다.

keyDestructionEvent

object (KeyDestructionEvent)

사용자 설치, 관리자 설치, 시스템에서 유지 관리하는 비공개 키를 포함하는 암호화 키를 사용자 또는 관리자가 기기에서 삭제합니다. SECURITY_LOGS의 일부입니다.

keyGeneratedEvent

object (KeyGeneratedEvent)

사용자 설치, 관리자 설치, 시스템에서 유지 관리하는 비공개 키를 포함하는 암호화 키를 사용자 또는 관리자가 기기에 설치합니다. SECURITY_LOGS의 일부입니다.

keyImportEvent

object (KeyImportEvent)

사용자 설치, 관리자 설치, 시스템에서 유지 관리하는 비공개 키를 포함하는 암호화 키를 사용자 또는 관리자가 기기로 가져옵니다. SECURITY_LOGS의 일부입니다.

keyIntegrityViolationEvent

object (KeyIntegrityViolationEvent)

사용자 설치, 관리자 설치, 시스템에서 유지 관리하는 비공개 키를 포함한 암호화 키가 저장소 손상, 하드웨어 오류 또는 일부 OS 문제로 인해 손상된 것으로 확인되었습니다. SECURITY_LOGS의 일부입니다.

loggingStartedEvent

object (LoggingStartedEvent)

정책 usageLog개가 사용 설정되었습니다. SECURITY_LOGS의 일부입니다.

loggingStoppedEvent

object (LoggingStoppedEvent)

usageLog 정책이 사용 중지되었습니다. SECURITY_LOGS의 일부입니다.

logBufferSizeCriticalEvent

object (LogBufferSizeCriticalEvent)

감사 로그 버퍼가 용량의 90% 에 도달하여 이전 이벤트가 삭제될 수 있습니다. SECURITY_LOGS의 일부입니다.

mediaMountEvent

object (MediaMountEvent)

이동식 미디어가 장착되었습니다. SECURITY_LOGS의 일부입니다.

mediaUnmountEvent

object (MediaUnmountEvent)

이동식 미디어가 마운트 해제되었습니다. SECURITY_LOGS의 일부입니다.

osShutdownEvent

object (OsShutdownEvent)

기기가 종료되었습니다. SECURITY_LOGS의 일부입니다.

osStartupEvent

object (OsStartupEvent)

기기가 시작되었습니다. SECURITY_LOGS의 일부입니다.

remoteLockEvent

object (RemoteLockEvent)

기기 또는 프로필이 LOCK 명령어를 통해 원격으로 잠겼습니다. SECURITY_LOGS의 일부입니다.

wipeFailureEvent

object (WipeFailureEvent)

요청 시 직장 프로필 또는 회사 소유 기기를 초기화하지 못했습니다. 이는 사용자가 시작하거나 관리자가 시작할 수 있습니다(예: delete이(가) 수신되었습니다. SECURITY_LOGS의 일부입니다.

connectEvent

object (ConnectEvent)

TCP 연결 이벤트가 표준 네트워크 스택을 통해 시작되었습니다. NETWORK_ACTIVITY_LOGS의 일부입니다.

dnsEvent

object (DnsEvent)

DNS 조회 이벤트가 표준 네트워크 스택을 통해 시작되었습니다. NETWORK_ACTIVITY_LOGS의 일부입니다.

stopLostModeUserAttemptEvent

object (StopLostModeUserAttemptEvent)

기기의 분실 모드에서 해제하려는 시도입니다.

lostModeOutgoingPhoneCallEvent

object (LostModeOutgoingPhoneCallEvent)

기기가 분실 모드일 때 발신 전화를 걸었습니다.

lostModeLocationEvent

object (LostModeLocationEvent)

기기가 분실 모드일 때 분실 모드 위치 업데이트

enrollmentCompleteEvent

object (EnrollmentCompleteEvent)

기기 등록이 완료되었습니다. AMAPI_LOGS의 일부입니다.

KeyguardDismissedEvent

이 유형에는 필드가 없습니다.

키가드가 닫혔습니다. 의도적으로 비어 있습니다.

KeyguardDismissAuthAttemptEvent

기기를 잠금 해제하려고 시도했습니다.

JSON 표현
{
  "success": boolean,
  "strongAuthMethodUsed": boolean
}
필드
success

boolean

잠금 해제 시도의 성공 여부입니다.

strongAuthMethodUsed

boolean

기기를 잠금 해제하는 데 강력한 형식 (비밀번호, PIN 또는 패턴)을 사용했는지 여부

KeyguardSecuredEvent

이 유형에는 필드가 없습니다.

사용자 또는 시간 초과로 인해 기기가 잠겼습니다. 의도적으로 비어 있습니다.

FilePulledEvent

기기에서 파일이 다운로드되었습니다.

JSON 표현
{
  "filePath": string
}
필드
filePath

string

가져오는 파일의 경로입니다.

FilePushedEvent

파일이 기기에 업로드되었습니다.

JSON 표현
{
  "filePath": string
}
필드
filePath

string

푸시되는 파일의 경로입니다.

CertAuthorityInstalledEvent

시스템의 신뢰할 수 있는 사용자 인증 정보 저장소에 새 루트 인증서가 설치되었습니다. 이 기능은 완전 관리형 기기에서 그리고 직장 프로필이 있는 조직 소유 기기의 직장 프로필 내에서 기기 전체에서 사용할 수 있습니다.

JSON 표현
{
  "certificate": string,
  "userId": integer,
  "success": boolean
}
필드
certificate

string

인증서의 주체입니다.

userId

integer

인증서 설치 이벤트가 발생한 사용자입니다. Android 11 이상을 실행하는 기기에서만 사용할 수 있습니다.

success

boolean

설치 이벤트의 성공 여부입니다.

CertAuthorityRemovedEvent

루트 인증서가 시스템의 신뢰할 수 있는 사용자 인증 정보 저장소에서 삭제되었습니다. 이 기능은 완전 관리형 기기에서 그리고 직장 프로필이 있는 조직 소유 기기의 직장 프로필 내에서 기기 전체에서 사용할 수 있습니다.

JSON 표현
{
  "certificate": string,
  "userId": integer,
  "success": boolean
}
필드
certificate

string

인증서의 주체입니다.

userId

integer

인증서 삭제 이벤트가 발생한 사용자입니다. Android 11 이상을 실행하는 기기에서만 사용할 수 있습니다.

success

boolean

삭제 성공 여부입니다.

CertValidationFailureEvent

X.509v3 인증서의 유효성 확인에 실패했습니다. 현재 이 유효성 검사는 Wi-Fi 액세스 포인트에서 수행되며 서버 인증서 유효성 검사에서의 불일치로 인해 실패할 수 있습니다. 하지만 향후 X.509v3 인증서의 다른 유효성 검사 이벤트가 포함될 수도 있습니다.

JSON 표현
{
  "failureReason": string
}
필드
failureReason

string

인증 확인에 실패한 이유입니다.

CryptoSelfTestCompletedEvent

Android의 기본 제공 암호화 라이브러리 (BoringSSL)가 유효한지 검사합니다. 기기 부팅 시 항상 성공해야 하며, 실패하는 경우 기기를 신뢰할 수 없는 기기로 간주해야 합니다.

JSON 표현
{
  "success": boolean
}
필드
success

boolean

테스트 성공 여부입니다.

KeyDestructionEvent

사용자 설치, 관리자 설치, 시스템에서 유지 관리하는 비공개 키를 포함하는 암호화 키를 사용자 또는 관리자가 기기에서 삭제합니다. 이 기능은 완전 관리형 기기에서 그리고 직장 프로필이 있는 조직 소유 기기의 직장 프로필 내에서 기기 전체에서 사용할 수 있습니다.

JSON 표현
{
  "keyAlias": string,
  "applicationUid": integer,
  "success": boolean
}
필드
keyAlias

string

키의 별칭입니다.

applicationUid

integer

키를 소유한 애플리케이션의 UID입니다.

success

boolean

작업의 성공 여부입니다.

KeyGeneratedEvent

사용자 설치, 관리자 설치, 시스템에서 유지관리하는 비공개 키를 포함하는 암호화 키는 사용자 또는 관리자가 기기에 설치합니다.이 키는 완전 관리형 기기에서 기기 전체에 사용할 수 있고 직장 프로필이 있는 조직 소유 기기의 직장 프로필 내에서 사용할 수 있습니다.

JSON 표현
{
  "keyAlias": string,
  "applicationUid": integer,
  "success": boolean
}
필드
keyAlias

string

키의 별칭입니다.

applicationUid

integer

키를 생성한 애플리케이션의 UID입니다.

success

boolean

작업의 성공 여부입니다.

KeyImportEvent

사용자 설치, 관리자 설치, 시스템에서 유지 관리하는 비공개 키를 포함하는 암호화 키를 사용자 또는 관리자가 기기로 가져옵니다. 이 기능은 완전 관리형 기기에서 그리고 직장 프로필이 있는 조직 소유 기기의 직장 프로필 내에서 기기 전체에서 사용할 수 있습니다.

JSON 표현
{
  "keyAlias": string,
  "applicationUid": integer,
  "success": boolean
}
필드
keyAlias

string

키의 별칭입니다.

applicationUid

integer

키를 가져온 애플리케이션의 UID

success

boolean

작업의 성공 여부입니다.

KeyIntegrityViolationEvent

사용자 설치, 관리자 설치, 시스템에서 유지 관리하는 비공개 키를 포함한 암호화 키가 저장소 손상, 하드웨어 오류 또는 일부 OS 문제로 인해 손상된 것으로 확인되었습니다. 이 기능은 완전 관리형 기기에서 그리고 직장 프로필이 있는 조직 소유 기기의 직장 프로필 내에서 기기 전체에서 사용할 수 있습니다.

JSON 표현
{
  "keyAlias": string,
  "applicationUid": integer
}
필드
keyAlias

string

키의 별칭입니다.

applicationUid

integer

키를 소유한 애플리케이션의 UID

LoggingStartedEvent

이 유형에는 필드가 없습니다.

정책 usageLog개가 사용 설정되었습니다. 의도적으로 비어 있습니다.

LoggingStoppedEvent

이 유형에는 필드가 없습니다.

usageLog 정책이 사용 중지되었습니다. 의도적으로 비어 있습니다.

LogBufferSizeCriticalEvent

이 유형에는 필드가 없습니다.

기기의 usageLog 버퍼가 용량의 90% 에 도달했으므로 이전 이벤트가 삭제될 수 있습니다. 의도적으로 비어 있습니다.

MediaMountEvent

이동식 미디어가 장착되었습니다.

JSON 표현
{
  "mountPoint": string,
  "volumeLabel": string
}
필드
mountPoint

string

마운트 지점

volumeLabel

string

볼륨 라벨 조직 소유 관리 프로필 기기에서 빈 문자열로 수정됩니다.

MediaUnmountEvent

이동식 미디어가 마운트 해제되었습니다.

JSON 표현
{
  "mountPoint": string,
  "volumeLabel": string
}
필드
mountPoint

string

마운트 지점

volumeLabel

string

볼륨 라벨 조직 소유 관리 프로필 기기에서 빈 문자열로 수정됩니다.

OsShutdownEvent

이 유형에는 필드가 없습니다.

기기가 종료되었습니다. 의도적으로 비어 있습니다.

OsStartupEvent

기기가 시작되었습니다.

JSON 표현
{
  "verifiedBootState": enum (VerifiedBootState),
  "verityMode": enum (DmVerityMode)
}
필드
verifiedBootState

enum (VerifiedBootState)

자체 검사 부팅 상태

verityMode

enum (DmVerityMode)

dm-verity 모드

RemoteLockEvent

기기 또는 프로필이 LOCK 명령어를 통해 원격으로 잠겼습니다.

JSON 표현
{
  "adminPackageName": string,
  "adminUserId": integer,
  "targetUserId": integer
}
필드
adminPackageName

string

변경을 요청하는 관리자 앱의 패키지 이름입니다.

adminUserId

integer

변경이 요청된 관리자 앱의 사용자 ID입니다.

targetUserId

integer

변경이 요청된 사용자 ID입니다.

WipeFailureEvent

이 유형에는 필드가 없습니다.

요청 시 직장 프로필 또는 회사 소유 기기를 초기화하지 못했습니다. 이는 사용자가 시작하거나 관리자가 시작할 수 있습니다(예: delete이(가) 수신되었습니다. 의도적으로 비어 있습니다.

ConnectEvent

TCP 연결 이벤트가 표준 네트워크 스택을 통해 시작되었습니다.

JSON 표현
{
  "destinationIpAddress": string,
  "destinationPort": integer,
  "packageName": string
}
필드
destinationIpAddress

string

연결 호출의 대상 IP 주소입니다.

destinationPort

integer

연결 호출의 대상 포트입니다.

packageName

string

연결 호출을 수행한 UID의 패키지 이름입니다.

DnsEvent

DNS 조회 이벤트가 표준 네트워크 스택을 통해 시작되었습니다.

JSON 표현
{
  "hostname": string,
  "ipAddresses": [
    string
  ],
  "totalIpAddressesReturned": string,
  "packageName": string
}
필드
hostname

string

조회된 호스트 이름입니다.

ipAddresses[]

string

DNS 조회를 위해 반환된 IP 주소의 잘릴 수 있는 목록입니다(최대 10개의 IPv4 또는 IPv6 주소).

totalIpAddressesReturned

string (int64 format)

DNS 조회 이벤트에서 반환된 IP 주소의 수입니다. 기록할 주소가 너무 많은 경우 ipAddress의 양보다 많을 수 있습니다.

packageName

string

DNS 조회를 수행한 UID의 패키지 이름입니다.

StopLostModeUserAttemptEvent

사용자가 분실 모드 중지를 시도했음을 나타내는 분실 모드 이벤트입니다.

JSON 표현
{
  "status": enum (Status)
}
필드
status

enum (Status)

분실 모드를 중지하려는 시도의 상태입니다.

LostModeOutgoingPhoneCallEvent

이 유형에는 필드가 없습니다.

기기가 분실 모드일 때 발신 전화를 걸었음을 나타내는 이벤트입니다. 의도적으로 비어 있습니다.

LostModeLocationEvent

기기 위치와 배터리 잔량을 백분율로 포함하는 분실 모드 이벤트입니다.

JSON 표현
{
  "location": {
    object (Location)
  },
  "batteryLevel": integer
}
필드
location

object (Location)

기기 위치

batteryLevel

integer

배터리 잔량(0~100 포함)

위치

위도와 경도가 포함된 기기 위치입니다.

JSON 표현
{
  "latitude": number,
  "longitude": number
}
필드
latitude

number

위치의 위도 위치입니다.

longitude

number

위치의 경도 위치입니다.

EnrollmentCompleteEvent

이 유형에는 필드가 없습니다.

기기 등록이 완료되었음을 나타냅니다. 이때 사용자는 런처에 있어야 하며, 이때 기기는 규정을 준수하며 모든 설정 단계가 완료되었습니다. 의도적으로 비어 있습니다.