직원 로그에서 민감한 정보를 영구적으로 삭제할 수 있는 방법을 추가해 주세요

이 기능의 설계 의도는 게시글 데이터를 데이터베이스에서 완전히 제거하는 것이었던 것으로 보입니다. 그러나 /admin/logs/staff_action_logs를 통해 데이터가 여전히 데이터베이스에 남아 있는 것을 확인했습니다.

현지 규정을 준수하기 위해 게시글을 데이터베이스에서 완전히 제거하려고 했습니다. staff_action_logs에서 게시글 데이터를 제거할 수 있는 방법이 있나요?

10개의 좋아요

현재 UI에서 이 작업을 수행할 수 있는 방법이 없는 것으로 보입니다. 접근 권한이 있다면 rails 콘솔을 통해 스태프 액션 자체를 삭제할 수 있을 것입니다.

스태프 액션의 id는 스태프 로그 JSON(/admin/logs/staff_action_logs.json)을 확인하거나, 데이터 탐색 쿼리를 사용하여 목록을 확인한 후 선택하는 방식으로 찾을 수 있습니다:

SELECT *
FROM user_histories
WHERE action = 17 -- 'delete post'의 액션 코드
ORDER BY created_at DESC

그 다음 rails 콘솔에서 해당 id를 사용하세요:

UserHistory.where(id:[ID]).delete_all

다만, 질문을 더 자세히 읽어보니 로그를 삭제하는 대신 ‘details’ 섹션을 다음과 같이 덮어쓸 수 있을 것 같습니다:

UserHistory.where(id:[ID]).update(details:"permanently deleted")
8개의 좋아요

간단히 알려드립니다: 최근 커밋으로 Discourse가 영구 삭제된 민감한 로그 메시지를 자동으로 정리하도록 개선되었습니다.

그리고 rails c를 사용하여 로그를 다음과 같이 삭제할 수도 있습니다:

UserHistory.where(post_id: xxx).destroy_all
# 또는 topic:
UserHistory.where(topic_id: xxx).destroy_all
5개의 좋아요

로그는 불변(infinitive)인가요? 그렇다면 민감한 데이터의 경우, GDPR은 개인이 식별될 수 있다는 점에서 이를 싫어합니다. 만약 그렇지 않다면, 데이터 처리가 어떻게 이루어지는지와 백업이 얼마나 오래 저장되는지를 설명하는 것만으로도 충분합니다 — 단, 그 기간은 합리적이야 합니다.

하지만… 민감성은 GDPR이 요구하는 다소 다른 개념입니다. 은행 계좌번호는 매우 민감하지만, 이를 통해 개인을 식별할 수는 없습니다. 적어도 핀란드에서는 그렇습니다.

이것은 세부 정보 섹션을 덮어쓰거나 파괴적인 작업을 영구적으로 삭제된 로그에만 제한하는 것이 아니라, 해당 게시글 또는 주제 ID와 관련된 모든 user_histories 기록을 삭제하는 것처럼 보입니다.

네, 이 명령어는 특정 게시물/토론과 관련된 모든 로그를 완전히 삭제하고 싶은 사람들을 위한 것입니다. :slightly_smiling_face:

2개의 좋아요

이 주제는 마지막 답변 후 3일이 지나면 자동으로 닫힙니다. 더 이상 새 답변을 게시할 수 없습니다.