概述
團隊協作開發 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 不要縮小要求的權限範圍。