الأهداف والوكلاء وwebhooks
الهدف هو مكان تُثبَّت فيه الشهادة. ويمكن لـ Automate Certificates أيضًا فحص الشهادات التي لا تديرها بعد وإرسال الأحداث إلى أدواتك.
أنواع الأهداف
- Azure: الآلات الافتراضية وSQL وApp Service وKey Vault وApplication Gateway وFront Door.
- AWS: ACM وCloudFront وموازن الحمل وRDS.
- Google Cloud: الآلات الافتراضية وموازن حمل HTTPS وCloud SQL وCloud Run.
- قواعد البيانات: PostgreSQL وMySQL وMongoDB وRedis.
- أخرى: Cloudflare ومضيفات SSH وAPI مخصص.
تغطي خطتا Business وMSP جميع أنواع الأهداف الـ 21. وتغطي Team ما يصل إلى 5 أهداف.
أهداف API المخصصة
يجب أن تكون نقطة النهاية عنوان https://. تُرفض نقطة نهاية http:// العادية لأن الطلب يحمل المفتاح الخاص.
وكيل Linux
الوكيل خدمة Python 3 صغيرة لمضيف Linux. يدفع Automate Certificates الشهادة إليها عبر https وبمفتاح الوكيل فقط. يُحدَّد مكان الملفات وكيفية إعادة تحميل الخدمة على المضيف وقت التثبيت، ولا يُؤخذان من أي طلب. يتطلب المثبّت systemd.
- أنشئ مفتاحًا عشوائيًا طويلًا، مثلًا بالأمر
openssl rand -hex 32. يجب ألا يقل عن 32 حرفًا. - نزّل المثبّت وشغّله على المضيف بصلاحيات root، مع المفتاح ومسارات خدمتك.
- أنشئ هدفًا في Automate Certificates بعنوان الوكيل (
https://<host>:8443) والمفتاح نفسه.
curl -fsSL https://api.automate-certificates.com/v1/agent/install/linux -o install-agent.sh
sudo CERTAI_AGENT_KEY="$(openssl rand -hex 32)" \
CERTAI_CERT_PATH=/etc/nginx/tls/site.crt \
CERTAI_KEY_PATH=/etc/nginx/tls/site.key \
CERTAI_RELOAD_COMMAND="systemctl reload nginx" \
bash install-agent.shاطبع المفتاح مرة واحدة واحفظه؛ فالهدف يحتاج القيمة نفسها. يكتب المثبّت ملف إعداد للمستخدم root فقط في /etc/automate-certificates/agent.json ويشغّل وحدة systemd المسماة automate-certificates-agent. يجيب الوكيل عبر https فقط ويعيد 401 لأي طلب بلا المفتاح الصحيح. ويعمل بـ https باستخدام الشهادة الموجودة في CERTAI_CERT_PATH (أو CERTAI_TLS_CERT وCERTAI_TLS_KEY)، لذا يجب أن يوجد هذا الملف قبل التثبيت. المنفذ الافتراضي هو 8443 (CERTAI_PORT).
وكيل Windows
وكيل Windows خدمة PowerShell لمضيف Windows. يدفع Automate Certificates الشهادات إليه عبر https فقط وبمفتاح الوكيل. يُحدَّد مكان الملفات وما يُنفَّذ بعد ذلك على المضيف وقت التثبيت، ولا يُؤخذان من أي طلب. يتطلب المثبّت PowerShell 7.4 أو أحدث (pwsh) ويجب تشغيله بصلاحيات المسؤول.
- أنشئ مفتاحًا لا يقل عن 32 حرفًا، مثلًا بأمر PowerShell في الكتلة أدناه.
- نزّل المثبّت وشغّله بصلاحيات المسؤول، مع المفتاح ومسارات خدمتك.
- اسمح بالمنفذ TCP الوارد 8443 من Automate Certificates في جدار حماية Windows. لا يفتحه المثبّت.
- أنشئ هدفًا في Automate Certificates بعنوان الوكيل (
https://<host>:8443) والمفتاح نفسه.
Invoke-WebRequest https://api.automate-certificates.com/v1/agent/install/windows -OutFile install-agent.ps1
$env:CERTAI_AGENT_KEY = [Convert]::ToHexString([Security.Cryptography.RandomNumberGenerator]::GetBytes(32))
$env:CERTAI_CERT_PATH = 'C:\certs\site.crt'; $env:CERTAI_KEY_PATH = 'C:\certs\site.key'
$env:CERTAI_CERT_STORE = 'My'; $env:CERTAI_RELOAD_COMMAND = '& C:\scripts\bind-certificate.ps1'
pwsh -NoProfile -ExecutionPolicy Bypass -File install-agent.ps1احفظ المفتاح؛ فالهدف يحتاج القيمة نفسها. يسجّل المثبّت الوكيل كمهمة مجدولة باسم AutomateCertificatesAgent تعمل بحساب SYSTEM، ويحتفظ بإعداده تحت C:\ProgramData\AutomateCertificates. يجيب الوكيل عبر https فقط ويعيد 401 لأي طلب بلا المفتاح الصحيح. إعدادات المثبّت هي:
| الإعداد | ما يفعله |
|---|---|
CERTAI_AGENT_KEY | مطلوب. لا يقل عن 32 حرفًا. يحتاج الهدف إلى المفتاح نفسه. |
CERTAI_CERT_PATH, CERTAI_KEY_PATH | مكان كتابة كل شهادة منشورة ومفتاحها بصيغة PEM. المجلد الافتراضي هو C:\ProgramData\AutomateCertificates\certs. |
CERTAI_CERT_STORE | مخزن شهادات LocalMachine، مثل My، تُستورد إليه كل شهادة أيضًا. |
CERTAI_RELOAD_COMMAND | أمر PowerShell يُنفَّذ بعد كل نشر، مع تعيين CERTAI_CERT_PATH وCERTAI_KEY_PATH وCERTAI_THUMBPRINT، مثلًا لربط الشهادة الجديدة في IIS. رمز خروج غير صفري يُفشل النشر. |
CERTAI_PORT | المنفذ الذي يستمع عليه الوكيل. القيمة الافتراضية 8443. |
CERTAI_TLS_CERT, CERTAI_TLS_KEY | شهادة https الخاصة بالوكيل. افتراضيًا يستخدم الشهادة والمفتاح اللذين يديرهما، ويجب أن يكونا موجودين مسبقًا بصيغة PEM وصالحين لاسم مضيف الجهاز. ملف الشهادة الذي يحتوي على مفتاحه أيضًا لا يحتاج إلى ملف مفتاح. |
ملفات المفاتيح قابلة للقراءة دائمًا لحساب SYSTEM والمسؤولين فقط، عند كل نشر. تحصل الخدمة التي يجب أن تقرأ مفتاحها على الوصول في أمر إعادة التحميل، مثلًا:
icacls "C:\certs\mongo.pem" /grant "NT SERVICE\MongoDB:R"; Restart-Service MongoDBإذا انتهت صلاحية الشهادة المُدارة، لن يتمكن Automate Certificates من الوصول إلى الوكيل. لتجنب ذلك، وجّه CERTAI_TLS_CERT وCERTAI_TLS_KEY إلى شهادة منفصلة طويلة الأمد. ولفتح المنفذ، يطبع المثبّت هذه القاعدة لتشغّلها:
New-NetFirewallRule -DisplayName 'Automate Certificates agent' -Direction Inbound -Protocol TCP -LocalPort 8443 -Action AllowDiscovery
تعثر عمليات الفحص على الشهادات غير الموجودة في جردك: فحص مستأجر Azure، وفحص AWS وGCP، وفحص الشبكة للنطاقات العامة. تُحتسب عمليات الفحص ضمن حد الفحص اليومي لخطتك، ويتطلب بدء أي منها مسؤولًا.
Webhooks
أضف webhook في صفحة Alerts لإرسال الأحداث إلى أدواتك. تشمل الأحداث cert.issued وcert.expiring وcert.issue_failed وcert.renew_failed وcert.renewal_dns_required وdeployment.success وdeployment.failed. كل طلب موقّع: يحمل الترويس X-Automate-Certificates-Signature القيمة sha256= متبوعة بـ HMAC لمحتوى الطلب مُنشأ بالسر الذي يظهر مرة واحدة عند إنشاء webhook.
MCP
لا يمكن بعد تثبيت أدوات MCP من المنتج، لذا فهي ليست جزءًا من المنتج اليوم.