Skip to content
LangSmith 文档版本 跟随上游 源快照 4d2acd31 更新于 2026-10-18

自带 IAM 角色(AWS)

为 LangSmith BYOC 创建客户管理的 IAM 角色,从预置角色中移除 IAM 管理权限,并使用现有角色进行部署。

自带 IAM(BYOIAM)让你创建和管理 LangSmith BYOC 数据平面所使用的 AWS IAM 资源。你控制角色、策略和权限边界,而 LangChain 使用这些资源来预置和运维数据平面。

如果你希望由 LangChain 管理 IAM 资源,请遵循标准的 BYOC 入门指南。

开始之前

完成 BYOC 先决条件,以获得一个已启用 BYOC 的 LangSmith 组织。

创建 IAM 资源

byoiam Terraform 模块创建共享的数据平面角色、策略和 Karpenter 实例配置文件。对使用这些角色的所有区域和数据平面,每个 AWS 账户应用一次。

要创建 IAM 资源:

  1. 为计划部署数据平面的账户配置 AWS 服务商。
  2. 将该模块添加到你的 Terraform 配置中。将 regions 设置为这些角色需要运行的受支持 AWS 区域。
  3. (可选)将 permissions_boundary_arn 设置为你的 IAM 权限边界策略的 ARN。该模块会将它应用于其创建的所有角色,服务关联角色除外。
  4. 使用 service_linked_roles_to_create 创建缺失的服务关联角色。默认情况下不会创建任何服务关联角色。省略现有角色,或先将它们导入 Terraform。
  5. 初始化 Terraform,审核计划,并在你的账户中应用它。

以下配置为两个区域创建共享 IAM 资源:

hcl
module "byoiam" {
  source = "github.com/langchain-ai/terraform//modules/byoc/aws/byoiam?ref=main"

  regions = ["us-east-1", "us-west-1"]
}

从预置角色中移除 IAM 管理权限

langsmith-byoc-role Terraform 模块创建 LangChain 用于管理你的数据平面时承担的跨账户角色。

创建 IAM 资源后,配置预置角色:

  1. 使用 Settings > Data Planes 中 Data Planes 标题旁的按钮复制外部 ID。将其作为 external_id 传递给角色模块。该角色的信任策略必须在其 ExternalId 条件中使用此值。
  2. 在你的 langsmith-byoc-role 模块配置中设置 allow_iam_management_permissions = false。
  3. 审核并应用 Terraform 更改。保留 crossplane_role_arn 输出以供创建数据平面时使用。

设置 allow_iam_management_permissions = false 会更改该角色的权限:

  • 已移除:IAM 创建、修改和删除权限,包括服务关联角色创建。
  • 已保留:IAM 读取权限、限定范围的 iam:PassRole,以及用于使用和验证你现有资源的 iam:SimulatePrincipalPolicy。

启用 allow_delete_permissions 不会恢复 IAM 管理权限。

如果你还想自带 VPC,请设置 allow_vpc_creation_permissions = false,并在 vpc_ids 中提供 VPC ID。

使用现有角色部署数据平面

WARNING

你必须使用 byoiam Terraform 模块来创建 LangSmith 所需的准确 IAM 角色。LangSmith 在部署数据平面之前会对这些 IAM 资源进行大量验证。

Use existing IAM roles 复选框将数据平面配置为使用你创建的 IAM 资源。

要部署数据平面:

  1. 前往 Settings > Data Planes 并创建一个数据平面。
  2. 提供 BYOC 入门中描述的名称、AWS 区域、网络配置和负载均衡器访问方式。选择一个包含在该模块 regions 输入中的区域。
  3. 将预置角色的 crossplane_role_arn 输出用于 AWS IAM role ARN。
  4. 在提交请求前选择 Use existing IAM roles。

在入门指南中继续了解预置和私有连接。

另请参阅


BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。