Единственный способ, который я могу найти для добавления сертификата для безопасного LDAP (LDAP / S) для доменных служб Azure Active Directory, - это загрузить сертификат с моего локального компьютера. Это кажется очень плохим решением для управления ключами, когда хранилища ключей Microsoft Azure доступны для создания и хранения пар ключей и сертификатов. Я что-то упускаю? Есть ли способ напрямую использовать сертификат и пару ключей из Key Vault, или я должен загрузить их из Key Vault, а затем загрузить их для LDAP / S? Лучшие практики PKI диктуют, что я никогда не обращаюсь к закрытому ключу напрямую.
От службы поддержки Microsoft, задав тот же вопрос, который я разместил здесь:
Привет Скотт,
Спасибо, что обратились в службу поддержки Microsoft. Меня зовут Дэвид Солано. Я специалист по поддержке, который будет работать с вами над этим запросом на обслуживание. Вы можете связаться со мной, используя указанную ниже контактную информацию по номеру SR 11 ******* 000 ***.
Согласно описанию вашей проблемы, я понимаю, что вам необходимо знать способ прямого использования сертификата и пары ключей из Key Vault для безопасного LDAP (LDAP / S).
В этом случае я хотел бы объяснить вам, что на данный момент единственный способ добавить сертификат для безопасного LDAP для доменных служб Azure Active Directory - это загрузить сертификат с вашего локального компьютера, как это объясняется в этой статье Microsoft о том, как настроить безопасный LDAP для вашего управляемого домена: https://docs.microsoft.com/en-us/azure/active-directory-domain-services/tutorial-configure-ldaps.
Кроме того, мы не можем использовать сертификат и пару ключей непосредственно из Key Vault для безопасного LDAP. Потребуется загрузить закрытый ключ и загрузить его на свой локальный компьютер, следуя инструкциям, приведенным выше.
Кроме того, если вам нужно знать, как загрузить этот закрытый ключ из KeyVault с паролем PFX, вы можете запустить этот скрипт в PowerShell:
Login-AzureRmAccount
$vaultName = "<NameOfKeyVault>"$vaultName = "<NameOfKeyVault>"
$keyVaultSecretName = "<NameOfTheSecretWhereCertificateIsStored>"
$secret = Get-AzureKeyVaultSecret -VaultName $VaultName -Name $keyVaultSecretName
$pfxCertObject = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 -ArgumentList @([Convert]::FromBase64String($secret.SecretValueText),"",[System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable)
$pfxPassword = -join ((65..90) + (97..122) + (48..57) | Get-Random -Count 50 | % {[char]$_})
$currentDirectory = (Get-Location -PSProvider FileSystem).ProviderPath
[Environment]::CurrentDirectory = (Get-Location -PSProvider FileSystem).ProviderPath
[io.file]::WriteAllBytes(".\KeyVaultCertificate.pfx", $pfxCertObject.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12, $pfxPassword))
Write-Host "Created an App Service Certificate copy at: $currentDirectory\KeyVaultCertificate.pfx"
Write-Warning "For security reasons, do not store the PFX password. Use it directly from the console as required."
Write-Host "PFX password: $pfxPassword"
Если у вас есть какие-либо вопросы или проблемы, дайте мне знать.
Наилучшие пожелания,
Дэвид Солано | Инженер службы поддержки | Служба поддержки Azure
Эл. Почта: v-*****@microsoft.com | Менеджер: v-*****@microsoft.com
Время работы: 7:30 - 16:30 (пн-пт) MDT | Местное время
Чтобы связаться со службой поддержки Azure в нерабочее время, отправьте электронное письмо по адресу azurebu@microsoft.com, указав свой номер запроса в службу поддержки.
Ах хорошо.