概述
团队协作开发 AI 应用时,需要通过 RAM 权限策略精细控制 RAM 用户(子账号)或 STS 临时凭证对 AI Registry(AI 治理中心)的访问范围,在保障协作效率的同时降低越权操作风险。
本文介绍两种配置方式:使用系统预定义策略快速授权,或创建自定义策略实现细粒度权限控制。
前提条件
已拥有阿里云主账号,并已开通 AI 治理中心服务。
已创建至少一个 AI 治理中心工作空间(命名空间)。
已了解 ,并知道如何在 RAM 控制台创建用户和配置权限策略。
方式一、使用系统预定义策略(推荐新手使用)
AI 治理中心提供以下预定义权限策略,直接在 RAM 控制台将其附加给 RAM 用户或用户组即可,无需手动编写策略。
策略名称 | 说明 |
AliyunAIRegistryReadOnlyAccess | 只读权限。包含客户端读取权限及控制台只读操作(查看工作空间、Prompt 等),但不能创建、修改或删除。 |
AliyunAIRegistryFullAccess | 完全权限。可对 AI 治理中心下所有资源执行任意操作。 |
AliyunAIRegistryPromptFullAccess | Prompt 完全权限。可对 Prompt 资源执行创建、编辑、发布、删除、调试等全部操作。 |
AliyunAIRegistryNamespaceFullAccess | 工作空间完全权限。可对工作空间(命名空间)执行创建、编辑、删除等全部操作。 |
AliyunAIRegistrySkillFullAccess | Skill 完全权限。可对 Skill 资源执行创建、编辑、发布、上下线、删除等全部操作。 |
操作步骤
登录 RAM 控制台。
在左侧导航栏选择身份管理 > 用户,找到目标 RAM 用户。
单击新增授权,在策略搜索框中输入
AIRegistry。选择所需的预定义策略,单击确认新增授权。
以 RAM 用户身份登录 AI 治理中心控制台,确认可正常执行已授权操作。
只需查看资源信息时,选择 AliyunAIRegistryReadOnlyAccess;需要完整管理能力时,选择 AliyunAIRegistryFullAccess。
方式二、自定义权限策略
当预定义策略无法满足需求时(例如只允许访问特定工作空间、只允许操作特定类型的资源),可以创建自定义权限策略。
2.1 基本概念
自定义策略由以下要素组成:
Effect:Allow(允许)或 Deny(拒绝)。
Action:允许执行的操作类型。
Resource:策略生效的资源范围。
Action(操作类型)
AI 治理中心的 Action 分为两个层面:
通用 Action——客户端访问使用:
Action | 说明 |
airegistry:Read | 客户端只读权限,用于应用运行时通过 SDK / API 拉取资源(如 Prompt、Skill)。仅覆盖客户端读取场景,不包含任何控制台操作权限 |
airegistry:Write | 客户端写权限,用于应用运行时通过 SDK / API 写入资源(如 Skill)。仅覆盖客户端写入场景,不包含任何控制台操作权限。当前 Skill 已开放客户端写接口,Prompt 暂未开放 |
接口级 Action——控制台操作使用(按具体 API 细粒度授权):
分类 | Action | 说明 |
工作空间 | airegistry:CreateNamespace | 创建工作空间 |
airegistry:CreateNamespaceWithSource | 创建工作空间 | |
airegistry:ListNamespaces | 查询工作空间列表 | |
airegistry:ListNamespaceBySource | 查询工作空间列表 | |
airegistry:GetNamespace | 获取工作空间详情 | |
airegistry:UpdateNamespace | 更新工作空间 | |
airegistry:DeleteNamespace | 删除工作空间 | |
Prompt | airegistry:ListPrompts | 查询 Prompt 列表 |
airegistry:GetPrompt | 获取 Prompt 详情 | |
airegistry:CreatePrompt | 创建 Prompt | |
airegistry:UpdatePrompt | 更新 Prompt | |
airegistry:DeletePrompt | 删除 Prompt | |
airegistry:ListPromptVersions | 查询 Prompt 版本列表 | |
airegistry:GetPromptVersion | 获取 Prompt 版本信息 | |
airegistry:GetPromptVersionDetail | 获取 Prompt 版本详情 | |
airegistry:CreatePromptVersion | 创建 Prompt 版本 | |
airegistry:UpdatePromptVersion | 更新 Prompt 版本 | |
airegistry:SubmitPromptVersion | 发布 Prompt 版本 | |
airegistry:DeletePromptVersion | 删除 Prompt 版本 | |
airegistry:GetPromptGovernance | 获取 Prompt 治理信息 | |
调试与优化 | airegistry:InvokePromptDebugStream | 调试 Prompt(流式) |
airegistry:InvokePromptOptimizeStream | 优化 Prompt(流式) | |
airegistry:GetSupportedModels | 获取支持的模型列表 | |
Skill | airegistry:CreateSkillDraft | 创建 Skill 草稿 |
airegistry:UpdateSkillDraft | 更新 Skill 草稿 | |
airegistry:DeleteSkillDraft | 删除 Skill 草稿 | |
airegistry:SubmitSkillVersion | 提交 Skill 版本 | |
airegistry:PublishSkillVersion | 发布 Skill 版本 | |
airegistry:ForcePublishSkillVersion | 强制发布 Skill 版本 | |
airegistry:UpdateSkillLabels | 更新 Skill 标签 | |
airegistry:OnlineSkill | 上线 Skill | |
airegistry:OfflineSkill | 下线 Skill | |
airegistry:UpdateSkillScope | 更新 Skill 作用域 | |
airegistry:GetSkillDetail | 获取 Skill 详情 | |
airegistry:GetSkillVersionDetail | 获取 Skill 版本详情 | |
airegistry:DownloadSkillVersion | 下载 Skill 版本 | |
airegistry:ListSkills | 查询 Skill 列表 | |
airegistry:DeleteSkill | 删除 Skill | |
airegistry:UploadSkill | 上传 Skill | |
airegistry:UploadSkillViaOss | 通过 OSS 上传 Skill | |
airegistry:DownloadSkillVersionViaOss | 通过 OSS 下载 Skill 版本 |
airegistry:Read 仅用于客户端只读访问,airegistry:Write 仅用于客户端写入访问,均不包含控制台的任何操作权限。控制台操作必须通过接口级 Action 逐一授权。如果需要同时授予客户端读写和控制台操作权限,需要将 airegistry:Read、airegistry:Write 与所需的接口级 Action 组合配置。
也可以使用 airegistry:* 作为 Action,表示同时授予客户端读写权限和所有接口级操作权限。
Resource(资源范围)
资源通过 ARN(Alibaba Cloud Resource Name)来标识,格式如下:
acs:airegistry:*:*:instance/saas/{工作空间 ID}/{domain}/{资源类型}/{资源名称}其中:
工作空间 ID:在 AI 治理中心控制台查看工作空间 ID。
domain:当前固定填写 DEFAULT。
资源类型:prompt、skill、mcp、agent 等,按资源类别区分。
资源名称:具体资源的名称。
使用通配符 * 可匹配多个资源。
2.2 授权粒度选择
根据实际需要,选择不同的授权粒度:
授权范围 | Resource 填写示例 |
所有工作空间下的所有资源 | acs:airegistry:*:*:instance/saas/* |
指定工作空间下的所有资源 | acs:airegistry:*:*:instance/saas/{工作空间 ID}/* |
指定工作空间下某类资源(Prompt) | acs:airegistry:*:*:instance/saas/{工作空间 ID}/DEFAULT/prompt/* |
指定工作空间下某类资源(Skill) | acs:airegistry:*:*:instance/saas/{工作空间 ID}/DEFAULT/skill/* |
精确到某个具体资源 | acs:airegistry:*:*:instance/saas/{工作空间 ID}/DEFAULT/prompt/my-prompt |
2.3 创建自定义策略步骤
登录 RAM 控制台。
在左侧导航栏选择权限管理 > 权限策略。
单击创建权限策略,选择脚本编辑模式。
参考下方示例编写策略内容,单击确定。
将创建好的策略附加给目标 RAM 用户或用户组。
以 RAM 用户身份登录 AI 治理中心控制台,确认可正常执行已授权操作。
2.4 常见场景策略示例
场景一:允许 RAM 用户通过客户端只读访问指定工作空间
适用于:应用运行时通过 SDK / API 拉取 Prompt 等资源,只需只读权限。
{
"Statement": [
{
"Effect": "Allow",
"Action": "airegistry:Read",
"Resource": "acs:airegistry:*:*:instance/saas/{您的工作空间 ID}/*"
}
],
"Version": "1"
}场景二:允许 RAM 用户管理指定工作空间的所有资源
适用于:让团队成员拥有某个工作空间的完整管理权限(控制台 + 客户端)。
{
"Statement": [
{
"Effect": "Allow",
"Action": "airegistry:*",
"Resource": "acs:airegistry:*:*:instance/saas/{您的工作空间 ID}/*"
}
],
"Version": "1"
}场景三:仅允许 RAM 用户管理 Prompt 资源
适用于:Prompt 工程师只需要操作 Prompt,不需要接触其他类型的资源。
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"airegistry:Read",
"airegistry:GetPrompt",
"airegistry:CreatePrompt",
"airegistry:UpdatePrompt",
"airegistry:DeletePrompt",
"airegistry:ListPromptVersions",
"airegistry:GetPromptVersion",
"airegistry:GetPromptVersionDetail",
"airegistry:CreatePromptVersion",
"airegistry:UpdatePromptVersion",
"airegistry:SubmitPromptVersion",
"airegistry:DeletePromptVersion",
"airegistry:GetPromptGovernance",
"airegistry:InvokePromptDebugStream",
"airegistry:InvokePromptOptimizeStream"
],
"Resource": "acs:airegistry:*:*:instance/saas/{您的工作空间 ID}/DEFAULT/prompt/*"
},
{
"Effect": "Allow",
"Action": [
"airegistry:ListNamespaces",
"airegistry:ListNamespaceBySource",
"airegistry:GetNamespace",
"airegistry:GetSupportedModels"
],
"Resource": "acs:airegistry:*:*:instance/saas/*"
},
{
"Effect": "Allow",
"Action": "airegistry:ListPrompts",
"Resource": "acs:airegistry:*:*:instance/saas/{您的工作空间 ID}/DEFAULT/prompt"
}
],
"Version": "1"
}ListPrompts 是集合级操作,其 Resource 为 .../prompt(不带 /*)。
如果不需要限定到特定工作空间,也可以使用预定义策略 AliyunAIRegistryPromptFullAccess。
场景四:允许客户端只读访问,同时允许在控制台管理 Prompt
适用于:应用运行时可通过客户端拉取资源,同时允许在控制台管理 Prompt。
{
"Statement": [
{
"Effect": "Allow",
"Action": "airegistry:Read",
"Resource": "acs:airegistry:*:*:instance/saas/{您的工作空间 ID}/*"
},
{
"Effect": "Allow",
"Action": [
"airegistry:CreatePrompt",
"airegistry:UpdatePrompt",
"airegistry:DeletePrompt",
"airegistry:CreatePromptVersion",
"airegistry:UpdatePromptVersion",
"airegistry:SubmitPromptVersion",
"airegistry:DeletePromptVersion",
"airegistry:InvokePromptDebugStream",
"airegistry:InvokePromptOptimizeStream"
],
"Resource": "acs:airegistry:*:*:instance/saas/{您的工作空间 ID}/DEFAULT/prompt/*"
}
],
"Version": "1"
}场景五:仅允许 RAM 用户管理 Skill 资源
适用于:Skill 开发者只需要操作 Skill,不需要接触其他类型的资源。
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"airegistry:Read",
"airegistry:Write",
"airegistry:UpdateSkillDraft",
"airegistry:DeleteSkillDraft",
"airegistry:SubmitSkillVersion",
"airegistry:PublishSkillVersion",
"airegistry:ForcePublishSkillVersion",
"airegistry:UpdateSkillBizTags",
"airegistry:UpdateSkillLabels",
"airegistry:OnlineSkill",
"airegistry:OfflineSkill",
"airegistry:UpdateSkillScope",
"airegistry:GetSkillDetail",
"airegistry:GetSkillVersionDetail",
"airegistry:DownloadSkillVersion",
"airegistry:DeleteSkill",
"airegistry:DownloadSkillVersionViaOss"
],
"Resource": "acs:airegistry:*:*:instance/saas/{您的工作空间 ID}/DEFAULT/skill/*"
},
{
"Effect": "Allow",
"Action": [
"airegistry:ListNamespaces",
"airegistry:ListNamespaceBySource",
"airegistry:GetNamespace"
],
"Resource": "acs:airegistry:*:*:instance/saas/*"
},
{
"Effect": "Allow",
"Action": [
"airegistry:ListSkills",
"airegistry:CreateSkillDraft",
"airegistry:UploadSkill",
"airegistry:UploadSkillViaOss"
],
"Resource": "acs:airegistry:*:*:instance/saas/{您的工作空间 ID}/DEFAULT/skill"
}
],
"Version": "1"
}ListSkills、CreateSkillDraft、UploadSkill、UploadSkillViaOss 是集合级操作,其 Resource 为 .../skill(不带 /*)。
场景六:精确控制到某个具体资源
适用于:只允许 RAM 用户访问某一个特定的 Prompt。
{
"Statement": [
{
"Effect": "Allow",
"Action": "airegistry:*",
"Resource": "acs:airegistry:*:*:instance/saas/{您的工作空间 ID}/DEFAULT/prompt/my-prompt"
}
],
"Version": "1"
}2.5 注意事项
Deny 优先:当同一个用户同时匹配到 Allow 和 Deny 策略时,Deny 始终优先生效。如果需要"允许大部分操作但禁止某些操作",可以组合使用 Allow 和 Deny。
工作空间隔离:AI 治理中心会自动校验请求者与工作空间的归属关系。即使 RAM 策略中配置了其他用户的工作空间 ID,也无法跨账号访问,无需担心数据泄露。
策略中的工作空间 ID:将示例中的 {您的工作空间 ID} 替换为实际的工作空间 ID,可在 AI 治理中心控制台的工作空间列表中获取。
最小权限原则:建议遵循最小权限原则,只授予用户完成工作所需的最小权限,避免使用过于宽泛的通配符。
常见问题
Q:RAM 用户访问时提示"无权限"怎么办?
A:检查以下几点:
确认已为该 RAM 用户附加了正确的权限策略。
确认策略中的工作空间 ID 与实际访问的工作空间一致。
确认 Action 是否覆盖了所需的操作类型(airegistry:Read 或具体的接口级 Action)。
如果使用了 Deny 策略,检查是否误拦截了需要的操作。
Q:如何让 RAM 用户只能访问部分工作空间?
A:在自定义策略的 Resource 中指定具体的工作空间 ID,而不是使用 * 通配符。如果需要授权多个工作空间,可以添加多条 Statement。
Q:使用 STS 临时凭证访问时如何配置?
A:STS 临时凭证的权限受 RAM 角色策略和调用 AssumeRole 时传入的 Policy 共同约束。确保 RAM 角色上附加了所需的 AI 治理中心权限策略,同时 AssumeRole 时的 Policy 不要缩小所需权限范围。