상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
구연산의 물리적 성질 변화에 영향을 미치는 요인은 무엇인가요?
구연산의 안전한 섭취량은 얼마인가요?
지문인식이 작동하지 않는 경우는 어떤 경우인가요?
핀터레스트에서 이미지의 크기를 조정하는 방법은?
핀터레스트에서 브랜드의 차별성을 강조하는 방법은?
아드리아 해의 주요 섬들은 무엇인가요?
구면기하학에서의 점, 선, 면은 어떻게 정의되나요?
구면기하학에서의 구면의 기하학적 성질의 응용은 무엇인가요?
구면기하학에서의 구면의 기하학적 성질의 연구 방법은 무엇인가요?
그랩의 프로모션 코드는 어떻게 사용하나요?
그랩의 앱에서 자주 묻는 질문(FAQ) 섹션은 어디에 있나요?
그랩의 드라이버가 고객과의 갈등을 해결하는 방법은 무엇인가요?
Previous
Next
수정하기 - Supabase에서 데이터에 대한 감사 로그를 생성하는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Supabase에서 데이터에 대한 감사 로그를 생성하는 방법은 여러 가지가 있습니다. 일반적으로 감사 로그는 데이터베이스의 이벤트를 기록하여 누가, 언제, 어떤 작업을 했는지를 추적하는 데 사용됩니다. Supabase는 PostgreSQL 기반의 서비스이므로 PostgreSQL의 기능을 활용하여 감사 로그를 작성할 수 있습니다. 다음은 Supabase에서 데이터에 대한 감사 로그를 생성하는 방법을 설명합니다: 1. 트리거와 <a href='https://sangseek.com/sangseeks/로그 테이블/ko'>로그 테이블</a> 생성하기 먼저, 감사 로그를 저장할 테이블을 만들어야 합니다. 이 테이블은 로그의 각 항목을 표현하는 필드를 포함하며, 보통 다음과 같은 필드가 포함됩니다: - `id`: 로그 항목의 고유 식별자 - `action`: 수행된 작업 (예: INSERT, UPDATE, DELETE) - `table_name`: 영향을 받은 테이블의 이름 - `record_id`: 수정된 레코드의 ID - `user_id`: 작업을 수행한 사용자 ID - `timestamp`: 작업이 수행된 시각 예시 SQL 코드: ```sql CREATE TABLE audit_logs ( id SERIAL PRIMARY KEY, action VARCHAR(50), table_name VARCHAR(50), record_id INTEGER, user_id UUID, timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ``` 2. 트리거 생성하기 이제 특정 테이블에 대한 트리거를 생성하여 데이터 변경 시마다 로그를 기록하도록 설정합니다. 예를 들어, `users` 테이블에 대한 트리거를 다음과 같이 설정할 수 있습니다. ```sql CREATE OR REPLACE FUNCTION log_user_changes() RETURNS TRIGGER AS $$ BEGIN INSERT INTO audit_logs (action, table_name, record_id, user_id) VALUES (TG_OP, TG_TABLE_NAME, NEW.id, current_setting('my.user_id')); RETURN NEW; END; $$ LANGUAGE plpgsql; CREATE TRIGGER user_changes AFTER INSERT OR UPDATE OR DELETE ON users FOR EACH ROW EXECUTE FUNCTION log_user_changes(); ``` 여기에서 `TG_OP`은 트리거가 호출된 작업의 유형 (INSERT, UPDATE, DELETE)을 가져옵니다. 이 코드는 각 데이터 변경이 발생할 때마다 `audit_logs` 테이블에 해당 정보를 기록합니다. 3. 사용자 ID 설정하기 트리거가 `user_id`를 기록할 수 있도록 현재 사용자의 ID를 설정해야 합니다. Supabase와 같은 서비스에서는 현재 사용자 ID를 <a href='https://sangseek.com/sangseeks/세션 설정/ko'>세션 설정</a>을 통해 가져올 수 있습니다. `my.user_id`에 현재 사용자 ID를 저장하는 방법은 애플리케이션에 따라 다르니, Supabase Auth를 사용하여 로그인한 사용자의 정보를 세션에 저장하는 방법을 활용할 수 있습니다. 4. 로그 조회하기 감사 로그가 기록된 후에는 필요에 따라 이 데이터를 조회하고 분석할 수 있습니다. 예를 들어, 다음과 같은 SQL 쿼리를 사용하여 최근의 감사 로그를 확인할 수 있습니다: ```sql SELECT * FROM audit_logs ORDER BY timestamp DESC LIMIT 100; ``` 5. 보안 및 관리 감사 로그 테이블은 중요한 정보를 저장하므로, 접근 제어 및 데이터 보호를 위해 적절한 보안 조치를 수행해야 합니다. Supabase의 Row Level Security (RLS) 및 PostgreSQL의 권한 관리 기능을 활용하여 데이터에 대한 접근을 안전하게 관리하세요. 위의 단계를 통해 Supabase에서 데이터에 대한 감사 로그를 효과적으로 생성하고 관리할 수 있습니다. 데이터의 보안성과 신뢰성을 높이는 데 도움이 될 것입니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기