Добавление сертификата в Azure VM из Key Vault - PullRequest
0 голосов
/ 27 декабря 2018

Я настраиваю сертификат службы приложений для виртуальной машины Azure, используя шаги по этой ссылке - https://blogs.msdn.microsoft.com/appserviceteam/2017/10/26/configure-app-service-certificate-to-azure-virtual-machine/

Я выполнил шаги с 1 по 6. Я застрял, пытаясь добавить сертификат в виртуальную машину из ключа.Свод.Я использовал шаги по ссылке: https://docs.microsoft.com/en-us/azure/virtual-machines/windows/tutorial-secure-web-server

Я использовал следующие сценарии в облачной оболочке на портале Azure.

$certUrl = (Get-AzureKeyVaultSecret -VaultName "xxxKeyVault" -Name "xxxcert").Id;

$vm=Get-AzureRmVM -ResourceGroupName "xxx_Group" -Name "XXX"

$vaultId=(Get-AzureRmKeyVault -VaultName "xxxKeyVault").ResourceId

$certStore = "MyCert";

$vm = Add-AzureRmVMSecret -VM $vm -SourceVaultId $vaultId -CertificateStore $certStore -CertificateUrl $certURL

Update-AzureRmVM -ResourceGroupName "xxx_Group" -VM $vm>

Но, добравшись до последнего сценария, я получаюошибка

Update-AzureRmVM: список vaultCertificates содержит повторяющиеся экземпляры (https://xxxkeyvault.vault.azure.net/secrets/xxxxxx/xxxxxx, mycert), что запрещено.ErrorCode: InvalidParameter ErrorMessage: список vaultCertificates содержит повторные экземпляры (https://xxxkeyvault.vault.azure.net/secrets/xxxxxx/xxxxxx, mycert), что запрещено.ErrorTarget: vaultCertificates StatusCode: 400 ReasonPhrase: неверный запрос OperationID: 51078b39-72a0-4a6f-be02-e0fff12dff8b В строке: 1 символ: 1 + Update-AzureRmVM -ResourceGroupName "xxxx_Group" -VM $ vm ~ ~ ~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ CategoryInfo: CloseError: (:) [Update-AzVM], ComputeCloudException + FullyQualifiedErrorId: Microsoft.Azure.Commands.Compute.UpdateAzureVMCommand

Я что-то пропустил?Мой Vm окно.

ОБНОВЛЕНИЕ Я проверил, что у меня больше, чем тот же сертификат на Vm.Пожалуйста, какую именно мне удалить?

"secrets": [
        {
          "sourceVault": {
            "id": "/subscriptions/xxxx/resourceGroups/xxxx/providers/Microsoft.KeyVault/vaults/xxxKeyVault"
          },
          "vaultCertificates": [
            {
              "certificateUrl": "https://xxxkeyvault.vault.azure.net/secrets/xxxx/xxxx",
              "certificateStore": "My"
            },
            {
              "certificateUrl": "https://xxxxkeyvault.vault.azure.net/secrets/xxxxx/xxxxx",
              "certificateStore": "My"
            },
            {
              "certificateUrl": "https://xxxxkeyvault.vault.azure.net/secrets/xxxxxx/xxxxxxx",
              "certificateStore": "My"
            },
            {
              "certificateUrl": "https://xxxxkeyvault.vault.azure.net/secrets/xxxxxxx/xxxxxxxx",
              "certificateStore": "MyCert"
            }
          ]
        },
         {
      "sourceVault": {},
      "vaultCertificates": {}
    }
  ],

Ответы [ 2 ]

0 голосов
/ 27 декабря 2018

что вам нужно сделать, это:

  1. открыть resources.azure.com
  2. перейти к вашей виртуальной машине
  3. нажмите изменить, удалить сертификат из osProfileщелкните патч
  4. перезапустите ваш скрипт

вещь с Azure - он не знает (или не заботится), действительно ли у вашего виртуального компьютера есть тот сертификат, который вы пытаетесь установить, на что он жалуетсятот факт, что определение виртуальной машины уже имеет этот сертификат, поэтому он не может добавить его.

0 голосов
/ 27 декабря 2018

Когда вы добавляете сертификат в виртуальную машину Azure, вы должны убедиться, какой тип операционной системы используется в первую очередь.С описанием в документе Защитите веб-сервер на виртуальной машине Windows в Azure с помощью сертификатов SSL, хранящихся в хранилище ключей , которые вы выполнили:

Эти сертификаты SSL можно хранить вХранилище ключей Azure и разрешите безопасное развертывание сертификатов на виртуальных машинах Windows (ВМ) в Azure.

Кажется, что только работа для виртуальной машины Windows и я также сделали тест.Поэтому, если вы хотите добавить сертификат в виртуальную машину Linux, вы можете взглянуть на Защита веб-сервера на виртуальной машине Linux в Azure с помощью сертификатов SSL, хранящихся в Key Vault .

Кроме того, ошибка также показывает:

Update-AzureRmVM: список vaultCertificates содержит повторяющиеся экземпляры (https://xxxkeyvault.vault.azure.net/secrets/xxxxxx/xxxxxx, mycert), что запрещено.

Я предлагаю вам проверить, есть ли у виртуальной машины тот же сертификат.Со своей стороны, если вы добавите один и тот же сертификат дважды, и во второй раз выдаст ошибку, подобную этой:

enter image description here

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...