توثيق Automate Certificates

الأهداف والوكلاء وwebhooks

الهدف هو مكان تُثبَّت فيه الشهادة. ويمكن لـ Automate Certificates أيضًا فحص الشهادات التي لا تديرها بعد وإرسال الأحداث إلى أدواتك.

أنواع الأهداف

تغطي خطتا Business وMSP جميع أنواع الأهداف الـ 21. وتغطي Team ما يصل إلى 5 أهداف.

أهداف API المخصصة

يجب أن تكون نقطة النهاية عنوان https://. تُرفض نقطة نهاية http:// العادية لأن الطلب يحمل المفتاح الخاص.

وكيل Linux

الوكيل خدمة Python 3 صغيرة لمضيف Linux. يدفع Automate Certificates الشهادة إليها عبر https وبمفتاح الوكيل فقط. يُحدَّد مكان الملفات وكيفية إعادة تحميل الخدمة على المضيف وقت التثبيت، ولا يُؤخذان من أي طلب. يتطلب المثبّت systemd.

  1. أنشئ مفتاحًا عشوائيًا طويلًا، مثلًا بالأمر openssl rand -hex 32. يجب ألا يقل عن 32 حرفًا.
  2. نزّل المثبّت وشغّله على المضيف بصلاحيات root، مع المفتاح ومسارات خدمتك.
  3. أنشئ هدفًا في 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) ويجب تشغيله بصلاحيات المسؤول.

  1. أنشئ مفتاحًا لا يقل عن 32 حرفًا، مثلًا بأمر PowerShell في الكتلة أدناه.
  2. نزّل المثبّت وشغّله بصلاحيات المسؤول، مع المفتاح ومسارات خدمتك.
  3. اسمح بالمنفذ TCP الوارد 8443 من Automate Certificates في جدار حماية Windows. لا يفتحه المثبّت.
  4. أنشئ هدفًا في 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 Allow

Discovery

تعثر عمليات الفحص على الشهادات غير الموجودة في جردك: فحص مستأجر 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 من المنتج، لذا فهي ليست جزءًا من المنتج اليوم.