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 shell 명령어'를 통해 ADB를 통해 셸 명령어가 실행되었습니다. SECURITY_LOGS의 일부입니다.

adbShellInteractiveEvent

object (AdbShellInteractiveEvent)

'adb shell'을 통해 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 주소 수입니다. 로깅할 주소가 너무 많은 경우 ipAddresses의 수보다 클 수 있습니다.

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

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

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