你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure OpenAI 服务的基于角色的访问控制
Azure OpenAI 服务支持 Azure 基于角色的访问控制 (Azure RBAC),这是用于管理对 Azure 资源的个人访问权限的授权系统。 使用 Azure RBAC,可以根据不同团队成员对指定项目的需求,为其分配不同级别的权限。 有关详细信息,请参阅 Azure RBAC 文档。
将角色分配添加到 Azure OpenAI 资源
Azure RBAC 可以分配给 Azure OpenAI 资源。 若要授予对 Azure 资源的访问权限,可以添加角色分配。
在 Azure 门户中,搜索“Azure OpenAI”。
选择“Azure OpenAI”,然后导航到特定资源。
注意
你还可以为整个资源组、订阅或管理组设置 Azure RBAC。 要执行此操作,请选择所需的作用域级别,然后导航到所需的项目。 例如,选择“资源组”,然后导航到特定的资源组。
在左侧导航窗格上,选择“访问控制(IAM)”。
依次选择“+ 添加”和“添加角色分配” 。
在下一屏幕上的“角色”选项卡上,选择要添加的角色。
在“成员”选项卡上,选择用户、组、服务主体或托管标识。
在“查看 + 分配”选项卡上,选择“查看 + 分配”,以分配角色 。
几分钟后,将向目标分配所选作用域中的选定角色。 有关这些步骤的帮助,请参阅使用 Azure 门户分配 Azure 角色。
Azure OpenAI 角色
- 认知服务 OpenAI 用户
- 认知服务 OpenAI 参与者
- 认知服务参与者
- 认知服务使用情况读取者
注意
订阅级别“所有者”和“参与者”角色是继承的,并且优先于在资源组级别应用的自定义 Azure OpenAI 角色。
本节介绍不同帐户和帐户组合能够为 Azure OpenAI 资源执行的常见任务。 要查看可用 Actions 和 DataActions 的完整列表,Azure OpenAI 资源会授予单独的角色,请转到“访问控制 (IAM)”>“角色”>在感兴趣的角色的“详细信息”列下,选择“查看”。 默认情况下,会选择“Actions”单选按钮。 需要检查 Actions 和 DataActions,以了解分配给角色的全部功能范围。
认知服务 OpenAI 用户
如果用户获授予对 Azure OpenAI 资源仅此角色的基于角色的访问权限,则其将能够执行以下常见任务:
✅在 Azure 门户中查看资源
✅在“密钥和终结点”下查看资源终结点
✅ 在 Azure OpenAI Studio 中查看资源和相关模型部署的能力。
✅ 查看可在 Azure OpenAI Studio 中部署的模型的能力。
✅ 使用聊天、完成和 DALL-E(预览)操场体验,使用已部署到此 Azure OpenAI 资源的任何模型生成文本和图像。
✅ 使用 Microsoft Entra ID 执行推理 API 调用。
仅分配了此角色的用户无法:
❌ 创建新的 Azure OpenAI 资源
❌ 在“密钥和终结点”下查看/复制/再生成密钥
❌ 创建新的模型部署或编辑现有模型部署
❌ 创建/部署自定义微调模型
❌ 上传数据集进行微调
❌ 访问配额
❌ 创建自定义内容筛选器
❌ 添加数据源以使用数据功能
认知服务 OpenAI 参与者
此角色拥有认知服务 OpenAI 用户的所有权限,还可以执行其他任务,如:
✅ 创建自定义微调模型
✅ 上传数据集进行微调
✅ 创建新的模型部署或编辑现有模型部署 [于 2023 年秋季添加]
仅分配了此角色的用户无法:
❌ 创建新的 Azure OpenAI 资源
❌ 在“密钥和终结点”下查看/复制/再生成密钥
❌ 访问配额
❌ 创建自定义内容筛选器
❌ 添加数据源以使用数据功能
认知服务参与者
此角色通常与其他角色一起在资源组级别获授予用户访问权限。 此角色本身将允许用户执行以下任务。
✅ 在分配的资源组中创建新 Azure OpenAI 资源。
✅ 查看 Azure 门户中已分配资源组中的资源。
✅在“密钥和终结点”下查看资源终结点
✅ 在“密钥和终结点”下查看/复制/再生成密钥
✅ 查看可在 Azure OpenAI Studio 中部署的模型的能力
✅ 使用聊天、完成和 DALL-E(预览)操场体验,使用已部署到此 Azure OpenAI 资源的任何模型生成文本和图像
✅ 创建自定义内容筛选器
✅ 添加数据源以使用数据功能
✅ 创建新的模型部署或编辑现有模型部署(通过 API)
✅ 创建自定义微调模型 [于 2023 年秋季添加]
✅ 上传数据集进行微调 [于 2023 年秋季添加]
✅ 创建新的模型部署或编辑现有模型部署(通过 Azure OpenAI Studio)[于 2023 年秋季添加]
仅分配了此角色的用户无法:
❌ 访问配额
❌ 使用 Microsoft Entra ID 执行推理 API 调用。
认知服务使用情况读取者
查看配额需要“认知服务使用情况读取者”角色。 此角色提供查看 Azure 订阅中的配额使用情况所需的最小访问权限。
此角色可以在 Azure 门户中的“订阅”>*“访问控制 (IAM)”>“添加角色分配”>搜索“认知服务使用情况读取器”下找到。 角色必须在订阅级别应用,但在资源级别不存在。
如果不希望使用此角色,订阅“读取者”角色将提供等效的访问权限,但它也会授予超出查看配额所需范围的读取访问权限。 通过 Azure OpenAI Studio 进行的模型部署也部分取决于此角色的存在。
此角色本身几乎没有价值,而是通常与前面描述的一个或多个角色组合分配。
认知服务使用情况读取者 + 认知服务 OpenAI 用户
认知服务 OpenAI 用户的所有功能加上以下能力:
✅ 在 Azure OpenAI Studio 中查看配额分配
认知服务使用情况读取者 + 认知服务 OpenAI 参与者
认知服务 OpenAI 参与者的所有功能加上以下能力:
✅ 在 Azure OpenAI Studio 中查看配额分配
认知服务使用情况读取者 + 认知服务参与者
认知服务参与者的所有功能加上以下能力:
✅ 在 Azure OpenAI Studio 中查看和编辑配额分配
✅ 创建新的模型部署或编辑现有模型部署(通过 Azure OpenAI Studio)
总结
权限 | 认知服务 OpenAI 用户 | 认知服务 OpenAI 参与者 | 认知服务参与者 | 认知服务使用情况读取者 |
---|---|---|---|---|
在 Azure 门户中查看资源 | ✅ | ✅ | ✅ | ➖ |
在“密钥和终结点”下查看资源终结点 | ✅ | ✅ | ✅ | ➖ |
在 Azure OpenAI Studio 中查看资源和相关模型部署 | ✅ | ✅ | ✅ | ➖ |
查看可在 Azure OpenAI Studio 中部署的模型 | ✅ | ✅ | ✅ | ➖ |
使用聊天、完成和 DALL-E(预览版)操场体验,使用已部署到此 Azure OpenAI 资源的任何模型。 | ✅ | ✅ | ✅ | ➖ |
创建或编辑模型部署 | ❌ | ✅ | ✅ | ➖ |
创建或部署自定义微调模型 | ❌ | ✅ | ✅ | ➖ |
上传数据集进行微调 | ❌ | ✅ | ✅ | ➖ |
创建新的 Azure OpenAI 资源 | ❌ | ❌ | ✅ | ➖ |
在“密钥和终结点”下查看/复制/再生成密钥 | ❌ | ❌ | ✅ | ➖ |
创建自定义内容筛选器 | ❌ | ❌ | ✅ | ➖ |
为“使用数据”功能添加数据源 | ❌ | ❌ | ✅ | ➖ |
访问配额 | ❌ | ❌ | ❌ | ✅ |
使用 Microsoft Entra ID 执行推理 API 调用 | ✅ | ✅ | ❌ | ➖ |
常见问题
无法在 Azure OpenAI Studio 中查看 Azure 认知搜索选项
问题:
当选择现有的 Azure 认知搜索资源时,搜索索引不会加载,加载轮会持续旋转。 在 Azure OpenAI Studio 中,转到“助手”设置下的“操场聊天”>“添加数据(预览)”。 选择“添加数据源”将打开允许通过 Azure 认知搜索或 Blob 存储添加数据源的模式。 选择 Azure 认知搜索选项和现有 Azure 认知搜索资源应加载可用的 Azure 认知搜索索引以从中进行选择。
根本原因
若要进行列出 Azure 认知搜索服务的通用 API 调用,请进行以下调用:
https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices?api-version=2021-04-01-Preview
将 {subscriptionId} 替换为实际订阅 ID。
对于此 API 调用,需要“订阅级别范围”角色。 可以使用“读取者”角色进行只读访问,也可以使用“参与者”角色进行读写访问。 如果只需要访问 Azure 认知搜索服务,则可以使用 Azure 认知搜索服务参与者或 Azure 认知搜索服务读取者角色。
解决方案选项
联系订阅管理员或所有者:联系管理 Azure 订阅的人员,请求适当的访问权限。 解释要求和需要的特定角色(例如,读取者、参与者、Azure 认知搜索服务参与者或 Azure 认知搜索服务读取者)。
请求订阅级别或资源组级别的访问权限:如果需要访问特定资源,则请求订阅所有者授予适当级别(订阅或资源组)的访问权限。 这样能够执行所需任务,而无需访问不相关的资源。
将 API 密钥用于 Azure 认知搜索:如果只需要与 Azure 认知搜索服务交互,则可以向订阅所有者请求管理密钥或查询密钥。 这些密钥允许直接对搜索服务进行 API 调用,而无需 Azure RBAC 角色。 请记住,使用 API 密钥将绕过 Azure RBAC 访问控制,因此请谨慎使用它们并遵循安全最佳做法。
无法在 Azure OpenAI Studio 中为数据上载文件
症状:无法使用 Azure OpenAI Studio 访问数据功能上的存储。
根本原因:
尝试访问 Azure OpenAI Studio 中 blob 存储的用户的订阅级别访问权限不足。 用户可能没有调用 Azure 管理 API 终结点所需的权限:https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listAccountSas?api-version=2022-09-01
Azure 订阅的所有者出于安全原因禁用了对 blob 存储的公共访问。
API 调用所需的权限:**Microsoft.Storage/storageAccounts/listAccountSas/action:**
此权限允许用户列出指定存储帐户的共享访问签名 (SAS) 令牌。
用户可能没有权限的可能原因:
- 在 Azure 订阅中为用户分配了有限的角色,其不包括 API 调用所需的权限。
- 由于安全问题或组织策略,订阅所有者或管理员限制了用户的角色。
- 用户的角色最近已更改,新角色不授予所需权限。
解决方案选项
- 验证和更新访问权限:确保用户具有适当的订阅级访问权限,包括 API 调用所需的权限 (Microsoft.Storage/storageAccounts/listAccountSas/action). 如果需要,请求订阅所有者或管理员授予必要的访问权限。
- 向所有者或管理员请求帮助:如果上述解决方案不可行,请考虑要求订阅所有者或管理员代表你上传数据文件。 此方法可以帮助将数据导入 Azure OpenAI Studio,用户无需要求对 blob 存储的订阅级访问或公共访问。
后续步骤
- 深入了解 Azure 基于角色的访问控制 (Azure RBAC)。
- 还可以查看使用 Azure 门户分配 Azure 角色。