사용자 가장
비밀번호를 묻지 않고 사용자를 대신하여 지원 및 디버깅을 수행합니다. 10분으로 제한되며 보안 로그에서 엄격하게 감사됩니다.
5분 읽기·레벨 중급·2026. 10. 26.에 개정됨
이 번역 이후 영어 소스가 변경되었습니다. 일부 정보는 최신 정보가 아닐 수 있습니다.
이 페이지는 자동으로 번역되었습니다. 영어 버전은 권위가 있습니다.
#
개요
명의 도용이란 무엇입니까?
사용자 가장을 사용하면 관리자나 지원 엔지니어가 특정 사용자 역할을 하는 단기 전달자 토큰을 생성할 수 있습니다. 이를 통해 자격 증명을 요청하지 않고도 고객 버그를 재현하고, RLS 정책 권한을 확인하거나 데이터 문제를 해결할 수 있습니다.
Aurabase의 가장은 세 가지 기본 보안 원칙을 보장합니다.
- 짧은 수명: 가장 토큰은 1~600초(최대 10분, 기본값 300초) 사이에서 유효합니다. 새로 고침 토큰은 포함되지 않습니다.
- 명시적 행위자 속성: 발급된 액세스 토큰은 누가 세션을 시작했는지 나타내는 표준 RFC 8693
act클레임을 전달합니다. - 발행 전 감사: 토큰이 생성되기 전에 행위자, 이유, 기간 및 대상 사용자와 함께 작업이
auth_audit_log에 기록됩니다. 로그 삽입에 실패하면 토큰이 발급되지 않습니다.
#
토큰 청구
RFC 8693 행위 청구 구조
가장 토큰은 프로젝트의 활성 ES256 키로 서명되며 추가 act(행위자) 개체와 함께 표준 사용자 액세스 토큰 형식을 준수합니다.
sub: 가장되는 사용자의 ID입니다. Postgres RLS (auth.uid())는 이 값으로 평가됩니다.act.sub: 토큰을 생성한 운영자의 ID입니다(예: 콘솔 사용자 ID 또는service_role).
#
HTTP API
관리 엔드포인트
가장을 수행하려면 service_role 키 또는 admin 역할을 가진 운영자를 통한 관리자 인증이 필요합니다.
요청 본문
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
reason | 문자열 | 선택 과목 | 보안 로그에 근거가 기록되었습니다. 권한 있는 대상 계정(admin/owner)에 필요합니다. |
ttl_seconds | 번호 | 선택사항 | 토큰 수명(초)(1~600, 기본값 300) |
allow_privileged | 부울 | 선택사항 | 대상 사용자에게 admin 또는 owner 역할이 있는 경우 true로 설정해야 합니다. |
응답(200 OK)
#
SDK
TypeScript SDK
service_role 키로 구성된 Aurabase 클라이언트와 함께 authAdmin.impersonate()을 사용합니다.
#
보안
권한 있는 계정 및 감사 로그
특권 계정 보호
관리 역할(예: role = 'admin', role = 'owner'또는 'admin'을 포함하는 app_metadata.roles)을 소유한 대상 계정은 높은 가치의 대상을 나타냅니다. 실수로 권한 상승을 방지하려면 다음을 수행하세요.
allow_privileged: true을 명시적으로 전달해야 합니다.- 비어 있지 않은
reason문자열을 제공해야 합니다. - 두 확인 중 하나라도 실패하면 백엔드는
403 Forbidden를 사용하여 요청을 거부합니다.
보안 감사 로그
모든 가장 이벤트는 테넌트의 auth_audit_log 테이블에 삽입됩니다.
- 작업:
admin_impersonation - 사용자 ID: 대상 사용자의 ID
- 메타데이터:
{ "actor": "...", "reason": "...", "ttl_seconds": 300, "privileged": false }을 포함하는 JSON 개체
이 추적은 Studio › 인증 › 감사 로그에서 볼 수 있으며 데이터베이스 드레이닝을 통해 SIEM 도구로 전달할 수 있습니다.
마지막 업데이트 · 2026. 10. 26.