בקטע הזה מפורטת הדרכה לפתרון בעיות נפוצות שנתקלים בהן כשמגדירים ומשתמשים ב-mTLS עם שירות מנוהל ל-Apache Kafka.
שגיאות בעדכון אשכול
יכול להיות שתיתקלו בשגיאות הבאות כשמריצים פקודה של gcloud managed-kafka clusters update או gcloud managed-kafka clusters create.
כלל מיפוי של SSL לא תקין
מופיעה הודעת שגיאה שדומה לאחת מההודעות הבאות:
INVALID_ARGUMENT: The request was invalid: invalid SSL principal mapping
rule: \"RULE:INVALID-RULE\". The rule must be of the format DEFAULT or
RULE:pattern/replacement/[LU]
INVALID_ARGUMENT: The request was invalid: invalid SSL principal mapping
rules: \"RULE:\\nRULE:,DEFAULT\" contains a newline
הודעות השגיאה מופיעות כי הפורמט של הערך שצוין בדגל ssl-principal-mapping-rules שגוי או שהוא מכיל תווים לא תקינים.
מתקנים את הכלל כך שיתאים לפורמט הנדרש, ומוודאים שמחרוזת הכלל לא מכילה תווי מעבר לשורה חדשה. מידע נוסף על הדגל ssl-principal-mapping-rules זמין במאמר מיפוי ישויות מורשות.
הגדרה לא תקינה של מאגר רשויות להנפקת אישורים (CA)
מופיעה הודעת שגיאה שדומה לאחת מההודעות הבאות:
INVALID_ARGUMENT: The request was invalid:
ca_pool: project/managed-kafka-test/locations/us-central1/test-ca-pool
doesn't match the expected format: projects/{project}/locations/{location}/caPools/{caPool}
INVALID_ARGUMENT: The request was invalid: maximum of 10 CA pools can be specified
INVALID_ARGUMENT: The request was invalid: duplicate CA pool:
projects/managed-kafka-test/locations/us-central1/caPools/test-ca-pool.
All CA pools must be unique
הודעות השגיאה מופיעות כי רשימת מאגרי רשויות להנפקת אישורים (CA) שסופקה לדגל [mtls-ca-pools] לא תקינה. בודקים את רשימת מאגרי רשויות להנפקת אישורים (CA) ומוודאים את הדברים הבאים:
כל השמות של מאגרי רשויות להנפקת אישורים (CA) משתמשים בפורמט המלא של המשאב:
projects/PROJECT_ID/locations/LOCATION/caPools/CA_POOL_ID.אין מאגרי רשויות להנפקת אישורים (CA) כפולים ברשימה.
המספר הכולל של מאגרי CA לא עולה על 10.
האשכול לא תומך ב-mTLS
מופיעה הודעת שגיאה שדומה להודעה הבאה:
FAILED_PRECONDITION: Invalid resource state for \"tls_config\": mTLS is not
supported for this cluster because it was created before the mTLS feature
was added. Please create a new cluster to use mTLS.
הודעת השגיאה מופיעה כי אתם מנסים להפעיל mTLS באשכול שנוצר לפני שהתכונה הייתה זמינה. כפי שמופיע בהודעת השגיאה, צריך ליצור אשכול חדש כדי להשתמש ב-mTLS. אי אפשר להפעיל mTLS באשכול קיים שלא עומד בדרישות ונוצר לפני 24 ביוני 2025.
כשלים בחיבור של לקוחות
אם אפליקציית לקוח לא מצליחה להתחבר לנקודת הקצה של mTLS באשכול, כדאי לבדוק את בעיות ההגדרה הנפוצות הבאות:
כתובת bootstrap שגויה: צריך לוודא שמשתמשים בכתובת bootstrap הנכונה. חובה להשתמש בכתובת האתחול של mTLS שמסתיימת ב-
9192ולא ב-9092.אישור לקוח לא תקין או שגוי: מוודאים שאישור הלקוח תקף, שתוקפו לא פג ושנפק על ידי רשות אישורים (CA) שנמצאת באחד ממאגרי רשויות האישורים שהוגדרו באשכול.
הגדרה שגויה של מאגר המפתחות של הלקוח: מוודאים שההגדרה של אפליקציית הלקוח מצביעה נכון על קובצי מאגר המפתחות ומאגר האישורים שלה, ושהסיסמאות נכונות.
רשימות ACL שגויות ב-Kafka: צריך לוודא שיצרתם את רשימות ה-ACL הדרושות ב-Kafka עבור המשתמש המאומת. חשוב לזכור שהפרינציפל הוא שם הנושא של האישור (או כינוי ממופה), עם הקידומת
User:. לדוגמה, אם שם הנושא הואtest-user, העיקרון הואUser:test-user.
שגיאות ב-Cloud Logging
יכול להיות שהשגיאות הבאות יופיעו ביומנים של האשכול, שאפשר לראות אותם ב-Logging. מידע נוסף על Logging זמין במאמר הצגת יומנים באמצעות Logs Explorer.
גודל מאגר האישורים חורג מהמקסימום
תופיע רשומה ביומן שדומה לזו:
Trust store size X bytes exceeds the maximum allowed size of 1000 KiB
and cannot be updated.
הודעת השגיאה מופיעה כי הגודל הכולל של כל אישורי ה-CA במאגרי ה-CA שהוגדרו גדול מהמגבלה של 1,000KiB.
כדי להקטין את הגודל הכולל, צריך לבדוק את האישורים במאגרי CA. יכול להיות שתצטרכו להסיר אישורים גדולים או מיותרים או לבצע אופטימיזציה של שרשראות CA.
אחזור האישורים ממאגר ה-CA נכשל
תופיע רשומה ביומן שדומה לזו:
Managed Service for Apache Kafka failed to fetch certificates from
CA pool <ca-pool-name>. Error: <error>.
הודעת השגיאה מופיעה אם סוכן השירות המנוהל ל-Apache Kafka לא הצליח לאחזר את האישורים ממאגר רשויות להנפקת אישורים (CA) שצוין. החלק של השגיאה בהודעה מספק פרטים נוספים. סיבה נפוצה לכשל הזה היא הרשאות חסרות ב-IAM.
מוודאים שלסוכן השירות של השירות המנוהל ל-Apache Kafka מוקצה התפקיד CA Pool Reader (roles/privateca.poolReader) בפרויקט שמכיל את מאגר אישורי ה-CA. זה חשוב במיוחד בהגדרות של פרויקטים שונים.
מידע נוסף על ההרשאות הנדרשות להגדרת mTLS זמין במאמר תפקידים והרשאות נדרשים.