AgentConnect
组建团队

变量与密钥

为整个组织一次性设置 Runtime 环境值,或直接在单个 Agent 上设置。

变量和密钥会成为 Agent Runtime 中的环境变量。在组织级别定义一次共享值,或者让它只属于某一个 Agent。

创建组织变量或只写密钥
范围管理位置适用于
组织设置 → 变量与密钥所有或选定的 Agent
AgentAgent → 配置单个 Agent

变量用于端点、功能开关等普通配置。密钥用于凭证以及其他保存后不应再显示的值。

在多个 Agent 之间共享一个值

只有组织所有者可以管理组织注册表:

  1. 打开设置,找到变量与密钥。
  2. 选择添加,然后选择变量或密钥。
  3. 输入一个标准的环境变量名,例如 SERVICE_URL 或 SERVICE_API_KEY,以及它的值。
  4. 选择所有 Agent或选定 Agent。
  5. 保存该条目。

名称可以包含字母、数字和下划线,且不能以数字开头。

所有 Agent会把该条目分配给你能管理的每个 Agent,并自动应用到你之后配置的 Agent。选定 Agent只把它应用到你选择的 Agent。选择器只列出你能管理的 Agent;编辑该选择不会移除对其他私有 Agent 的现有分配。

已分配的条目会出现在 Agent 的变量或密钥卡片上,并带有组织标签。它在那里是只读的。所有者在设置中编辑或轮换它;其他 Agent 编辑者仍然可以管理该 Agent 的本地条目。

在单个 Agent 上设置一个值

打开 Agent 的配置标签页,然后编辑它的变量或密钥卡片。这些条目只属于该 Agent。

创建 Agent 时,最后一步变量和密钥会添加同样的 Agent 本地值。设置为所有 Agent的组织条目会在 Agent 创建时应用。

优先级

当 Agent 上也有同名条目时,已分配的组织条目通常优先:

组织条目Agent 条目生效值
变量变量组织变量
密钥变量或密钥组织密钥
变量密钥拒绝

最后一种情况会被拒绝,因为可读的变量不能取代只写的密钥。被覆盖的 Agent 条目会作为后备保留,在组织分配被移除或删除后重新生效。

组织级名称在变量和密钥之间是唯一的。名称和类型在创建后不能更改;若要重命名或更改类型,请删除并重新创建该条目。

密钥处理

密钥值是只写的。保存后,AgentConnect 只显示名称和掩码;编辑时提供的是替换值,而不是读取当前值。变量值对能查看所分配 Agent 的人仍然可见,所以不要把凭证存为变量。

只写控制的是人们能通过产品取回什么,而不是值在各处如何存储。对于 AgentConnect OSS,请配置密钥存储加密,以保护控制平面数据库中静态存储的值。运行 Agent 的 Daemon 会在 Agent 的本地配置文件中保留一份解析后的值,运行 Daemon 的操作系统用户可以读取它。请把你连接的每台机器都视为可以信任其上所放置 Agent 的密钥的机器。

密钥对 Agent Runtime 及其工具可用。如果已知的密钥字面值出现在 Agent 输出中,AgentConnect 会尝试对其打码,但打码不是安全边界。只给每个 Agent 它需要的密钥,并使用适当的权限和沙箱隔离。

变量和密钥只以环境值的形式到达 Agent。它们不会展开 Agent 描述、定时任务、集成设置或其他配置中的占位符。

Kubernetes 和 Docker 凭证

有两个名称会改为以文件形式交付,因为需要它们的工具期望的是路径而不是值:

你设置的Agent 的工具得到的
KUBECONFIG_DATAKUBECONFIG,指向写出的 kubeconfig 文件
DOCKER_CONFIG_DATA(或较旧的 DOCKER_AUTH_CONFIG)DOCKER_CONFIG,指向写出的配置目录

把文件的完整内容放入 …_DATA 密钥。AgentConnect 会在 Agent 工作期间把它写成一个仅所有者可读的文件,并让 kubectl 或 docker 指向该文件。请只设置 …_DATA 密钥或对应的指针变量之一,不要两者都设。

更新与移除

轮换、重新指定目标或删除组织条目会更新受影响的 Agent 并重启它们,使后续工作使用新环境。如果在意正在进行的轮次,请在空闲时段轮换。

移除分配会恢复同名的 Agent 本地后备值。如果没有后备值,该值会从之后的 Runtime 进程中消失。

How is this guide?

本页目录

How is this guide?