Certificate Provisioning API

‏Certificate Provisioning API מאפשר לשלב רשויות אישורים עם הקצאת אישורי לקוח ב-ChromeOS.

אדמינים ב-ChromeOS יכולים להגדיר את מכשירי ChromeOS או את משתמשי ChromeOS לבקש אישורי לקוח מרשויות אישורים חיצוניות. רשות האישורים פועלת עם Certificate Provisioning API דרך מתאמי Certificate Provisioning (למשל, Google Cloud Certificate Connector‏ (GCCC)). כל מתאם לניהול אישורים מקבל התראות על בקשות חדשות לניהול אישורים דרך Pub/Sub, ולאחר מכן משתמש ב-Certificate Provisioning API כדי לקיים אינטראקציה עם מכשיר ChromeOS או עם משתמש ChromeOS שמבקש אישור.

השירות הזה פועל עם המושגים העיקריים הבאים:

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

התהליך הכללי של הקצאת אישורים:

  • אחרי שהלקוח מאחזר פרופיל של אישור לקוח, הוא מפעיל תהליך הקצאת אישורים שמקושר למשאב להקצאת אישורים.
  • כל מתאם להקצאת אישורים שמנוי לנושא Pub/Sub הרלוונטי מקבל התראה על תהליך חדש להקצאת אישורים. ההתראה ב-Pub/Sub מכילה הודעת proto‏ CertificateProvisioningPubsubNotification שמעבירה את המזהה הייחודי של תהליך הקצאת האישור.
  • לכל מתאם לניהול אישורים יש גישה למשאב של תהליך הקצאת האישור. אפשר לעיין בשיטה get.
  • אפשר להריץ כמה מכונות של מתאם במקביל, והן יכולות לנסות לטעון לבעלות על אותו תהליך הקצאת אישורים בו-זמנית. אפשר לעיין בשיטה claim. עם זאת, שיטת ההצהרה תצליח רק למכונה אחת של Adapter, שצריכה לטפל גם בשאר השלבים בתהליך הקצאת האישור.
  • מתאם הקצאת האישורים יכול לבקש חתימה קריפטוגרפית שנוצרה באמצעות המפתח הפרטי של הלקוח. אפשר לעיין בשיטה signData. השיטה הזו מחזירה פעולה ממושכת.
  • מתאם הקצאת האישורים מקבל מדי פעם את המצב של הפעולה הממושכת, ראו השיטה get.
  • מתאם הקצאת האישורים מעלה אישור לתהליך הקצאת האישור. אפשר לעיין בתיאור השיטה uploadCertificate. אישור זה מיובא על ידי לקוח ChromeOS.
  • לאורך כל תהליך הקצאת האישור, המתאם יכול לסמן את תהליך הקצאת האישור ככישל. אפשר לעיין בתיאור השיטה setFailure. הודעת השגיאה מופיעה בדף ההגדרות של האישורים בלקוח ChromeOS. הלקוח מנסה שוב את תהליך הקצאת האישור במקרים מסוימים, למשל אחרי 24 שעות או אחרי הפעלה מחדש של המכשיר.

הפורמט הראשוני של הודעות Pub/Sub

הודעת ה-Pub/Sub הראשונית שנשלחת למתאמי הקצאת האישורים כדי להודיע להם על תהליך הקצאת אישורים חדש עומדת בפורמט הבא:

message CertificateProvisioningProcessCreatedEventData {
  // Unique ID of the certificate provisioning process.
  string certificate_provisioning_process_id = 1;

  // The customer ID to which the client of the certificate provisioning process
  // belongs.
  string customer_id = 2;
}

// Content of the pubsub message that is sent to the adapter to notify it about
// a new event that should be handled.
message CertificateProvisioningPubsubNotification {
  oneof event {
    // Event data of the certificate provisioning process that was created.
    CertificateProvisioningProcessCreatedEventData
        certificate_provisioning_process_created_event_data = 1;
  }
}

סקירה כללית מהירה של שיטות API

כתובות ה-URL הן יחסיות ל-https://chromemanagement.googleapis.com/v1/customers/{customer_id}

תיאור כתובת URL יחסית שיטת Http
קבלת תהליך להקצאת הרשאות לאישור /certificateProvisioningProcess/{certificate_provisioning_process_id} הורדה
תביעה על תהליך הקצאת אישורים /certificateProvisioningProcess/{certificate_provisioning_process_id}:claim פרסם
שליחת בקשה לחתימה קריפטוגרפית /certificateProvisioningProcess/{certificate_provisioning_process_id}:signData פרסם
העלאת אישור /certificateProvisioningProcess/{certificate_provisioning_process_id}:uploadCertificate פרסם
סימון תהליך הקצאת האישור כ'נכשל' /certificateProvisioningProcess/{certificate_provisioning_process_id}:setFailure פרסם
פעולה ממושכת של אחזור נתוני חתימה /certificateProvisioningProcess/{certificate_provisioning_process_id}/operations/{operation_id} הורדה

בקטע דוגמאות קוד מפורטות בקשות ותשובות לדוגמה.

היקפי API

כדי להשתמש ב-Chrome Management API, נדרש היקף ההרשאות הבא של OAuth:

https://www.googleapis.com/auth/chrome.management.certprov.provisioningprocess

למידע נוסף, קראו את הסקירה הכללית על אימות.