Сбой развертывания Azure Service Fabric из-за отсутствия корневого сертификата?

Я пытаюсь развернуть кластер сервисной фабрики, используя этот скрипт:

$subscriptionName="mysubscription"
$resourceGroupName="screenshot-bot" # you can keep this same as cluster name for convenience
$keyvaultName="screenshot-bot"
$parameterFilePath="C:\Users\t-rorose\source\repos\teams-verticals-healthcare\Healthcare\ScreenshotBot\Samples\V1.0Samples\LocalMediaSamples\HueBot\HueBot\ARM_Deployment\AzureDeploy.Parameters.json"
$templateFilePath="C:\Users\t-rorose\source\repos\teams-verticals-healthcare\Healthcare\ScreenshotBot\Samples\V1.0Samples\LocalMediaSamples\HueBot\HueBot\ARM_Deployment\AzureDeploy.json"
$secretID="https://screenshot-bot.vault.azure.net/secrets/ScreenshotBotAzureSSL/<redacted>"

Connect-AzureRmAccount
Select-AzureRmSubscription -SubscriptionName $subscriptionName

Set-AzureRmKeyVaultAccessPolicy -VaultName $keyvaultName -EnabledForDeployment
New-AzureRmServiceFabricCluster -ResourceGroupName $resourceGroupName -SecretIdentifier $secretID -TemplateFile $templateFilePath -ParameterFile $parameterFilePath

Но я получаю сообщение об ошибке, когда он пытается развернуть виртуальные машины из-за отсутствия сертификата:

Account          : [email protected]
SubscriptionName : Azure SDK Engineering System
SubscriptionId   : a18897a6-7e44-457d-9260-f2854c0aca42
TenantId         : 72f988bf-86f1-41af-91ab-2d7cd011db47
Environment      : AzureCloud


Name               : [[email protected], a9da32c3-d579-4e94-89fc-4fc2ab1f0070]
Account            : [email protected]
Environment        : AzureCloud
Subscription       : a9da32c3-d579-4e94-89fc-4fc2ab1f0070
Tenant             : 72f988bf-86f1-41af-91ab-2d7cd011db47
TokenCache         : Microsoft.Azure.Commands.Common.Authentication.AuthenticationStoreTokenCache
VersionProfile     :
ExtendedProperties : {}

New-AzureRmServiceFabricCluster : Code: DeploymentFailed, Message: At least one resource deployment operation failed.
Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.
Details: Code: Conflict, Message: {
  "status": "Failed",
  "error": {
    "code": "ResourceDeploymentFailure",
    "message": "The resource operation completed with terminal provisioning state 'Failed'.",
    "details": [
      {
        "code": "VMExtensionProvisioningError",
        "message": "VM has reported a failure when processing extension 'ServiceFabricNodeVmExt_vmNodeType0Name'.
Error message: \"Cannot find certificate with 'FindByThumbprint' 'D4DE20D05E66FC53FE1A50882C78DB2852CAE474' in store
'My'\"."
      }
    ]
  }
}
Details:
At C:\Users\t-rorose\source\repos\teams-verticals-healthcare\Healthcare\ScreenshotBot\Samples\setup-sf.ps1:12 char:1
+ New-AzureRmServiceFabricCluster -ResourceGroupName $resourceGroupName ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [New-AzureRmServiceFabricCluster], Exception
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.ServiceFabric.Commands.NewAzureRmServiceFabricCluster

New-AzureRmServiceFabricCluster : One or more errors occurred.
At C:\Users\t-rorose\source\repos\teams-verticals-healthcare\Healthcare\ScreenshotBot\Samples\setup-sf.ps1:12 char:1
+ New-AzureRmServiceFabricCluster -ResourceGroupName $resourceGroupName ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [New-AzureRmServiceFabricCluster], AggregateException
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.ServiceFabric.Commands.NewAzureRmServiceFabricCluster

Отсутствующий сертификат (D4Detc...) — это корневой сертификат Baltimore CyberTrust, который является корневым сертификатом для сертификата, который я создал для своей службы. Я не уверен, как решить эту ошибку.


person Rob Rose    schedule 25.07.2019    source источник
comment
Вы пытались загрузить его и установить на компьютерах кластера?   -  person LoekD    schedule 26.07.2019
comment
@LoekD Нет, так как я решил, что мне придется делать это вручную, что не является надежным решением.   -  person Rob Rose    schedule 29.07.2019


Ответы (1)


у вашего шаблона ARM есть следующие настройки ткани?

"fabricSettings": [
  {
    "name": "Security",
    "parameters": [
      {
        "name": "ClusterProtectionLevel",
        "value": "EncryptAndSign"
      }
    ]
  }

также еще одна вещь, которую нужно проверить при отладке сертификатов, является ли цепочка сертификатов доверенной и является ли цепочка сертификатов доверенной внутри Azure?

person OOPMichael    schedule 26.07.2019
comment
Да, он имеет уровень защиты EncryptAndSign. Должно ли быть что-то другое? Цепочка сертификатов доверена на моем компьютере, но я не знаю, доверена ли она в Azure. Я сгенерировал его через Azure, поэтому я бы предположил, что это так. - person Rob Rose; 29.07.2019
comment
да, эти значения верны, если сертификаты находятся в хранилище ключей, я бы проверил, что у вас есть правильный секретный URL-адрес в вашем шаблоне. (у нас было неудачное развертывание, потому что в конце секрета не было /) - person OOPMichael; 08.08.2019