Поделиться через


Microsoft.Common.ServicePrincipalSelector UI element

Элемент управления, позволяющий пользователям выбрать существующую субъект-службу или зарегистрировать новое приложение. При выборе команды Создать необходимо выполнить действия по регистрации нового приложения. При выборе существующего приложения элемент управления предоставляет текстовое поле для ввода пароля или отпечатка сертификата.

Примеры пользовательского интерфейса

Можно использовать приложение по умолчанию, создать новое или использовать существующее приложение.

Использование приложения по умолчанию или создание нового приложения

Представление по умолчанию определяется значениями свойства defaultValue, а для Типа субъекта-службы установлено значение Создать. Если свойство principalId содержит действительный глобальный уникальный идентификатор (GUID), элемент управления выполняет поиск приложения objectId. Если пользователь не выполняет выбор из элемента управления, применяется значение по умолчанию.

Чтобы зарегистрировать новое приложение, щелкните Изменить выбор. Откроется диалоговое окно Регистрация приложения. Введите Имя, Поддерживаемый тип учетной записи и нажмите кнопку Зарегистрировать.

Снимок экрана: начальное представление Microsoft.Common.ServicePrincipalSelector с приложением по умолчанию или создание нового параметра.

После регистрации нового приложения используйте Тип проверки подлинности для ввода пароля или отпечатка сертификата.

Снимок экрана: параметры проверки подлинности Microsoft.Common.ServicePrincipalSelector после регистрации нового приложения.

Использование существующего приложения

Чтобы использовать существующее приложение, выберите команду Выбрать существующий и щелкните Сделать выбор. Используйте диалоговое окно Выбор приложения для поиска имени приложения. В результатах выберите приложение и нажмите кнопку "Выбрать ". После выбора приложения элемент управления показывает Тип проверки подлинности для ввода пароля или отпечатка сертификата.

Снимок экрана: Microsoft.Common.ServicePrincipalSelector с выбором существующего параметра приложения и типа проверки подлинности.

Схема

{
  "name": "ServicePrincipal",
  "type": "Microsoft.Common.ServicePrincipalSelector",
  "label": {
    "password": "Password",
    "certificateThumbprint": "Certificate thumbprint",
    "authenticationType": "Authentication Type",
    "sectionHeader": "Service Principal"
  },
  "toolTip": {
    "password": "Password",
    "certificateThumbprint": "Certificate thumbprint",
    "authenticationType": "Authentication Type"
  },
  "defaultValue": {
    "principalId": "<default guid>",
    "name": "(New) default App Id"
  },
  "constraints": {
    "required": true,
    "regex": "^[a-zA-Z0-9]{8,}$",
    "validationMessage": "Password must be at least 8 characters long, contain only numbers and letters"
  },
  "options": {
    "hideCertificate": false
  },
  "visible": true
}

Замечания

  • Указываются следующие необходимые свойства:

    • name
    • type
    • label
    • defaultValue: задает значения по умолчанию principalId и name.
  • Указываются следующие дополнительные свойства:

    • toolTip: привязывает всплывающую подсказку infoBalloon к каждой метке.
    • visible: скрывает или отображает элемент управления.
    • options: указывает, следует ли сделать параметр отпечатка сертификата доступным.
    • constraints: ограничения регулярных выражений для проверки пароля.

Пример

Следующий код является примером Microsoft.Common.ServicePrincipalSelector элемента управления. Свойство defaultValue присваивает значение principalId в качестве заполнителя <default guid> для GUID идентификатора приложения по умолчанию.

{
  "$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
  "handler": "Microsoft.Azure.CreateUIDef",
  "version": "0.1.2-preview",
  "parameters": {
    "basics": [],
    "steps": [
      {
        "name": "SPNcontrol",
        "label": "SPNcontrol",
        "elements": [
          {
            "name": "ServicePrincipal",
            "type": "Microsoft.Common.ServicePrincipalSelector",
            "label": {
              "password": "Password",
              "certificateThumbprint": "Certificate thumbprint",
              "authenticationType": "Authentication Type",
              "sectionHeader": "Service Principal"
            },
            "toolTip": {
              "password": "Password",
              "certificateThumbprint": "Certificate thumbprint",
              "authenticationType": "Authentication Type"
            },
            "defaultValue": {
              "principalId": "<default guid>",
              "name": "(New) default App Id"
            },
            "constraints": {
              "required": true,
              "regex": "^[a-zA-Z0-9]{8,}$",
              "validationMessage": "Password must be at least 8 characters long, contain only numbers and letters"
            },
            "options": {
              "hideCertificate": false
            },
            "visible": true
          }
        ]
      }
    ],
    "outputs": {
      "appId": "[steps('SPNcontrol').ServicePrincipal.appId]",
      "objectId": "[steps('SPNcontrol').ServicePrincipal.objectId]",
      "password": "[steps('SPNcontrol').ServicePrincipal.password]",
      "certificateThumbprint": "[steps('SPNcontrol').ServicePrincipal.certificateThumbprint]",
      "newOrExisting": "[steps('SPNcontrol').ServicePrincipal.newOrExisting]",
      "authenticationType": "[steps('SPNcontrol').ServicePrincipal.authenticationType]"
    }
  }
}

Пример результата

Идентификатор appId выбранной или созданной регистрации приложения. objectId является массивом идентификаторов объектов для субъектов-служб, настроенных для регистрации выбранного приложения.

При отсутствии выбора из элемента управления значением свойства newOrExisting является new:

{
  "appId": {
    "value": "<default guid>"
  },
  "objectId": {
    "value": ["<default guid>"]
  },
  "password": {
    "value": "<password>"
  },
  "certificateThumbprint": {
    "value": ""
  },
  "newOrExisting": {
    "value": "new"
  },
  "authenticationType": {
    "value": "password"
  }
}

Если из элемента управления выбрана команда Создать новый или выбрано существующее приложение, то значением свойства newOrExisting является existing:

{
  "appId": {
    "value": "<guid>"
  },
  "objectId": {
    "value": ["<guid>"]
  },
  "password": {
    "value": "<password>"
  },
  "certificateThumbprint": {
    "value": ""
  },
  "newOrExisting": {
    "value": "existing"
  },
  "authenticationType": {
    "value": "password"
  }
}

Следующие шаги

  • Общие сведения о создании определений пользовательского интерфейса см. в статье Начало работы с CreateUiDefinition.
  • Дополнительные сведения об общих свойствах элементов пользовательского интерфейса см. в статье Элементы CreateUiDefinition.