# 处理一份文件,就只开放这份文件 | EasyNet Source: https://easynet.run/cases/problems/one-file-task-access [easynet.run · 全部问题场景](https://easynet.run/cases#problem-scenarios) # 处理一份文件,就只开放这份文件 用户想整理一份会议纪要,授权弹窗却要求访问整个云盘。任务只有一份文件,账号里还有其他客户的资料。写一句“只读这一份”不能改变连接器实际拿到的权限,任务范围和技术访问范围需要在入口处对上。 一次性整理,上传检查过的副本或者用原平台单文件分享通常最省事。能在本机完成就无需开放云端访问。多个助手需要持续使用同一份仍在更新的资料时,才值得考虑接出按对象限定的操作。 提供方可以实现“读取获批纪要段落”或“生成该纪要的整理草稿”,输入绑定文件对象和版本,输出必要摘要及原文定位。通过 EasyNet 接入的是这个有限动作,不是任意路径读取器。Context 目录映射也不能被当作单文件授权已经完成的证据。 适配器要将调用身份与获准文件关联,替换另一个文件编号时在服务端拒绝。若上游只提供全盘凭据,那份秘密仍要由提供方保管;页面必须说明这是适配器限制,不是原平台已经发出了原生单文件权限。 文件正文可能不离开提供方,但摘要仍可能包含敏感内容。需要明确哪些字段允许输出、生成草稿存在哪里、谁能下载以及什么时候清理。任务结束后停止后续读取,与保留已经生成的整理结果是两个独立决定。 用两份测试文件验证:获准文件可处理,替换编号或跳转路径不能读到另一份;处理期间更新文件时,结果明确标出所用版本。对象选择、身份绑定和交付物管理需要补齐,不能只展示一次成功摘要就说单文件访问已经安全落地。 01 选会议纪要 指定文件和版本 02 服务端核对对象 另一个文件编号被拒绝 03 返回必要草稿 注明版本与结果保存规则 授权对象、处理版本和交付结果分别明确。 拒绝替换文件编号 本地示例中的 grant 假定已经由服务端验证;字典不是可由模型自行提交的授权凭据。 本地示例 · python ``` grant = {"file_id": "minutes-17", "version": "v3"} def approved_object(file_id, version): if (file_id, version) != (grant["file_id"], grant["version"]): raise PermissionError("file or version outside grant") return {"file_id": file_id, "version": version} print(approved_object("minutes-17", "v3")) try: approved_object("client-B-notes", "v3") except PermissionError as error: print(error) ``` 预期结果:只接受 minutes-17 的 v3;另一个客户文件被拒绝,不读取任何真实云盘。 接入时的检查项 用另一份文件标识替换请求是否被拒绝。 文件更新后是否清楚标明实际处理版本。 访问结束后是否不能再次读取,而已有结果的保留规则仍可查询。 源码与接入资料 [函数接入指南](https://easynet.run/docs/connect/function) [上下文接入指南](https://easynet.run/docs/connect/context) [MCP 官方:授权规范(2025-11-25)](https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization)