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


Элемент пользовательского интерфейса Microsoft.Compute.CredentialsCombo

Элемент CredentialsCombo является группой элементов управления со встроенной проверкой паролей Windows, паролей Linux и открытых ключей SSH.

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

В ОС Windows отображается элемент управления для ввода пароля.

Снимок экрана: комбинированный элемент управления для ввода пароля Windows.

В ОС Linux отображается элемент управления для ввода пароля, если выбран вариант Пароль:

Снимок экрана: комбинированный элемент управления для ввода пароля Linux.

В ОС Linux отображается элемент управления для ввода ключа SSH, если выбран вариант Ключ SSH:

Снимок экрана: комбинированный элемент управления для ввода открытого ключа SSH в Linux.

Источник открытого ключа SSH допускает три варианта:

  • Создать новую пару ключей: укажите имя для создания новой пары ключей SSH в Azure.
  • Использовать существующий ключ, хранящийся в Azure: выберите существующий открытый ключ SSH, хранящийся в Azure.
  • Использовать существующий открытый ключ: введите уже созданный ранее открытый ключ SSH. Например, вы можете создать открытый ключ SSH на локальном компьютере.

Снимок экрана: комбинированный элемент управления для выбора источника открытого ключа SSH в Linux.

Если выбран вариант Создать новую пару ключей, эти ключи создаются на вкладке Рецензирование и создание после нажатия кнопок Создать и Скачать закрытый ключ и создать ресурс.

Снимок экрана: интерфейс создания пары ключей SSH с кнопкой

Схема

Если вы работаете с Windows, используйте следующую схему:

{
  "name": "element1",
  "type": "Microsoft.Compute.CredentialsCombo",
  "label": {
    "password": "Password",
    "confirmPassword": "Confirm password"
  },
  "toolTip": {
    "password": ""
  },
  "constraints": {
    "required": true,
    "customPasswordRegex": "^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{12,}$",
    "customValidationMessage": "The password must be alphanumeric, contain at least 12 characters, and have at least 1 letter and 1 number."
  },
  "options": {
    "hideConfirmation": false
  },
  "osPlatform": "Windows",
  "visible": true
}

Если вы работаете с Linux, используйте следующую схему:

{
  "name": "element1",
  "type": "Microsoft.Compute.CredentialsCombo",
  "label": {
    "authenticationType": "Authentication type",
    "password": "Password",
    "confirmPassword": "Confirm password",
    "sshPublicKey": "SSH public key"
  },
  "toolTip": {
    "authenticationType": "",
    "password": "",
    "sshPublicKey": ""
  },
  "constraints": {
    "required": true,
    "customPasswordRegex": "^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{12,}$",
    "customValidationMessage": "The password must be alphanumeric, contain at least 12 characters, and have at least 1 letter and 1 number."
  },
  "options": {
    "hideConfirmation": false,
    "hidePassword": false
  },
  "osPlatform": "Linux",
  "visible": true
}

Пример полученных результатов

Если параметр osPlatform имеет значение Windows или параметр osPlatform — значение Linux и пользователь указал пароль вместо открытого ключа SSH, элемент управления возвращает следующие выходные данные:

{
  "authenticationType": "password",
  "password": "p4ssw0rddem0",
}

Если параметр osPlatform имеет значение Linux и пользователь указал открытый ключ SSH, элемент управления возвращает следующие выходные данные:

{
  "authenticationType": "sshPublicKey",
  "sshPublicKey": "AAAAB3NzaC1yc2EAAAABIwAAAIEA1on8gxCGJJWSRT4uOrR13mUaUk0hRf4RzxSZ1zRbYYFw8pfGesIFoEuVth4HKyF8k1y4mRUnYHP1XNMNMJl1JcEArC2asV8sHf6zSPVffozZ5TT4SfsUu/iKy9lUcCfXzwre4WWZSXXcPff+EHtWshahu3WzBdnGxm5Xoi89zcE=",
  "sshKeyName": "demo-public-key-name",
  "generateNewSshKey": false
}
  • Если выбран вариант Создать новую пару ключей, свойство sshPublicKey пусто. Это связано с тем, что ключи создаются на вкладке Просмотр и создание после нажатия кнопок Создать и Скачать закрытый ключ и создать ресурс.
  • Свойство sshKeyName содержит имя только в том случае, если в Azure создается новая пара ключей SSH или используется ключ, который уже хранится в Azure.
  • Для параметра generateNewSshKey устанавливается значение false, если вы используете существующий ключ. При создании новой пары ключей это значение равно true.

Замечания

  • Необходимо задать значение для параметра osPlatform (Windows или Linux).
  • Если для параметра constraints.required задано значение true, то текстовые поля для пароля и открытого ключа SSH должны содержать значения, чтобы пройти проверку. Значение по умолчанию — true
  • Если для параметра options.hideConfirmation задано значение true, второе текстовое поле для подтверждения пароля скрыто. Значение по умолчанию равно false.
  • Если для параметра options.hidePassword задано значение true, возможность использования проверки пароля скрыта. Его можно использовать только тогда, когда параметр osPlatform имеет значение Linux. Значение по умолчанию равно false.
  • Дополнительные ограничения на разрешенные пароли можно реализовать с помощью свойства customPasswordRegex. Строка в customValidationMessage отображается, если пароль не прошел пользовательскую проверку. Значение по умолчанию для обоих свойств — null. В схеме показан пример каждого свойства.

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

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