跳转到内容

基于角色的访问控制(RBAC)

CrewAI AMP 中的 RBAC 通过两层来实现安全、可扩展的访问管理:

  1. Feature permissions - 控制每个 role 在平台上能做什么(manage、read 或 no access)
  2. Entity-level permissions - 对单个 automations、environment variables、LLM connections 和 Git repositories 的细粒度访问控制
CrewAI AMP 中的 RBAC 概览

CrewAI workspace 中的每个成员都会被分配一个 role,该 role 决定了他们对各项功能的访问范围。

你可以:

  • 使用预定义 roles(Owner、Member)
  • 创建符合特定权限需求的自定义 roles
  • 随时通过设置面板分配 roles

你可以在 Settings → Roles 中配置用户和角色。

  1. 打开 Roles 设置

    在 CrewAI AMP 中进入 Settings → Roles

  2. 选择 role 类型

    使用预定义 role(OwnerMember),或者点击 Create role 定义一个自定义 role。

  3. 分配给成员

    选择用户并分配 role。你可以随时更改。

RoleDescription
Owner拥有所有功能和设置的完整访问权限。不能被限制。
Member对大多数功能有只读访问权限,可管理环境变量、LLM connections 和 Studio projects 的访问权限。不能修改组织或默认设置。
AreaWhere to configureOptions
Users & RolesSettings → RolesPredefined: Owner, Member; Custom roles
Automation visibilityAutomation → Settings → VisibilityPrivate; Whitelist users/roles

每个 role 对每个功能区域都有一个权限级别。三个级别分别是:

  • Manage - 完整读写权限(create、edit、delete)
  • Read - 仅查看
  • No access - 功能隐藏/不可访问
FeatureOwnerMember (default)Available levelsDescription
usage_dashboardsManageReadManage / Read / No access查看使用指标和分析
crews_dashboardsManageReadManage / Read / No access查看部署仪表板,访问 automation 详情
invitationsManageReadManage / Read / No access邀请新成员加入组织
training_uiManageReadManage / Read / No access访问 training/fine-tuning 界面
toolsManageReadManage / Read / No access创建和管理 tools
agentsManageReadManage / Read / No access创建和管理 agents
environment_variablesManageManageManage / No access创建和管理环境变量
llm_connectionsManageManageManage / No access配置 LLM provider connections
default_settingsManageNo accessManage / No access修改组织级默认设置
organization_settingsManageNo accessManage / No access管理账单、套餐和组织配置
studio_projectsManageManageManage / No access在 Studio 中创建和编辑 projects

最常见的 RBAC 问题之一是:“团队成员需要什么权限才能部署?”

要从 GitHub 仓库部署 automation,用户需要:

  1. crews_dashboards:至少 Read - 这是访问创建部署的 automations dashboard 所必需的
  2. Git repository 访问(如果启用了 Git repositories 的 entity-level RBAC):用户的 role 必须通过 entity-level permissions 获得对特定 Git repository 的访问
  3. studio_projects: Manage - 如果你在部署前先在 Studio 中构建 crew

要通过 Zip 文件上传部署 automation,用户需要:

  1. crews_dashboards:至少 Read - 这是访问 automations dashboard 所必需的
  2. 已启用 Zip deployments:组织不能在 organization settings 中禁用了 zip deployments
ActionRequired feature permissionsAdditional requirements
Deploy from GitHubcrews_dashboards: ReadGit repo entity access (if Git RBAC is enabled)
Deploy from Zipcrews_dashboards: ReadZip deployments must be enabled at the org level
Build in Studiostudio_projects: Manage
Configure LLM keysllm_connections: Manage
Set environment varsenvironment_variables: ManageEntity-level access (if entity RBAC is enabled)

Automation 级别访问控制(Entity Permissions)

Section titled “Automation 级别访问控制(Entity Permissions)”

除了组织级 roles 之外,CrewAI 还支持细粒度的 entity-level permissions,用于限制对单个资源的访问。

Automations 支持 visibility settings,可按用户或 role 限制访问。这在以下场景中很有用:

  • 保持敏感或实验性 automations 的私密性
  • 在大型团队或外部协作者之间管理可见性
  • 在隔离的上下文中测试 automations

部署可以配置为 private,这意味着只有在白名单中的 users 和 roles 才能与其交互。

你可以在 Automation → Settings → Visibility tab 中配置 automation-level access control。

  1. 打开 Visibility tab

    导航到 Automation → Settings → Visibility

  2. 设置可见性

    选择 Private 来限制访问。组织所有者始终保留访问权限。

  3. 加入白名单

    添加被允许查看、运行以及访问 logs/metrics/settings 的特定 users 和 roles。

  4. 保存并验证

    保存更改,然后确认未被加入白名单的用户无法查看或运行该 automation。

ActionOwnerWhitelisted user/roleNot whitelisted
View automation
Run automation/API
Access logs/metrics/settings
CrewAI AMP 中的 Automation Visibility 设置

当你为某个特定 automation 授予 entity-level access 时,可以分配以下 permission types:

PermissionWhat it allows
run执行该 automation 并使用其 API
traces查看 execution traces 和 logs
manage_settings编辑、重新部署、回滚或删除该 automation
human_in_the_loop回复 human-in-the-loop(HITL)请求
full_access以上全部

启用 entity-level RBAC 后,以下资源的访问也可以按用户或 role 进行控制:

ResourceControlled byDescription
Environment variablesEntity RBAC feature flag限制哪些 roles/users 可以查看或管理特定 env vars
LLM connectionsEntity RBAC feature flag限制对特定 LLM provider 配置的访问
Git repositoriesGit repositories RBAC org setting限制哪些 roles/users 可以访问特定已连接仓库

虽然 CrewAI 自带 Owner 和 Member roles,但大多数团队都能从创建自定义 roles 中受益。下面是一些常见模式:

适用于构建和部署 automations,但不管理组织设置的团队成员。

FeaturePermission
usage_dashboardsRead
crews_dashboardsManage
invitationsRead
training_uiRead
toolsManage
agentsManage
environment_variablesManage
llm_connectionsManage
default_settingsNo access
organization_settingsNo access
studio_projectsManage

适用于需要监控 automations 并查看结果的非技术 stakeholder。

FeaturePermission
usage_dashboardsRead
crews_dashboardsRead
invitationsNo access
training_uiRead
toolsRead
agentsRead
environment_variablesNo access
llm_connectionsNo access
default_settingsNo access
organization_settingsNo access
studio_projectsNo access

适用于管理基础设施设置,但可能不构建 agents 的平台运维人员。

FeaturePermission
usage_dashboardsManage
crews_dashboardsManage
invitationsManage
training_uiRead
toolsRead
agentsRead
environment_variablesManage
llm_connectionsManage
default_settingsManage
organization_settingsRead
studio_projectsNo access

需要帮助?

联系我们的支持团队,获取有关 RBAC 问题的帮助。