Udostępnij za pośrednictwem


Microsoft.Common.ServicePrincipalSelector, element interfejsu użytkownika

Kontrolka, która umożliwia użytkownikom wybranie istniejącej jednostki usługi lub zarejestrowanie nowej aplikacji. Po wybraniu pozycji Utwórz nowy wykonaj kroki rejestrowania nowej aplikacji. Po wybraniu istniejącej aplikacji kontrolka udostępnia pole tekstowe umożliwiające wprowadzenie hasła lub odcisku palca certyfikatu.

Przykłady interfejsu użytkownika

Możesz użyć domyślnej aplikacji, utworzyć nową aplikację lub użyć istniejącej aplikacji.

Użyj domyślnej aplikacji lub utwórz nową

Widok domyślny jest określany przez wartości we defaultValue właściwości, a typ jednostki usługi jest ustawiony na Wartość Utwórz nową. principalId Jeśli właściwość zawiera prawidłowy unikatowy identyfikator globalny (GUID), kontrolka wyszukuje element objectId. Wartość domyślna ma zastosowanie, jeśli użytkownik nie dokona wyboru z kontrolki.

Jeśli chcesz zarejestrować nową aplikację, wybierz pozycję Zmień wybór , a zostanie wyświetlone okno dialogowe Rejestrowanie aplikacji . Wprowadź nazwę, obsługiwany typ konta i wybierz przycisk Zarejestruj .

Zrzut ekranu przedstawiający widok początkowy Microsoft.Common.ServicePrincipalSelector z domyślną aplikacją lub utwórz nową opcję.

Po zarejestrowaniu nowej aplikacji użyj typu uwierzytelniania, aby wprowadzić hasło lub odcisk palca certyfikatu.

Zrzut ekranu przedstawiający opcje uwierzytelniania Microsoft.Common.ServicePrincipalSelector po zarejestrowaniu nowej aplikacji.

Korzystanie z istniejącej aplikacji

Aby użyć istniejącej aplikacji, wybierz pozycję Wybierz istniejącą , a następnie wybierz pozycję Wybierz. Użyj okna dialogowego Wybieranie aplikacji , aby wyszukać nazwę aplikacji. W wynikach wybierz aplikację, a następnie przycisk Wybierz . Po wybraniu aplikacji kontrolka wyświetla typ uwierzytelniania, aby wprowadzić hasło lub odcisk palca certyfikatu.

Zrzut ekranu programu Microsoft.Common.ServicePrincipalSelector z wyświetloną opcją wyboru istniejącej aplikacji i typem uwierzytelniania.

Schemat

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

Uwagi

  • Wymagane właściwości są następujące:

    • name
    • type
    • label
    • defaultValue: określa wartość domyślną principalId i name.
  • Opcjonalne właściwości są następujące:

    • toolTip: dołącza etykietkę infoBalloon narzędzia do każdej etykiety.
    • visible: Umożliwia ukrycie lub wyświetlenie kontrolki.
    • options: określa, czy opcja odcisku palca certyfikatu powinna być udostępniona.
    • constraints: Ograniczenia wyrażeń regularnych na potrzeby sprawdzania poprawności hasła.

Przykład

Poniższy kod jest przykładem kontrolki Microsoft.Common.ServicePrincipalSelector . Właściwość defaultValue ustawia principalId wartość na <default guid> jako symbol zastępczy domyślnego identyfikatora GUID identyfikatora aplikacji.

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

Przykładowe dane wyjściowe

Jest appId to identyfikator wybranej lub utworzonej rejestracji aplikacji. Jest objectId to tablica identyfikatorów obiektów dla jednostek usługi skonfigurowanych do rejestracji wybranej aplikacji.

W przypadku braku zaznaczenia kontrolki newOrExisting wartość właściwości jest nowa:

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

Po wybraniu opcji Utwórz nową lub istniejącą aplikację z kontrolki wartość właściwości jest istniejącanewOrExisting:

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

Następne kroki