你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure AI Studio 中的自定义策略控制 AI 模型部署

将 Azure AI 服务和 Azure OpenAI 中的模型与 Azure AI Studio 配合使用时,可能需要使用自定义策略来控制开发人员可部署哪些模型。 自定义 Azure 策略允许创建满足组织独特要求的策略定义。 本文介绍如何创建和分配一个示例自定义策略来控制模型部署。

先决条件

创建自定义策略

  1. Azure 门户中,从页面左侧选择“策略”。 也可以在页面顶部的搜索栏中搜索“策略”

  2. 在 Azure Policy 仪表板左侧,选择“创作”、“定义”,然后选择页面顶部的“+ 策略定义”

  3. 在“策略定义”窗体中使用以下值

    • 定义位置:选择要在其中存储策略定义的订阅或管理组

    • 名称:为策略定义输入唯一的名称。 例如,Custom allowed Azure AI services and Azure OpenAI models

    • 说明:输入策略定义的说明

    • 类别:可以创建新类别,也可以使用现有类别。 例如“AI 模型治理”。

    • 策略规则:以 JSON 格式输入策略规则。 以下示例显示了允许部署特定 Azure AI 服务和 Azure OpenAI 模型的策略规则:

      提示

      Azure AI 服务最初名为“Azure 认知服务”。 此名称仍由 Azure 在内部使用,例如此自定义策略中显示了 Microsoft.CognitiveServices 值。 Azure OpenAI 是 Azure AI 服务的一部分,因此此策略也适用于 Azure OpenAI 模型。

      {
            "mode": "All",
            "policyRule": {
              "if": {
                "allOf": [
                  {
                    "field": "type",
                    "equals": "Microsoft.CognitiveServices/accounts/deployments"
                  },
                  {
                    "not": {
                      "value": "[concat(field('Microsoft.CognitiveServices/accounts/deployments/model.name'), ',', field('Microsoft.CognitiveServices/accounts/deployments/model.version'))]",
                      "in": "[parameters('allowedModels')]"
                    }
                  }
                ]
              },
              "then": {
                "effect": "deny"
              }
            },
            "parameters": {
              "allowedModels": {
                "type": "Array",
                "metadata": {
                  "displayName": "Allowed AI models",
                  "description": "The list of allowed models to be deployed."
                }
              }
            }
      }
      
  4. 选择“保存”以保存策略定义。 保存后,你将进入策略定义的概述页面。

  5. 在策略定义的概述页面中,选择“分配策略”以分配策略定义

  6. 在“分配策略”页面上,在“基本信息”选项卡中使用以下值

    • 范围:选择策略的分配范围。 范围可以是管理组、订阅或资源组。
    • 策略定义:此字段中已预先填充了你先前创建的策略定义的标题
    • 分配名称:为分配输入唯一的名称
    • 策略执行:确保“策略执行”字段设置为“已启用”。 如果未启用,则不会执行该策略。

    选择页面底部的“下一步”,或选择页面顶部的“参数”选项卡

  7. 在“参数”选项卡中,将“允许的 AI 模型”设置为你要允许的模型列表。 该列表应为模型名称和已批准版本的逗号分隔列表,并括在方括号中。 例如,["gpt-4,0613", "gpt-35-turbo,0613"]

    提示

    可以在 Azure AI Studio 模型目录中找到模型名称及其版本。 选择要查看详细信息的模型,然后在标题中复制模型名称及其版本。

  8. (可选)选择页面顶部的“不合规消息”选项卡,然后设置不合规的自定义消息

  9. 选择“查看 + 创建”选项卡并验证策略分配是否正确。 准备就绪后,选择“创建”以分配策略

  10. 通知开发人员已实施该策略。 如果他们尝试部署不在允许模型列表中的模型,他们会收到错误消息。

验证策略分配

若要验证策略是否已分配,请导航到 Azure 门户中的“策略”,然后选择“创作”下的“分配”。 你应会看到列出的策略。

监视符合性

若要监视对策略的遵从性,请执行以下步骤:

  1. Azure 门户中,从页面左侧选择“策略”。 也可以在页面顶部的搜索栏中搜索“策略”
  2. 在 Azure Policy 仪表板左侧,选择“合规性”。 每项策略分配均与合规性状态一起列出。 若要查看更多详细信息,请选择该策略分配。

更新策略分配

若要更新新模型的现有策略分配,请执行以下步骤:

  1. Azure 门户中,从页面左侧选择“策略”。 也可以在页面顶部的搜索栏中搜索“策略”
  2. 在 Azure Policy 仪表板左侧,选择“分配”并找到现有的策略分配。 选择该分配旁边的省略号 (...),然后选择“编辑分配”
  3. 在“参数”选项卡中,更新新模型的“允许的模型”参数
  4. 在“检查 + 保存”选项卡中,选择“保存”以更新策略分配

最佳做法

  • 获取模型名称:使用 Azure AI Studio 模型目录,然后选择模型以查看详细信息。 将标题中的模型名称与策略结合使用。
  • 粒度范围:在适当的范围分配策略,以平衡控制度和灵活性。 例如,在订阅级别应用策略可以控制订阅中的所有资源,在资源组级别应用策略可以控制特定组中的资源。
  • 策略命名:对策略分配使用一致的命名约定,以便更轻松地识别策略的用途。 在名称中包含用途和范围等信息。
  • 文档记录:保留策略分配和配置的记录以用于审核目的。 记录一段时间内对策略所做的任何更改。
  • 定期评审:定期评审策略分配,确保其符合组织的要求
  • 测试:在将策略应用于生产资源之前,先在非生产环境中对其进行测试
  • 沟通:确保开发人员知道现行的策略,并了解其对开发人员工作的影响