מדריך קלאודפלייר בעברית

תיעוד 23

הבאת CA משלכם עבור mTLS

עודכן לאחרונה: 8 בספטמבר 2026

דף זה מסביר כיצד באפשרותכם לנהל תעודות לקוח שלא הונפקו על ידי ה-CA של Cloudflare. לקבלת סקירה רחבה יותר, עיינו ב-מסלול הלמידה של mTLS ב-Cloudflare.

הבאת CA משלכם (BYOCA) שימושית במיוחד אם כבר הטמעתם mTLS ו-תעודות לקוח כבר מותקנות במכשירים.

#זמינות

  • תכונה זו זמינה בחשבונות Enterprise בלבד.
  • כל חשבון Enterprise יכול להעלות עד חמישה גורמי תעודות (CAs). מכסה זו אינה חלה על CAs שהועלו דרך Cloudflare Access.
  • מכסת תעודות ה-CA משותפת בין API Shield, Workers mTLS, ו-Cloudflare Gateway.
  • כדי להגדיל מכסה זו, פנו לצוות החשבון שלכם.

הערה

אם תחרגו ממכסת תעודות ה-CA, ה-API מחזיר שגיאה 1489 עם ההודעה "Hit maximum CA cert allocation." פנו לצוות החשבון שלכם כדי לבקש הגדלת מכסה.

Cloudflare Access משתמש במכסה נפרדת

CAs שהועלו דרך Cloudflare Access משתמשים במכסה נפרדת שאינה נספרת מול מגבלת חמשת ה-CAs. אם מופיעה שגיאה 12130 ("maximum number of certificates has been reached") ב-Access, הדבר קשור למכסת התעודות של Access, ולא למכסת ה-CA של BYOCA.

#מתי להשתמש ב-BYOCA

BYOCA מתאים במיוחד אם:

  • כבר יש לכם CA פנימי ותעודות לקוח מותקנות במכשירים שלכם.
  • אתם מנפיקים תעודות בנפח גבוה או בתחלופה גבוהה, לדוגמה, תעודה אחת לכל מכונה וירטואלית זמנית (ephemeral), קונטיינר או מכשיר. עם BYOCA, קלאודפלייר מאחסנת רק את תעודת ה-CA שלכם, ולא תעודות שהונפקו באופן יחידני, כך שאין מכסה לפי תעודה.
  • אתם מעוניינים בשליטה מלאה על תקופות תוקף התעודות, סוגי המפתחות וביטול תעודות (revocation) באמצעות כלי ה-CA שלכם.

אם יש לכם רק קבוצה קטנה ויציבה של מכשירים או שירותים לאימות, ה-CA המנוהל על ידי Cloudflare פשוט יותר להגדרה.

#דרישות תעודת CA

כאשר אתם מעלים את ה-CA שלכם, Cloudflare מאמתת את התעודה בהתאם לדרישות מסוימות.

  • תעודת ה-CA יכולה להיות מ-CA בעל אמון ציבורי (publicly trusted CA) או בחתימה עצמית (self-signed).
  • ב-Basic Constraints של התעודה, המאפיין CA חייב להיות מוגדר כ-TRUE.
  • התעודה חייבת להשתמש באחד מאלגוריתמי החתימה המפורטים להלן:
    אלגוריתמי חתימה מותרים:
    x509.SHA1WithRSA
    x509.SHA256WithRSA
    x509.SHA384WithRSA
    x509.SHA512WithRSA
    x509.ECDSAWithSHA1
    x509.ECDSAWithSHA256
    x509.ECDSAWithSHA384
    x509.ECDSAWithSHA512

הערה

העלאת המפתח הפרטי של ה-CA נדרשת רק אם ברצונכם להשתמש ב-דף החסימה של Zero Trust. כדי להעלות CA משלכם עם המפתח הפרטי, השתמשו בנקודת הקצה Upload mTLS certificate.

#הגדרת mTLS עם ה-CA שלכם

#באמצעות לוח הבקרה

  1. בלוח הבקרה של Cloudflare, עברו לדף Client Certificates.
    מעבר אל Client Certificates
  2. בחרו ב-Add Certificate.
  3. בתפריט הנפתח Certificate Authority, בחרו ב-Bring your own CA.
  4. העלו את קובץ תעודת ה-CA שלכם (בקידוד PEM) והזינו שם עבור ה-CA.
  5. בחרו ב-Continue.
  6. בדף Associate Hostnames, הזינו את ה-hostname שאמור להשתמש ב-CA זה לצורך אימות mTLS ובחרו ב-Add עבור כל אחד מהם. תוכלו גם לדלג על שלב זה ולשייך שמות מארחים מאוחר יותר.
  7. בחרו ב-Save כדי לאשר.

#באמצעות ה-API

  1. השתמשו בנקודת הקצה Upload mTLS certificate כדי להעלות את תעודת השורש של ה-CA.
  • ca בוליאני, חובה
    • הגדירו כ-true כדי לציין שהתעודה היא תעודת CA.
  • certificates מחרוזת, חובה
    • הכניסו את התוכן מקובץ ה-.pem המשויך לתעודת ה-CA, מפורמט כמחרוזת אחת עם \n במקום מעברי שורה.
  • name מחרוזת, אופציונלי
    • ציינו שם ייחודי עבור תעודת ה-CA שלכם.
  • private_key מחרוזת, אופציונלי
    • הכניסו את התוכן מקובץ ה-.pem המשויך למפתח הפרטי עבור התעודה, מפורמט כמחרוזת אחת עם \n במקום מעברי שורה.
  1. רשמו לפניכם את מזהה התעודה (id) שמוחזר בתגובת ה-API.
  2. השתמשו בנקודת הקצה Replace Hostname Associations כדי להפעיל mTLS בכל hostname שאמור להשתמש ב-CA לצורך אימות mTLS. השתמשו בפרמטרים הבאים:
  • hostnames מערך, חובה
    • פרטו את שמות המארחים שישתמשו ב-CA לצורך אימות תעודת לקוח.
      זהירות
      שליחת מערך ריק תסיר את כל שיוכי שמות המארחים.
  • mtls_certificate_id מחרוזת, חובה
    • ציינו את מזהה התעודה שהתקבל מהשלב הקודם.
      זהירות
      אם לא מסופק mtls_certificate_id, הפעולה תתבצע מול ה-CA המנוהל על ידי Cloudflare.
  1. (אופציונלי) בצעו בקשת GET כדי לאמת את שיוכי שמות המארחים ל-CA.

לאחר העלאת ה-CA ושיוך שמות המארחים, צרו כלל מותאם אישית (custom rule) כדי לאכוף אימות תעודת לקוח. תוכלו לעשות זאת דרך לוח הבקרה או באמצעות ה-API.

  "expression": "(http.host in {\"<HOSTNAME_1>\" \"<HOSTNAME_2>\"} and not cf.tls_client_auth.cert_verified)",
  "action": "block"

הערה

בעת שימוש ברשומות CNAME, אכפו mTLS על ה-hostname הספציפי שבו הוא אמור להיבדק. לא די בהגדרתו ביעד ה-CNAME.

#מספר CAs עבור hostname אחד

יתכנו מספר CAs (בניהול Cloudflare או BYOCA) המשויכים לאותו hostname. עבור תעודות BYOCA, תינתן עדיפות לתעודה שנפרסה לאחרונה.

אם ברצונכם להסיר את השיוך מתעודה שהונפקה על ידי Cloudflare ולהשתמש אך ורק בתעודת או בתעודות ה-BYOCA שלכם:

#באמצעות לוח הבקרה

  1. בלוח הבקרה של Cloudflare, עברו לדף Client Certificates.
    מעבר אל Client Certificates
  2. בחלק Hosts תחת Cloudflare-issued Client Certificates, בחרו ב-Edit.
  3. בחרו בסימון ה-X לצד ה-hostname שברצונכם להסיר.
  4. בחרו ב-Save כדי לאשר.

#באמצעות ה-API

  1. הציגו את רשימת שיוכי שמות המארחים ללא הפרמטר mtls_certificate_id.

הרשאות API token נדרשות

נדרשת לפחות אחת מהרשאות הטוקן הבאות:

  • SSL and Certificates Write
  • SSL and Certificates Read
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/certificate_authorities/hostname_associations" \
	--request GET \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
  1. העתיקו את המערך hostnames שהוחזר על ידי ה-API ועדכנו אותו, תוך הסרת ה-hostname שלא אמור להשתמש עוד ב-CA המנוהל על ידי Cloudflare.
  2. השתמשו בנקודת הקצה Replace Hostname Associations ללא הפרמטר mtls_certificate_id כדי לבצע את הפעולה מול ה-CA המנוהל על ידי Cloudflare. עבור hostnames השתמשו ברשימה מהשלב הקודם.

הרשאות API token נדרשות

נדרשת לפחות אחת מהרשאות הטוקן הבאות:

  • SSL and Certificates Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/certificate_authorities/hostname_associations" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"hostnames": [
				"<UPDATED_HOSTNAME_ASSOCIATIONS>"
		]
	}'

#מחיקת CA שהועלה

אם ברצונכם להסיר CA שהעליתם בעבר, עליכם להסיר תחילה את כל שיוכי שמות המארחים הקיימים עבורו.

#באמצעות לוח הבקרה

  1. בלוח הבקרה של Cloudflare, עברו לדף Client Certificates.
    מעבר אל Client Certificates
  2. בחרו בלשונית BYOCA.
  3. מצאו את ה-CA שברצונכם למחוק ובחרו בשלוש הנקודות שלצידו.
  4. הסירו תחילה את כל שמות המארחים המשויכים, אם קיימים כאלה.
  5. בחרו באפשרות המחיקה ואשרו.

#באמצעות ה-API

  1. בצעו בקשה אל נקודת הקצה Replace Hostname Associations, עם מערך ריק עבור hostnames וציון מזהה תעודת ה-CA שלכם ב-mtls_certificate_id:
  "hostnames": [],
  "mtls_certificate_id": "<CERTIFICATE_ID>"
  1. השתמשו בנקודת הקצה Delete mTLS certificate כדי למחוק את התעודה.

#הצגת רשימת שיוכי hostname ל-CA

#באמצעות לוח הבקרה

  1. בלוח הבקרה של Cloudflare, עברו לדף Client Certificates.
    מעבר אל Client Certificates
  2. בחרו בלשונית BYOCA.
  3. מצאו את ה-CA שברצונכם לבדוק ובחרו בשלוש הנקודות שלצידו.
  4. בחרו ב-Edit hostnames. החלונית Certificate Details מציגה את שמות המארחים המשויכים.

#באמצעות ה-API

השתמשו בנקודת הקצה List Hostname Associations כאשר פרמטר השאילתה mtls_certificate_id מוגדר למזהה התעודה של ה-CA שהועלה.

הרשאות API token נדרשות

נדרשת לפחות אחת מהרשאות הטוקן הבאות:

  • SSL and Certificates Write
  • SSL and Certificates Read
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/certificate_authorities/hostname_associations?mtls_certificate_id=ID_FROM_STEP_2" \
	--request GET \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"