감사 로그
워크스페이스마다 감사 로그가 하나 있습니다. Mocco는 누군가 거버넌스 대상 결정이나 변경을 할 때마다 항목을 추가하고, 이후 항목을 수정하거나 삭제하지 않습니다. 감사 로그는 항상 켜져 있어서 따로 설정할 것이 없습니다.
기록되는 내용
항목 이름은 area.event 형식입니다. 다음을 다룹니다.
배포 거버넌스: 실행 시작(
run.triggered), 게이트 승인 또는 거부(gate.resumed,gate.rejected), 파이프라인 단계에 자격 증명을 건넸거나 거부한 일(credential.issued,credential.denied). 잘못된 실행 토큰으로 온 자격 증명 요청은 항목 없이 거부합니다. 실행 ID를 본 사람이라면 누구든 보낼 수 있는 요청이기 때문입니다.파이프라인 밖의 승인. 보호된 플래그 변경이나 OTA 승격 같은 것으로, 요청, 승인, 거부, 새 요청으로 대체, 만료가 기록됩니다(
approval.*).OTA와 강제 업데이트: 버전 정책 변경, 배포 토큰 추가·교체·삭제, 호스팅 OTA 앱, 인증서, 채널, 신뢰 정책, 업로드, 채널 변경(
ota.*).기능 플래그: 환경과 플래그 생성, 변경 적용·제안·거부·충돌·철회·만료, 보호 설정 변경, 킬 스위치와 복원, 클라이언트 공개 여부, 무시한 오래된 플래그 경고(
flag.*).메신저: 메신저 설정, ID 시크릿 교체, 카테고리와 게스트 설정 변경, 연락처 차단 또는 삭제(
messenger.*).API 키: 생성과 폐기(
apikey.created,apikey.revoked).
각 항목에는 누가, 무엇에 대해, 언제 했는지와 함께 변경의 세부 내용이 기록됩니다. 예를 들어 승인 항목에는 승인자와 역할이 들어갑니다.
Audit 페이지
워크스페이스의 사이드 내비게이션에서 Audit을 엽니다. 워크스페이스 멤버라면 누구나 읽을 수 있습니다. 표에는 항목이 오래된 순서로 나열되고, 기록된 순서대로 번호가 붙습니다.
#: 로그에서 항목의 위치입니다.
Action: 일어난 일입니다. 예:
apikey.revoked.Actor: 일을 한 사람의 짧은 ID입니다. 파이프라인의 자격 증명 요청에 응답하는 것처럼 Mocco가 스스로 한 일이면
system입니다.Subject: 항목이 다루는 대상과 짧은 ID입니다. 예:
api_key 4827fb58.Time: 일어난 시각이며, 브라우저의 시간대로 표시됩니다.

표는 몇 초마다 저절로 새로 고쳐집니다. 아직 필터와 검색은 없습니다. 항목을 찾으려면 브라우저에서 페이지 안의 action 이름이나 ID를 검색하세요.
변경되지 않았음을 증명하기
각 항목에는 자신의 내용과 바로 앞 항목의 해시가 들어 있어서 로그가 하나의 체인을 이룹니다. 과거 항목을 바꾸거나 삭제하면 그 뒤의 모든 해시가 깨집니다.
페이지를 열면 Mocco가 체인 전체를 다시 검사하고, 그 결과를 검사 시각과 함께 Audit 제목 옆에 보여 줍니다. Chain verified는 모든 항목이 여전히 일치한다는 뜻입니다. Chain broken at #N은 N번 항목이나 그 앞 항목과의 연결이 기록된 내용과 더 이상 맞지 않는다는 뜻입니다. 저장된 로그가 작성된 뒤에 변조되었고, 그 항목부터는 증거로 신뢰할 수 없습니다. 검사는 로그 전체를 읽기 때문에 표가 새로 고쳐지는 동안에는 저절로 반복되지 않습니다. Re-verify를 선택하면 다시 실행합니다.
번호에 빈 곳이 있는 것은 정상입니다. 취소된 쓰기가 번호를 썼을 수 있습니다. 삭제된 항목은 빈 번호가 아니라 끊어진 연결로 나타납니다. 체인이 보여 줄 수 없는 변경이 하나 있는데, 가장 최근 항목들을 삭제하는 경우입니다. 남은 로그가 여전히 올바른 더 짧은 체인이기 때문입니다. 이를 잡아낼 수 있는 외부 키 서명은 계획 중입니다.