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 대화형 셸이 '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 주소의 목록 (잘릴 수 있음)입니다 (IPv4 또는 IPv6 주소 최대 10개).

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

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

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