38 lines
3.0 KiB
Markdown
38 lines
3.0 KiB
Markdown
# 로컬 실행과 자료 보호
|
|
|
|
## 실행 주체와 권한
|
|
|
|
사용자는 FESA를 로컬에서 실행한다. 현재 제품에 계정·로그인·원격 API·서비스 인증은 없다.
|
|
실행 권한과 파일 접근 권한은 실행 중인 Windows 계정의 권한을 따른다. 제품 내부의
|
|
사용자별 권한 분리나 비신뢰 입력을 격리하는 sandbox가 있다고 가정하지 않는다.
|
|
실행에 사용하는 API key·서비스 token은 없으므로 발급·회전·폐기 절차도 현재 적용되지 않는다.
|
|
|
|
| 주체 | 허용되는 동작 | 조건과 금지되는 동작 |
|
|
| --- | --- | --- |
|
|
| 로컬 실행 사용자 | 입력 파일 읽기·해석·결과 저장 | 입력 읽기와 sibling 출력 위치의 OS 권한이 필요하다. 읽기 전용 입력 폴더에 대한 저장 성공을 보장하지 않는다. |
|
|
| 같은 결과 쌍을 쓰는 다른 실행 | lease 취득 후 실행 | 이미 점유된 쌍에는 쓰지 않는다. 점유 해제 목적으로 다른 프로세스의 lock을 임의 삭제하지 않는다. |
|
|
| 개발·검증 작업 | 승인된 입력의 작업 복사본에서 실행 | 기준자료 원본을 실행 위치로 사용하여 로그·결과를 만들거나 원본 값을 보정하지 않는다. |
|
|
| 자동화된 변경 작업 | 요청 범위의 코드·문서·검사 수정 | 원격 전송·외부 solver·비용 발생·release·파괴 작업은 명시적으로 승인된 범위에 한정한다. |
|
|
|
|
## 파일 실패와 기록
|
|
|
|
입력 읽기 실패·잘못된 문법·미지원 의미를 정상 빈 모델로 바꾸지 않는다.
|
|
출력 lease 생성 실패나 점유 충돌은 저장 실패다. Lease 취득 전에 공개 파일을 truncate하지 않는다.
|
|
해석·로그 close·candidate write·self-check·close·최종 교체 중 실패가 나면 정상 최종 결과를
|
|
새로 공개하지 않는다. 기존 최종 HDF5는 보존하지만 로그는 실패 진단으로 갱신될 수 있다.
|
|
|
|
기록 대상은 입력·모델·해법·저장 오류, source 위치·keyword·entity identity,
|
|
지원 의미의 warning과 해당 procedure의 증분·반복 기록이다. 로그는 운영 진단이며
|
|
변조 방지 감사 저장소가 아니다. 이전 HDF5의 존재를 이번 실행 성공의 증거로 사용하지 않는다.
|
|
|
|
## 자료 취급의 경계
|
|
|
|
기준 INP·CSV·TXT는 읽기 전용 검증 자산으로 취급한다. 원본 hash·identity를 보존하며
|
|
누락·충돌·불일치를 복원이나 zero-clamp로 숨기지 않는다.
|
|
로그와 결과에는 입력 경로·source 이름·물리 값이 들어갈 수 있다. 로컬 실행 승인은
|
|
이 자료의 외부 전송 승인까지 포함하지 않는다.
|
|
|
|
외부 배포 대상·dependency 재배포 조건·지원 환경은 아직 확정되지 않았다.
|
|
외부 입력의 격리나 자료 공유·보관 기간에 대한 별도 정책도 정해진 것으로 기록하지 않는다.
|
|
이 범위를 도입하는 작업에서는 적용할 사용 주체·공유 범위·파일 권한을 사용자와 정한다.
|