新闻详情

新闻详情

首页 / 资讯中心 / 详情

DNAnexus 集成安全认证实践指南:从 DX_SECURITY_CONTEXT 到令牌生命周期管理

发布时间:2026/9/10 10:03:10来源:尧图网络
DNAnexus 集成安全认证实践指南:从 DX_SECURITY_CONTEXT 到令牌生命周期管理
DNAnexus 集成安全认证实践指南从 DX_SECURITY_CONTEXT 到令牌生命周期管理【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills本指南以 scientific-agent-skills 仓库中dnanexus-integration技能基线验证于 2026-07-23对应dxpy0.410.0详见 skills/dnanexus-integration/references/sources.md为核心系统讲解在构建、运行和运维 DNAnexus 基因组学工作负载时必须掌握的认证与上下文机制。读者将掌握交互式登录与自动化令牌登录的正确姿势、配置优先级与上下文冲突的排障方法、作业内凭证的使用边界以及令牌轮换、撤销和认证失败排查的完整操作流程从而在敏感基因组数据环境下安全、合规地使用dxCLI 与dxpy。认证基本原则令牌即用户身份DNAnexus 的 bearer token不记名令牌会冒充创建它的用户它继承该用户的项目访问权限并可以启动计费任务。因此持有令牌等同于持有该用户的临时身份必须将DX_SECURITY_CONTEXT当作最高等级的秘密对待。根据 skills/dnanexus-integration/references/authentication.md 的明确要求安全底线包括绝不打印、记录、序列化、返回或提交DX_SECURITY_CONTEXT。绝不将令牌直接写入源代码、notebook、输入 JSON、作业属性tags/properties或命令输出。绝不通过读取或导出整个环境变量的方式来定位令牌。只使用用户提供的具名 DNAnexus 凭证或来自秘密管理器的注入值。绝不将令牌发送到任何非 DNAnexus 端点。特别注意dx env与dx env --bash会明文显示当前活动令牌。这两个命令绝不能出现在被捕获的终端会话、CI 日志、支持包support bundle或 Agent 输出中。类似的禁令同样适用于 Upload Agent 的ua --env命令见 skills/dnanexus-integration/references/data-operations.md。这种安全约定也被仓库的辅助工具落地为可验证的检查validate_dxapp.py会在任意深度扫描dxapp.json中的内嵌凭证embedded-secret检查码同时对access.network、access.project: ADMINISTER等过度授权配置给出告警对应测试位于 tests/dnanexus-integration/test_scripts.py 的AccessAndSecretTests类中。交互式登录人类会话的标准路径安装 CLI推荐隔离工具环境详见 skills/dnanexus-integration/SKILL.mduv tool install dxpy0.410.0 dx --version在项目内使用 Python 时uv add dxpy0.410.0然后执行交互式认证dx login dx whoami dx select dx pwd关键语义dx login将 CLI 状态存储在~/.dnanexus_config/下。使用dx whoami与dx pwd验证身份和当前项目不会暴露令牌。对于 SSO 账户如果组织要求可在My Profile → API Tokens中创建 API 令牌。保持登录提示为交互式避免将令牌值写入 shell 历史或终端转录中。交互式登录应作为人类会话的唯一推荐路径对于非交互环境则应切换到下面的令牌注入模式而不是依赖dx login --token之类的命令行传参方式。令牌登录与自动化通过环境变量注入秘密CLI 虽然支持dx login --token TOKEN但把字面令牌放在命令行上会通过 shell 历史或进程检查暴露风险。推荐的安全自动化流程是在 DNAnexus UI 中创建短期有效令牌。使用专用用户/服务身份只授予其完成任务所需的最小项目访问权限。将完整的安全上下文存储在 CI 或编排系统的秘密管理器中使用精确键名DX_SECURITY_CONTEXT。只把这一单个键直接注入进程环境。在日志中屏蔽该键且永远不要在认证期间开启 shell 追踪tracing。用dx whoami验证身份不要使用dx env。操作结束后从进程环境中移除该秘密。一个至关重要的格式约束DX_SECURITY_CONTEXT必须是JSON 文本而不是裸的 UI 令牌。其秘密值形状为{ auth_token_type: Bearer, auth_token: secret-token }应由秘密管理器注入完整的序列化对象绝不要在带追踪的 shell 命令中自行拼装或 echo 该对象。权限边界与过期时间标准用户 API 令牌继承创建用户的项目访问权不是独立按项目作用域的。因此在签发专用身份的令牌之前应先最小化该身份的项目成员关系和访问级别如果组织提供更受限的凭证机制应优先使用最窄的可用作用域。关于过期时间根据当前平台指引未显式指定过期时间的令牌默认在一个月后过期。只要现实可行应选择更短的过期时间——例如按天计的任务就使用按天的短期令牌。各工具的环境变量差异不同 DNAnexus 客户端消费的变量名并不统一这是一个常见的混淆点客户端优先读取的环境变量回退行为dx/dxpyJSON 格式的DX_SECURITY_CONTEXT—dx-toolkit shell 引导脚本DX_AUTH_TOKEN仅在DX_SECURITY_CONTEXT缺失时将DX_AUTH_TOKEN映射为DX_SECURITY_CONTEXTDownload Agentdx-download-agentDX_API_TOKEN缺失时回退到~/.dnanexus_config/environment.json这些变量名本身都是敏感信息但在每个工具中并非通用替代品。只注入所选客户端需要的那个变量除非存在明确兼容性需求绝不要把一个秘密镜像到多个变量中例如不要为了保险同时设置DX_SECURITY_CONTEXT和DX_API_TOKEN。Download Agent 的专属变量行为在 skills/dnanexus-integration/references/data-operations.md 中有进一步说明。配置优先级环境变量高于已保存的 CLI 状态DNAnexus 工具链按以下顺序解析配置命令行覆盖参数shell 中已设置的环境变量~/.dnanexus_config/environment.json内置默认值这一顺序带来一个隐蔽的坑shell 中残留的旧DX_SECURITY_CONTEXT会覆盖后来的交互式dx login。也就是说dx login可能显示成功但后续命令实际仍在继续使用旧的 shell 凭证。如果环境变量覆盖了 CLI 状态dx login只是写入磁盘运行时仍优先读取环境。安全诊断上下文不匹配诊断时只使用非秘密命令dx whoami dx pwd如果需要丢弃 shell 环境、改用已保存的 CLI 状态source $HOME/.dnanexus_config/unsetenv dx whoami dx pwd如果需要反过来丢弃已保存的 CLI 状态重新认证dx clearenv绝不打印unsetenv或environment.json的内容来比较令牌值。dxpy复用了与dx完全相同的配置来源此处的诊断流程对 Python 自动化同样适用见 skills/dnanexus-integration/references/python-sdk.md。项目上下文显式优于环境隐式交互式场景下选择项目dx select dx pwd但在脚本中不要依赖环境里的隐式上下文而是显式使用项目 ID 与完整路径dx ls project-xxxx:/input dx download project-xxxx:/input/sample.bam --output sample.bam在 Python 中当需要计费上下文或执行可执行程序时应在搜索、上传、下载中显式传入projectproject-xxxximport dxpy files dxpy.find_data_objects( classnamefile, projectproject-xxxx, # 显式项目上下文 folder/results, recurseTrue, name*.bam, name_modeglob, stateclosed, describe{fields: {name: True, size: True, archivalState: True}}, limit100, )显式上下文可以防止脚本静默操作另一个终端里所选的项目。仓库的inspect_dxpy.py脚本skills/dnanexus-integration/scripts/inspect_dxpy.py将find_data_objects、DXProject、upload_local_file、download_dxfile等符号列为必需基线安装 SDK 后可用uv run --with dxpy0.410.0 skills/dnanexus-integration/scripts/inspect_dxpy.py --strict离线核对签名无需认证与联网。执行环境中的凭证作业内自动继承作业job会从平台获得作业作用域的安全上下文dxpy与dx会自动消费它。App 代码通常不应该自行解析DX_SECURITY_CONTEXT。在 App Execution EnvironmentAEE内部原样使用系统提供的 API host 与安全上下文。不要把作业环境转发给不需要它的子进程。如果某个子进程只需要本地计算就传递一个最小化的、经过允许列表过滤的环境。绝不上传环境转储、包含环境值的崩溃报告或 shell 追踪。不要用用户可控的主机名覆盖内部 API host。作业授权从根执行继承且会过期当前文档将作业认证令牌限制为 30 天与正常的作业最长运行时间一致。这一点在排障时尤为重要——运行中的长作业若出现AuthError往往意味着根授权过期或被撤销而重新运行需要一次新的授权启动无法复活旧作业详见 skills/dnanexus-integration/references/job-execution.md。端点安全只对官方端点使用凭证对于正常的外部客户端DNAnexus 使用以下官方主机api.dnanexus.com—— API 调用auth.dnanexus.com—— 认证platform.dnanexus.com—— Web 界面在作业内部平台可能提供一个私有 API 地址此时只接受系统提供的值。绝不要编写把令牌与任意 URL 拼接的代码。自定义 API 服务器覆盖属于高级管理功能只有在用户明确指明某个经过批准的 DNAnexus 部署并显式要求覆盖时才可以使用。从源码层看这一点同样是可验证的validate_dxapp.py会检查access.network是否被设为通配符broad-network告警引导开发者使用窄化的网络允许列表。轮换、登出与撤销dx logout结束 CLI 会话如果会话使用的是 API 令牌按当前文档说明登出会使该令牌失效。出现以下情况时应撤销令牌可能已被暴露其用户或自动化不再需要访问权限关联的脚本或服务已被下线底层账户权限发生了实质性变化。撤销具有破坏性使用该令牌认证的运行中作业和进行中的上传/下载会立即以AuthError终止且已产生的费用仍然计费。除非是紧急遏制场景撤销前务必确认受影响的执行与传输。疑似泄露后的处置流程立即停止暴露该凭证在不打印令牌的前提下识别活动的执行与传输轮换或撤销令牌审查项目成员关系与近期执行记录只重新签发短期有效的替代令牌。认证失败排查清单遇到AuthError、PermissionDenied或意外的项目可见性时按以下顺序排查运行dx whoami。运行dx pwd。检查是否有 shell 环境变量覆盖了已保存的 CLI 状态。确认对象存在于所声明的项目和区域中。确认账户具备所需的项目访问级别项目级别能力VIEW读取UPLOAD添加数据CONTRIBUTE运行作业并修改项目内容ADMINISTER成员管理与管理类操作检查令牌过期或已被撤销。检查组织/TRE 策略与下载限制。在保留理解受影响作业/传输所需证据之后再重新认证。特别强调不要通过自动放宽权限来应对认证失败。dxpy侧的配套建议还包括捕获DXAPIError时打印error.name与 HTTP 状态码如PermissionDenied、ResourceNotFound通常通过DXAPIError.name呈现而非顶层异常类并保留请求 ID 用于支持沟通但要对对象元数据脱敏见 skills/dnanexus-integration/references/python-sdk.md。与其他技能参考文档的配合认证上下文贯穿整个技能体系相关主题的完整资料还包括skills/dnanexus-integration/references/operations-and-troubleshooting.md —— 认证症状AuthError/PermissionDenied/登录后用户异常的深度排障以及支持包support bundle中该包含和绝不该包含的内容。skills/dnanexus-integration/references/data-operations.md —— 传输工具各自的凭证变量如 Upload Agent 的--auth-token、Download Agent 的DX_API_TOKEN与禁止将令牌写入 Docker 命令行或 compose 文件的约定。skills/dnanexus-integration/references/job-execution.md —— 作业/分析生命周期、AuthError在长作业中的成因与 30 天作业时限。skills/dnanexus-integration/references/python-sdk.md ——dxpy与dx共享的配置来源、永不打印的清单DX_SECURITY_CONTEXT、API 令牌值、dxpy.SECURITY_CONTEXT、完整进程环境。skills/dnanexus-integration/references/sources.md —— 版本基线与刷新流程升级前后可用 skills/dnanexus-integration/scripts/inspect_dxpy.py 离线核对 API 符号。小结一条贯穿始终的安全主线无论使用交互式登录还是秘密管理器注入DNAnexus 认证实践可以浓缩为三条主线令牌即用户身份必须按最高秘密对待环境变量优先级高于已保存 CLI 状态必须用非秘密命令诊断作业凭证自动继承且会过期必须遵循最小作用域与最短有效期。将这些原则与dx whoami/dx pwd的安全验证习惯、DX_SECURITY_CONTEXT的 JSON 注入格式以及吊销前的破坏性评估相结合就能在敏感基因组数据工作负载中既保证自动化效率又守住合规与安全边界。【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

expo-notifications 如何绕过 Expo 推送服务直接用 FCM 和 APNs 发送通知 2026/9/10 10:42:17

expo-notifications 如何绕过 Expo 推送服务直接用 FCM 和 APNs 发送通知

expo-notifications 如何绕过 Expo 推送服务直接用 FCM 和 APNs 发送通知 【免费下载链接】expo An open-source framework for making universal native apps with React. Expo runs on Android, iOS, and the web. 项目地址: https://gitcode.com/GitHub_Trending/ex/expo …

阅读更多 →
ruflo-cost-tracker 成本燃烧率观测:用 `cost-burn` 追踪生产环境的日烧钱速率与漂移告警 2026/9/10 10:42:17

ruflo-cost-tracker 成本燃烧率观测:用 `cost-burn` 追踪生产环境的日烧钱速率与漂移告警

ruflo-cost-tracker 成本燃烧率观测:用 cost-burn 追踪生产环境的日烧钱速率与漂移告警 【免费下载链接】ruflo 🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversatio…

阅读更多 →
管理软件化时代:为什么年轻人和资深CIO站在同一起跑线? 2026/9/10 10:42:17

管理软件化时代:为什么年轻人和资深CIO站在同一起跑线?

1. 管理模式软件化:从"人治经验"到"系统沉淀"的迁移这几年我明显感受到一个趋势:管理这件事,正在从"脑袋里的经验"变成"软件里的流程"。过去我们聊企业数字化,聊的往往是业务系统的上线—…

阅读更多 →
Spark调用大模型实战:mapPartitions并发控制与工程化落地 2026/9/10 10:42:17

Spark调用大模型实战:mapPartitions并发控制与工程化落地

如果你在数据团队里待过一阵子,大概率会遇到这种需求:给几百万条文本打标签、抽取实体、做情感分析,或者把用户聊天记录批量生成模型训练样本。业务方开口就是“用大模型跑一下就行”,但真到动手阶段才发现,把大模型接…

阅读更多 →
MarkItDown实战:用Python将PDF/Office批量转Markdown,高效对接LLM与RAG 2026/9/10 10:42:17

MarkItDown实战:用Python将PDF/Office批量转Markdown,高效对接LLM与RAG

做AI项目这几年,我最大的感受是:模型选型、Prompt调优这些事反而是最不占时间的,真正磨人的是把各种格式的资料喂给模型之前那一段“预处理”。领导甩来一个几十页的PDF培训材料,同事发来一个满是透视表的Excel,客户那…

阅读更多 →
CVAT 国际化完全指南:3 个 i18n 入口与语言包配置一次讲清 2026/9/10 10:39:16

CVAT 国际化完全指南:3 个 i18n 入口与语言包配置一次讲清

CVAT 国际化完全指南:3 个 i18n 入口与语言包配置一次讲清 【免费下载链接】cvat Computer Vision Annotation Tool (CVAT) is a leading platform for building high-quality visual datasets for vision AI. It offers open-source, cloud, and enterprise produc…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞