首页 > 解决方案 > 使用 Arm 模板在机器人通道注册连接上设置租户 ID

问题描述

当使用 ARM 模板为机器人通道注册创建新连接时,我使用以下资源作为Microsoft.BotService/botServices的一部分;

    {
      "type": "Microsoft.BotService/botServices/Connections",
      "apiVersion": "2018-07-12",
      "name": "[concat(parameters('botName'), '/ActiveDirectory')]",
      "dependsOn": [
        "[resourceId('Microsoft.BotService/botServices', parameters('botName'))]"
      ],
      "location": "global",
      "tags": "[parameters('resourceTags')]",
      "properties": {
        "clientId": "[parameters('appId')]",
        "clientSecret": "[parameters('appSecret')]",
        "scopes": "[parameters('scopes')]",
        "serviceProviderId": "30dd229c-58e3-4a48-bdfd-91ec48eb906c",
        "serviceProviderDisplayName": "Azure Active Directory v2",
        "parameters": []
      }
    }

除了我需要填写的 Token Exchange Url 和 Tenant ID 之外的所有字段; 在此处输入图像描述

我检查了文档,找不到任何关于此的内容。我尝试添加以下参数进行测试;

       "parameters": [
          {
            "key": "tenantID",
            "value": "customValue"
          }
        ]

那没有做任何事情,也只是在这里猜测关键应该是什么..

如何使用 Arm 模板设置这两个字段?

标签: azureazure-devopsbotframeworkarm-template

解决方案


参数是要走的路。但是,在使用参数时,clientID 和 clientSecret 也需要作为参数,因为当参数存在时,它们不再作为属性被拾取。在资源 Json 下面它为我工作的方式;

    {
      "type": "Microsoft.BotService/botServices/Connections",
      "apiVersion": "2018-07-12",
      "name": "[concat(parameters('botName'), '/ActiveDirectory')]",
      "condition": "[equals(parameters('oauthEnabled'), 'True')]",
      "dependsOn": [
        "[resourceId('Microsoft.BotService/botServices', parameters('botName'))]"
      ],
      "location": "global",
      "tags": "[parameters('resourceTags')]",
      "properties": {
        "serviceProviderId": "30dd229c-58e3-4a48-bdfd-91ec48eb906c",
        "serviceProviderDisplayName": "Azure Active Directory v2",
        "parameters": [
          {
            "key": "clientId",
            "value": "[parameters('appId')]"
          },
          {
            "key": "clientSecret",
            "value": "[parameters('appSecret')]"
          },
          {
            "key": "scopes",
            "value": "[parameters('scopes')]"
          },
          {
            "key": "tenantID",
            "value": "common"
          },
          {
            "key": "tokenExchangeUrl",
            "value": "[concat('api://botid-', parameters('appId'))]"
          }
        ]
      }
    }

推荐阅读