首页 > 解决方案 > 如何在 Azure 托管应用程序 ARM 部署中强制选择服务主体

问题描述

我有一个在createUIDefinition中定义的托管 Azure 应用程序安装包

用户需要选择一个现有的服务主体或创建一个新的。对此有一个控制;serviceprincipalselector。_

但是,我找不到一种方法来强制它(无论他们选择现有的 SP 还是创建一个新的),以便它返回 SP 客户端 ID。

这意味着用户只需单击下一步,它会将值保存为“默认 guid”作为 SP 客户端 ID,这是错误的。在所有其他组件中,我可以使用正则表达式并添加验证,但是我无法找到使用 serviceprincipalselector 的方法。我不能把 PrincipalID = "" 因为这没有通过测试。我无法完全删除 DefaultValue,因为它是强制性的。

有没有人设法找到解决方案?

 {
    "name": "SPNcontrol",
    "label": "Service Principal for API Access",
    "elements": [
      {
        "name": "ServicePrincipal",
        "type": "Microsoft.Common.ServicePrincipalSelector",
        "label": {
          "password": "Client Secret",
          "sectionHeader": "Service Principal (Required)"
        },
        "toolTip": {
          "password": "Enter the service principal secret. <a target='_blank' href='https://cloudmonitor.ai/support-article/how-to-create-a-service-principal/'>Click here</a> to learn more.",
          "sectionHeader": "Service Principal (Required TT)"
        },
        "defaultValue": {
          "principalId": "<default guid>",
          "name": "(New) Click on the link below to register a new Service Principal/Registered Application. CloudMonitor will use this to read from the Azure APIs."
        },
        "options": {
          "hideCertificate": true
        },
        "visible": true
      },

标签: azureazure-service-principalazure-managed-app

解决方案


推荐阅读