В настоящее время я работаю над проектом, в котором мне нужно управлять сертификатами SSL/TLS, созданными с помощью AWS Certificate Manager (ACM), и развертывать их. их на портал Imperva, чтобы защитить веб-сайт. На данный момент мне удалось:
1: создать сертификат в AWS ACM.
2: вручную импортировать этот сертификат в Imperva через пользовательский интерфейс.
Однако сейчас я хочу автоматизировать весь процесс, включая:
- Мониторинг истечения срока действия сертификата на AWS.
- Загрузка обновленного сертификата с AWS.
- Автоматический импорт обновленного сертификата в Imperva.
Ручной процесс: я создал пошаговое руководство по выполнению этого вручную, но хочу избежать вмешательства человека.
Imperva API: я обнаружил, что Imperva предоставляет конечную точку API. (/customCertificate) для загрузки пользовательских сертификатов. Для этой цели я начал писать скрипт на Python. Вот пример на Python:
Код: Выделить всё
import requests
# Configuration
api_url = "https://api.imperva.com/sites/{extSiteId}/customCertificate"
api_key = "your_api_key" # Replace with your Imperva API key
extSiteId = "your_extSiteId" # Replace with your site's external ID
# Load certificate files
with open("certificate.crt", "r") as cert_file:
certificate = cert_file.read()
with open("intermediate.crt", "r") as interm_file:
intermediate = interm_file.read()
with open("private.key", "r") as key_file:
private_key = key_file.read()
# Request payload
data = {
"certificate": certificate,
"intermediate": intermediate,
"privateKey": private_key
}
# Headers
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
# Send the request
response = requests.post(api_url.format(extSiteId=extSiteId), json=data, headers=headers)
# Check the response
if response.status_code == 200:
print("Certificate successfully uploaded to Imperva.")
else:
print(f"Error: {response.status_code} - {response.text}")
Вопросы:
- Существует ли стандартный или передовой подход для автоматизации всего этого рабочего процесса (создание, обновление, импорт)?< /li>
Есть ли специальные инструменты или платформы для интеграции с Imperva с использованием их API? - Как другие разработчики справляются с автоматизацией управления сертификатами между AWS и Imperva?
- Есть ли примеры сценарии или конвейеры CI/CD, которые могут этого добиться?
Заранее благодарим за помощь!
Подробнее здесь: https://stackoverflow.com/questions/793 ... script-api