Partilhar via


Elemento da interface do usuário 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 novo, você segue 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 de certificado.

Exemplos de interface do usuário

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

Usar aplicativo padrão ou criar novo

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

Se desejar registrar um novo aplicativo, selecione Alterar seleção e a caixa de diálogo Registrar um aplicativo será exibida. Introduza Nome, Tipo de conta suportada e selecione o botão Registar .

Captura de ecrã da vista inicial Microsoft.Common.ServicePrincipalSelector com aplicação predefinida ou criar 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 ecrã das opções de autenticação Microsoft.Common.ServicePrincipalSelector depois de registar uma nova aplicação.

Usar o aplicativo existente

Para usar um aplicativo existente, escolha Selecionar existente e, em seguida, selecione Fazer seleção. Use a caixa de diálogo Selecionar um aplicativo para procurar o nome do aplicativo. A partir dos resultados, selecione o aplicativo e, em seguida, o botão Selecionar . Depois de selecionar um aplicativo, o controle exibe o Tipo de autenticação para inserir uma senha ou impressão digital do certificado.

Captura de ecrã de Microsoft.Common.ServicePrincipalSelector com a opção de aplicação existente selecionada e o tipo de autenticação apresentados.

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
}

Observações

  • As propriedades necessárias são as seguintes:

    • name
    • type
    • label
    • defaultValue: Especifica o padrão principalId e name.
  • As propriedades opcionais são as seguintes:

    • toolTip: Anexa uma dica infoBalloon de ferramenta a cada rótulo.
    • visible: Oculte ou exiba o controle.
    • options: Especifica se a opção de impressão digital do certificado deve ou não ser disponibilizada.
    • constraints: Restrições Regex para validação de senha.

Exemplo

O código a seguir é um exemplo do Microsoft.Common.ServicePrincipalSelector controle. A defaultValue propriedade define principalId como <default guid> 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]"
    }
  }
}

Exemplo de saída

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

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

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

Quando Criar um aplicativo novo ou existente é selecionado a partir do controle, o newOrExisting valor da propriedade está existindo:

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

Próximos passos