배경
현재 internal_chatbot 실행은 active organization membership과 workflow execute 권한을 확인하지만, Accepted ADR-0030과 Chatbot Deployment Target 계약은 내부 Chatbot 자체의 별도 이용 권한을 요구한다. Workflow를 일반 실행할 수 있다는 사실만으로 private Knowledge와 durable Conversation Memory를 사용하는 Chatbot에 접근할 수 있어서는 안 된다.
목표
내부 Chatbot deployment/version에 고정된 별도 이용 권한을 정의하고 관리·조회·preflight·Gateway 실행·Worker 재검증에 같은 정책을 적용한다. 권한이 없거나 회수된 사용자는 resource existence를 식별하거나 queue/provider/Memory side effect를 시작할 수 없다.
구현 범위
정책과 저장
- exact organization과 internal Chatbot deployment/version에 결박된 canonical access policy를 정의한다.
- 사용자 직접 grant와 팀 grant, 관리 권한, active/revoked lifecycle 및 정책 revision을 정의한다.
- workflow
execute, active membership, Knowledge permission/source ACL은 별도 필수 조건으로 유지하고 Chatbot 이용 권한으로 대체하지 않는다.
- 새 deployment/version이 기존 grant를 자동 상속하는지 여부를 공식 ADR/feature 문서에서 명시한다. 명시적 정책이 없으면 fail-closed한다.
관리 API와 UI
- active organization manager만 grant 조회·추가·회수할 수 있는 command/query API를 제공한다.
- 대상 사용자/팀의 현재 organization membership과 resource scope를 mutation 전에 검증한다.
- 최소 관리 UI 또는 기존 access-management UI 진입점을 제공하고 UI 우회 API 호출에도 동일한 서버 정책을 적용한다.
- 다른 organization의 사용자·팀·deployment와 숨겨진 resource 정보를 응답에 노출하지 않는다.
실행 경계
- run-info, run, Conversation Session create/resolve/turn/lifecycle에서 current user의 별도 Chatbot 이용 권한을 workflow dispatch, Memory write와 provider I/O 전에 확인한다.
- Gateway preflight 결과만 신뢰하지 않고 Worker admission에서도 deployment/version, subject, organization, policy revision과 revoke 상태를 재검증한다.
- revoke/delete는 새 실행과 다음 turn을 즉시 차단하며 이미 materialize된 raw context를 재사용하지 않는다.
- Public Chatbot과 Public client-held history 경로는 이 권한을 수용하거나 optional login으로 승격하지 않는다.
Audit·redaction·검증
- grant 생성·회수와 권한 거부를 canonical audit로 기록하되 raw transcript, token, prompt, private source와 hidden resource identity를 남기지 않는다.
- user/team/direct grant, cross-organization, stale revision, revoke race, API 우회, Worker redelivery와 Public 경계 회귀 테스트를 추가한다.
docs/engineering/protected-resource-feature-completion.md의 저장·관리·preflight·runtime·lifecycle·audit/redaction 경계를 모두 완료 또는 근거 있는 비적용으로 기록한다.
완료 기준
- workflow
execute만 가진 사용자는 내부 Chatbot run-info/run/Memory session을 사용할 수 없다.
- 별도 이용 권한, active membership, workflow
execute, current Knowledge permission/source ACL을 모두 통과한 사용자만 실행할 수 있다.
- 권한 회수 뒤 다음 요청과 Worker admission이 외부 I/O 전에 fail-closed한다.
- 관리 API/UI, Gateway, Worker가 동일한 policy와 revision을 사용하고 resource-hiding·audit 계약을 지킨다.
- Public Chatbot의 anonymous public-only 동작은 변경되지 않는다.
선행·관련
비범위
배경
현재
internal_chatbot실행은 active organization membership과 workflowexecute권한을 확인하지만, Accepted ADR-0030과 Chatbot Deployment Target 계약은 내부 Chatbot 자체의 별도 이용 권한을 요구한다. Workflow를 일반 실행할 수 있다는 사실만으로 private Knowledge와 durable Conversation Memory를 사용하는 Chatbot에 접근할 수 있어서는 안 된다.목표
내부 Chatbot deployment/version에 고정된 별도 이용 권한을 정의하고 관리·조회·preflight·Gateway 실행·Worker 재검증에 같은 정책을 적용한다. 권한이 없거나 회수된 사용자는 resource existence를 식별하거나 queue/provider/Memory side effect를 시작할 수 없다.
구현 범위
정책과 저장
execute, active membership, Knowledge permission/source ACL은 별도 필수 조건으로 유지하고 Chatbot 이용 권한으로 대체하지 않는다.관리 API와 UI
실행 경계
Audit·redaction·검증
docs/engineering/protected-resource-feature-completion.md의 저장·관리·preflight·runtime·lifecycle·audit/redaction 경계를 모두 완료 또는 근거 있는 비적용으로 기록한다.완료 기준
execute만 가진 사용자는 내부 Chatbot run-info/run/Memory session을 사용할 수 없다.execute, current Knowledge permission/source ACL을 모두 통과한 사용자만 실행할 수 있다.선행·관련
비범위