У меня есть служба приложений, и я хочу, чтобы люди с определенными сертификатами могли звонить мне, а затем также отправлять в службу отпечаток сертификата. Как мне сделать это в Azure?
Допустим, есть 10 различных систем, которые должны иметь возможность вызывать мою службу, используя свой собственный Сертификат (подписанный). Я бы хотел сверить их с теми, что есть в моем хранилище сертификатов, и если бы это был один из них, поместите Thumbprint в заголовок HTTP и отправьте его в мою службу приложений.
Мне это кажется работой брандмауэра, поэтому я проверил, что «Шлюз приложений» - это решение. Но я не мог найти, где я мог бы установить его, чтобы добавить отпечаток в заголовки HTTP.
Любые идеи?
В вашем случае шлюз приложений Azure ограничивается обработкой сертификатов. В вашем случае одним из наиболее распространенных решений является использование сертификата Azure Key Vault для хранения вашего сертификата. Каждый раз, когда кто-то отправляет запрос в ваше веб-приложение, ваше приложение должно будет обращаться к идентификатору сертификата Azure Key Vault, чтобы получить и проверить отпечаток пальца.
Эта статья может стать хорошим началом https://docs.microsoft.com/en-us/rest/api/keyvault/certificates-and-policies
Если вы используете REST API, вы можете получить отпечаток вашего сертификата с помощью операции Получить сертификат (https://docs.microsoft.com/en-us/rest/api/keyvault/getcertificate/getcertificate). Значение x5t в ответе - это информация об отпечатке пальца.
Почему я предлагаю Azure Key Vault? Потому что он предназначен для управления сертификатами и криптографическим управлением. Я не собираюсь говорить, что Azure Key Vault является лучшим или очень безопасным, но, по крайней мере, он предназначен для решения вашей проблемы наверняка.