Lovable에서 Amazon S3 버킷으로 정기 데이터 내보내기를 설정합니다. Lovable은 웹 ID 페더레이션으로 IAM 역할을 수임하고 gzip으로 압축한 JSON Lines 파일을 씁니다.
Lovable 로그를 Amazon S3로 내보내기
Lovable에서 Amazon S3 버킷으로 보내는 예약 데이터 내보내기를 설정합니다. Lovable은 웹 ID 페더레이션(web identity federation)으로 IAM 역할을 수임하고 gzip으로 압축한 JSON Lines 파일을 씁니다.
Amazon S3로 보내는 데이터 내보내기는 AWS 계정의 버킷에 gzip으로 압축한 JSON Lines 파일을 씁니다. Lovable은 사용자가 만든 IAM 역할을 수임합니다. Lovable은 AWS 키를 저장하지 않으며, accounts.google.com을 통한 웹 ID 페더레이션으로 단기 자격 증명을 발급받습니다.
소스, 일정, 실행 동작은 데이터 내보내기를 참고하세요.
사전 요구 사항
- S3 버킷
- AWS IAM에서 역할을 만들고 정책을 연결할 수 있는 권한
- Enterprise 플랜의 Lovable 워크스페이스 admin 또는 owner 역할
내보내기 설정
Lovable에서 내보내기를 만들고 AWS에서 IAM 역할을 만듭니다. 설정 패널이 입력값으로 역할 정책을 자동으로 채워 줍니다.
새 내보내기 시작
Data exports로 이동해 New data export를 클릭하고 Destination에서 Amazon S3를 선택합니다.
버킷과 접두사 입력
Bucket 이름을 입력합니다. 예를 들면 acme-lovable-exports입니다. Prefix (optional) 필드에는 파일을 저장할 폴더를 입력합니다. 비워 두면 lovable-export/가 사용됩니다. 설정 패널이 이 값으로 정책을 채워 줍니다.
역할 ARN 입력
IAM 역할 이름을 정하고 그 ARN을 Role ARN에 입력합니다. 예를 들면 arn:aws:iam::123456789012:role/LovableExportWriter입니다. ARN은 arn:aws:iam::<account ID>:role/<role name> 형식이므로 역할을 만들기 전에도 입력할 수 있습니다. 설정 패널은 이 ARN을 신뢰 정책에 사용합니다.
IAM 역할 만들기
AWS IAM에서 앞서 정한 이름으로 Web identity용 역할을 만들고 ID 제공업체로 accounts.google.com을 지정합니다.
신뢰 정책 설정
역할의 신뢰 정책을 설정 패널의 Trust policy JSON으로 바꿉니다. 이 정책은 Lovable의 서비스 계정만 이 역할을 수임할 수 있게 하며, 그것도 이 Lovable 워크스페이스와 이 역할에 대해서만 허용합니다. 나중에 Role ARN을 변경하면 신뢰 정책도 다시 업데이트하세요.
권한 정책 연결
설정 패널의 Permissions policy JSON을 역할에 연결합니다. 이 정책은 지정한 접두사 아래에서만 s3:PutObject, s3:DeleteObject, s3:AbortMultipartUpload를 허용합니다.
소스 선택 및 테스트
Source를 선택하고 Test connection을 클릭합니다. Lovable은 접두사 아래에 .lovable-export-test라는 작은 테스트 객체를 쓴 뒤 삭제합니다. 테스트를 통과하면 Lovable이 버킷의 리전을 보여줍니다.
내보내기 생성
Create export를 클릭합니다. 저장할 때 Lovable이 같은 테스트를 다시 실행합니다.
설정 패널에 표시된 신뢰 정책을 그대로 사용하세요. 이 정책은 accounts.google.com:aud가 아닌 accounts.google.com:oaud에 조건을 설정합니다. Lovable 워크스페이스마다 고유한 audience를 담고 있는 것은 oaud뿐이기 때문입니다. 이 조건을 제거하면 역할 ARN을 아는 다른 Lovable 워크스페이스가 이 역할을 수임할 수 있습니다.
Lovable이 버킷의 리전을 자동으로 찾으므로 역할에는 버킷 수준 권한이 필요하지 않습니다.
내보낸 파일
각 실행은 접두사 아래에 시간 구간(window)마다 파일 하나를 씁니다. 전체 경로는 객체 스토리지 파일 구조를 참고하세요. 예를 들면 다음과 같습니다.
s3://acme-lovable-exports/lovable-export/workspace=workspace_01k7c3m2x8f9qv0b6t4n5r2hzd__acme-corp/export=0f8e4c2a-6b1d-4f3e-9a7c-2d5b8e1f4a90__compliance-audit-log-export/source=audit_logs/run=2026-10-13T10-00-12Z__7c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f/window=2026-10-13T08-55-07Z--2026-10-13T09-55-12Z/part-00000.jsonl.gz접두사와 역할 ARN은 나중에 변경할 수 있습니다. 저장할 때 Lovable이 접근 권한을 다시 확인하므로 새 접두사를 쓰려면 먼저 권한 정책을 업데이트하세요. 접두사를 지우면 Lovable은 버킷 루트에 쓰는데, 권한 정책은 이 위치를 허용하지 않습니다. 버킷은 변경할 수 없습니다. 다른 버킷을 사용하려면 새 내보내기를 만드세요.
버킷이 더 이상 존재하지 않으면 Lovable은 내보내기를 일시 중지하고 실행은 실패합니다. 버킷 문제를 해결한 뒤 Schedule 스위치로 내보내기를 재개하세요.
Amazon Athena로 쿼리하기
내보내기의 source= 폴더를 가리키는 외부 테이블을 만드세요. Athena는 그 아래의 모든 실행과 구간을 읽습니다. workspace=와 export= 폴더 이름은 실제 객체 키에서 복사하세요.
CREATE EXTERNAL TABLE lovable_audit_logs (
id string, `timestamp` string, workspace_id string, action string,
actor_id string, actor_type string, actor_display_name string,
target_id string, target_type string, target_display_name string,
status string, error string, status_message string, ip_address string,
user_agent string, client_platform string, otel_trace_id string,
otel_span_id string, details string
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
WITH SERDEPROPERTIES ('ignore.malformed.json' = 'true')
STORED AS TEXTFILE
LOCATION 's3://acme-lovable-exports/lovable-export/workspace=workspace_01k7c3m2x8f9qv0b6t4n5r2hzd__acme-corp/export=0f8e4c2a-6b1d-4f3e-9a7c-2d5b8e1f4a90__compliance-audit-log-export/source=audit_logs/'쿼리할 때는 다음 사항을 참고하세요.
timestamp는2026-10-13 09:41:07.123456같은 텍스트입니다.from_iso8601_timestamp(replace("timestamp", ' ', 'T') || 'Z')로 읽으세요.- 감사 로그의
details는 JSON 문자열입니다.json_extract_scalar(details, '$.name')로 필드를 읽으세요. SELECT DISTINCT나row_number() OVER (PARTITION BY id)등을 사용해id마다 행을 하나만 남기는 방식으로 중복을 제거하세요.
문제 해결
실행이 실패하면 실행 아래의 메시지에 확인할 항목이 표시됩니다. 예를 들면 신뢰 정책이나 버킷과 접두사에 대한 쓰기 권한입니다. 일반적인 실행 문제는 문제 해결을 참고하세요.
관련 주제
감사 로그를 SIEM 또는 클라우드 스토리지로 내보내기ent
워크스페이스 감사 로그를 Amazon S3, Google Cloud Storage, Azure Blob Storage, Splunk, Azure Log Analytics로 정기적으로 내보냅니다. Lovable은 1시간 또는 3시간마다 새 데이터를 전달합니다.
Lovable 로그를 Azure Blob Storage로 내보내기ent
Lovable에서 Azure Blob Storage 컨테이너로 정기 데이터 내보내기를 설정합니다. Lovable은 Microsoft Entra 페더레이션 자격 증명으로 로그인하고 gzip으로 압축한 JSON Lines 파일을 씁니다.