Microsoft.Common.ServicePrincipalSelector kullanıcı arabirimi öğesi

Kullanıcıların mevcut bir hizmet sorumlusunu seçmelerine veya yeni bir uygulama kaydetmelerine olanak tanıyan denetim. Yeni Oluştur'u seçtiğinizde, yeni bir uygulama kaydetmek için adımları izlersiniz. Mevcut bir uygulamayı seçtiğinizde, denetim parola veya sertifika parmak izi girmeniz için bir metin kutusu sağlar.

Kullanıcı arabirimi örnekleri

Varsayılan bir uygulama kullanabilir, yeni bir uygulama oluşturabilir veya mevcut bir uygulamayı kullanabilirsiniz.

Varsayılan uygulamayı kullanma veya yeni oluşturma

Varsayılan görünüm özelliğindeki defaultValue değerler tarafından belirlenir ve Hizmet Sorumlusu Türü Yeni Oluştur olarak ayarlanır. principalId Özelliği geçerli bir genel benzersiz tanımlayıcı (GUID) içeriyorsa, denetim uygulamanın objectIdöğesini arar. Kullanıcı denetimden seçim yapmazsa varsayılan değer uygulanır.

Yeni bir uygulama kaydetmek istiyorsanız Seçimi değiştir'i seçtiğinizde Uygulamayı kaydet iletişim kutusu görüntülenir. Ad, Desteklenen hesap türü yazın ve Kaydet düğmesini seçin.

Screenshot of Microsoft.Common.ServicePrincipalSelector initial view with default application or create new option.

Yeni bir uygulama kaydettikten sonra kimlik doğrulama türünü kullanarak parola veya sertifika parmak izi girin.

Screenshot of Microsoft.Common.ServicePrincipalSelector authentication options after registering a new application.

Mevcut uygulamayı kullanma

Mevcut bir uygulamayı kullanmak için Var Olanı Seç'i ve ardından Seçim yap'ı seçin. Uygulamanın adını aramak için Uygulama seçin iletişim kutusunu kullanın. Sonuçlardan uygulamayı ve ardından Seç düğmesini seçin . Bir uygulamayı seçtikten sonra, denetim kimlik doğrulama türünü görüntüerek parola veya sertifika parmak izi girer.

Screenshot of Microsoft.Common.ServicePrincipalSelector with select existing application option and authentication type displayed.

Şema

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

Açıklamalar

  • Gerekli özellikler şunlardır:

    • name
    • type
    • label
    • defaultValue: varsayılan principalId ve namedeğerlerini belirtir.
  • İsteğe bağlı özellikler şunlardır:

    • toolTip: Her etikete bir araç ipucu infoBalloon ekler.
    • visible: Denetimi gizleyin veya görüntüleyin.
    • options: Sertifika parmak izi seçeneğinin kullanılabilir duruma getirilip getirilmeyeceğini belirtir.
    • constraints: Parola doğrulaması için regex kısıtlamaları.

Örnek

Aşağıda denetimin bir örneği verilmiştir Microsoft.Common.ServicePrincipalSelector . özelliği, defaultValue varsayılan uygulama tanımlayıcı GUID'i için yer tutucu olarak olarak ayarlar principalId<default 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]"
    }
  }
}

Örnek çıkış

appId, seçtiğiniz veya oluşturduğunuz uygulama kaydının kimliğidir. objectId, seçilen uygulama kaydı için yapılandırılan hizmet sorumluları için nesne kimlikleri dizisidir.

Denetimden seçim yapılmadığında özellik newOrExisting değeri yenidir:

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

Denetimden newOrExisting Yeni oluştur veya var olan bir uygulama seçildiğinde özellik değeri vardır:

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

Sonraki adımlar