Compartilhar via


Elemento de interface do usuário do Microsoft.Common.ServicePrincipalSelector

Um controle que permite aos usuários selecionar uma entidade de serviço existente ou registrar um novo aplicativo. Ao selecionar Criar, siga as etapas para registrar um novo aplicativo. Quando você seleciona um aplicativo existente, o controle fornece uma caixa de texto para inserir uma senha ou impressão digital do certificado.

Exemplos de interface do usuário

Você pode usar um aplicativo padrão, criar um aplicativo ou usar um aplicativo existente.

Usar aplicativo padrão ou criar

A exibição padrão é determinada pelos valores na propriedade defaultValue e o Tipo de entidade de serviço é definido como Criar. Se a propriedade principalId contiver um GUID (identificador global exclusivo) válido, o controle pesquisará o aplicativo objectId. O valor padrão se aplicará se o usuário não fizer uma seleção do controle.

Se você quiser registrar um novo aplicativo, selecione Alterar seleção e a caixa de diálogo Registrar um aplicativo será exibida. Insira Nome, Tipo de conta com suporte e selecione o botão Registrar.

Captura de tela da exibição inicial do Microsoft.Common.ServicePrincipalSelector com o aplicativo padrão ou crie uma nova opção.

Depois de registrar um novo aplicativo, use o Tipo de Autenticação para inserir uma senha ou impressão digital do certificado.

Captura de tela das opções de autenticação do Microsoft.Common.ServicePrincipalSelector após registrar um novo aplicativo.

Usar o aplicativo existente

Para usar um aplicativo existente, escolha Selecionar existente e escolha Selecionar. Use a caixa de diálogo Selecionar um aplicativo para procurar pelo nome do aplicativo. Nos resultados, selecione o aplicativo e clique no botão Selecionar. Depois que você selecionar um aplicativo, o controle exibirá o Tipo de Autenticação para inserir uma senha ou impressão digital do certificado.

Captura de tela do Microsoft.Common.ServicePrincipalSelector com a opção de seleção de aplicativo existente e o tipo de autenticação exibidos.

Esquema

{
  "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
}

Comentários

  • As propriedades necessárias são da seguinte maneira:

    • name
    • type
    • label
    • defaultValue: especifica o principalId e o name padrão.
  • As propriedades opcionais são da seguinte maneira:

    • toolTip: anexa uma dica de ferramenta infoBalloon para cada rótulo.
    • visible: ocultar ou exibir o controle.
    • options: especifica se a opção de impressão digital do certificado deve ser disponibilizada.
    • constraints: restrições de Regex para validação de senha.

Exemplo

O código a seguir é um exemplo do Microsoft.Common.ServicePrincipalSelector controle. A propriedade defaultValue define principalId como <default guid> como um espaço reservado para um GUID de identificador de aplicativo padrão.

{
  "$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]"
    }
  }
}

Saída de exemplo

O appId é a ID do registro do aplicativo que você selecionou ou criou. O objectId é uma matriz de IDs de objetos para as entidades de serviço configuradas do registro de aplicativo selecionado.

Quando nenhuma seleção é feita do controle, o valor da propriedade newOrExisting é novo:

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

Quando Criar ou um aplicativo existente é selecionado no controle, o valor da propriedade newOrExisting é existente:

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

Próximas etapas