במאמר הזה מוסבר איך להשתמש באישור אימייל של S/MIME ב-Gmail API.
Gmail API מספק גישה פרוגרמטית לניהול אישורים של אימיילים ב-S/MIME למשתמשים בדומיין Google Workspace.
כדי שהאישורים יפעלו, האדמין צריך להפעיל S/MIME מתארח עבור הדומיין.
תקן S/MIME מספק מפרט להצפנה של מפתח ציבורי ולחתימה של נתוני MIME. כשמגדירים אישורי S/MIME בחשבון משתמש, Gmail משתמש בהם בדרכים הבאות:
חתימה על אימייל יוצא באמצעות אישור המשתמש והמפתח הפרטי.
לפענח את האימייל הנכנס באמצעות המפתח הפרטי של המשתמש.
הצפנה של אימייל יוצא באמצעות האישור והמפתח הציבורי של הנמען.
מאמתים אימייל נכנס באמצעות האישור והמפתח הציבורי של השולח.
אתם יכולים ליצור אישורי S/MIME פרטניים ולהעלות אותם באמצעות Gmail API. כל אישור S/MIME מיועד לכינוי ספציפי של חשבון אימייל של משתמש. כינויים כוללים את כתובת האימייל הראשית וכתובות מותאמות אישית של 'שליחה בתור'. ה-API מסמן אישור S/MIME יחיד כברירת המחדל לכל כינוי.
מידע נוסף על כתובות אימייל חלופיות זמין במאמר ניהול כתובות אימייל חלופיות וחתימות באמצעות Gmail API.
אישור גישה ל-API
כדי לאשר גישה ל-Gmail API, משתמשים באחת מהשיטות הבאות:
להשתמש בחשבון שירות עם האצלת הרשאות גישה ברמת הדומיין. הסבר על המונחים האלה מופיע במאמר מידע על אימות והרשאה. הוראות להפעלת האפשרות הזו מופיעות במאמר בנושא יצירת פרטי גישה.
משתמשים בתהליך סטנדרטי של OAuth 2.0 שדורש הסכמה מהמשתמש כדי לקבל טוקן גישה מסוג OAuth 2.0. מידע נוסף זמין במאמר מידע על אימות והרשאה.
כדי להשתמש באפשרות הזו, האדמין של הדומיין צריך לסמן את התיבה הפעלת הצפנה באמצעות S/MIME לשליחה וקבלה של אימיילים במסוף Google Admin. מידע נוסף מופיע במאמר בנושא הפעלה של S/MIME מתארח במסוף Google Admin.
היקפים של רשימות ACL
Gmail API מסתמך על אותם היקפי ACL כמו שיטות Gmail sendAs:
gmail.settings.basic: ההיקף הזה נדרש לעדכון של S/MIME הראשי.SendAs
gmail.settings.sharing: ההיקף הזה נדרש לעדכון ה-S/MIME המותאם אישית של מ.
הגדרת מפתחות S/MIME
במשאב settings.sendAs.smimeInfo יש כמה שיטות לניהול אישורי S/MIME. כל אישור משויך לכינוי 'שליחה בשם' אחד של משתמש.
כדי לקבוע את הכינויים של משתמש לשליחה בשם, משתמשים ב-method settings.sendAs.list במשאב settings.sendAs.
העלאת מפתח S/MIME
משתמשים ב-method settings.sendAs.smimeInfo.insert במשאב settings.sendAs.smimeInfo כדי להעלות מפתח S/MIME חדש עבור כינוי ששייך למשתמש. מזהים את הכינוי של היעד באמצעות פרמטרים של נתיב:
userId: כתובת האימייל של המשתמש. משתמשים בערך המיוחדmeכדי לציין את המשתמש המאומת.
sendAsEmail: הכינוי שעבורו מעלים את המפתח. כתובת האימייל הזו מופיעה בכותרת שלFrom:עבור אימייל שנשלח באמצעות הכינוי הזה.
אישור ה-S/MIME והמפתח הפרטי צריכים להיות בפורמט הזה בשדה pkcs12. לא צריך להגדיר שדות אחרים בבקשה. השדה pkcs12
מכיל גם את מפתח ה-S/MIME של המשתמש וגם את שרשרת אישורי החתימה. ממשק ה-API מבצע אימותים רגילים בשדה הזה לפני שהוא מקבל אותו, ומוודא את הפרטים הבאים:
- הנושא זהה לכתובת האימייל שצוינה.
- זמני התפוגה תקינים.
- רשות האישורים (CA) המנפיקה נמצאת ברשימת הרשויות המהימנות של Google.
- האישורים תואמים למגבלות הטכניות של Gmail.
אם המפתח מוצפן, הסיסמה צריכה להיות בשדה encryptedKeyPassword. קריאה מוצלחת ל-method settings.sendAs.smimeInfo.insert מחזירה את המשאב settings.sendAs.smimeInfo id שמשמש להתייחסות למפתח בעתיד.
הצגת רשימה של מפתחות S/MIME של משתמש
משתמשים בשיטה settings.sendAs.smimeInfo.list במשאב settings.sendAs.smimeInfo כדי להחזיר את רשימת מפתחות S/MIME של המשתמש שצוין עבור הכינוי שצוין. מזהים את הכינוי של היעד באמצעות פרמטרים של נתיב:
userId: כתובת האימייל של המשתמש. משתמשים בערך המיוחדmeכדי לציין את המשתמש המאומת.
sendAsEmail: הכינוי שעבורו רוצים להציג את רשימת המפתחות. כתובת האימייל הזו מופיעה בכותרתFrom:של אימיילים שנשלחים באמצעות הכינוי הזה.
שליפת מפתחות S/MIME של כתובת אימייל חלופית
משתמשים ב-method settings.sendAs.smimeInfo.get במשאב settings.sendAs.smimeInfo כדי להחזיר את מפתחות ה-S/MIME הספציפיים עבור כינוי ספציפי של משתמש לשליחת אימייל. מזהים את הכינוי של היעד באמצעות פרמטרים של נתיב:
userId: כתובת האימייל של המשתמש. משתמשים בערך המיוחדmeכדי לציין את המשתמש המאומת.
sendAsEmail: הכינוי שממנו מאחזרים את המפתחות. כתובת האימייל הזו מופיעה בכותרת שלFrom:עבור אימייל שנשלח באמצעות הכינוי הזה.
מחיקה של מפתח S/MIME
משתמשים ב-method settings.sendAs.smimeInfo.delete במשאב settings.sendAs.smimeInfo כדי למחוק את מפתח ה-S/MIME שצוין מכינוי. מזהים את הכינוי של היעד באמצעות הפרמטרים הבאים של נתיב:
userId: כתובת האימייל של המשתמש. משתמשים בערך המיוחדmeכדי לציין את המשתמש המאומת.
sendAsEmail: הכינוי שממנו רוצים למחוק את המפתחות. כתובת האימייל הזו מופיעה בכותרת שלFrom:עבור אימייל שנשלח באמצעות הכינוי הזה.
id: המזהה הקבוע שלsmimeInfo.
הגדרת מפתח S/MIME שמשמש כברירת מחדל לכתובת אימייל חלופית
משתמשים ב-method settings.sendAs.smimeInfo.setDefault במשאב settings.sendAs.smimeInfo כדי לסמן את מפתח ה-S/MIME שצוין כמפתח ברירת המחדל עבור הכינוי שצוין. מזהים את הכינוי של היעד באמצעות פרמטרים של נתיב:
userId: כתובת האימייל של המשתמש. משתמשים בערך המיוחדmeכדי לציין את המשתמש המאומת.
sendAsEmail: הכינוי שעבורו רוצים להגדיר מפתחות כברירת מחדל. כתובת האימייל הזו מופיעה בכותרת שלFrom:עבור אימייל שנשלח באמצעות הכינוי הזה.
id: המזהה הקבוע שלsmimeInfo.
דוגמאות קוד
בדוגמאות הקוד הבאות אפשר לראות איך משתמשים ב-Gmail API כדי לנהל אישורי S/MIME בארגון עם כמה משתמשים:
יצירת משאב smimeInfo לאישור S/MIME
בדוגמת הקוד הזו מוצג איך לקרוא אישור מקובץ, לקודד אותו למחרוזת Base64URL ולהקצות אותו לשדה pkcs12 במשאב settings.sendAs.smimeInfo:
Java
Python
העלאת אישור S/MIME
כדי להעלות אישור, צריך לבצע קריאה ל-method settings.sendAs.smimeInfo.insert ולספק את משאב settings.sendAs.smimeInfo בגוף הבקשה:
Java
Python
ניהול אישורים של כמה משתמשים
בדוגמאות הקוד האלה אפשר לראות איך לנהל אישורים של כמה משתמשים בארגון באמצעות קריאה אחת של קבוצת משתמשים:
הוספת אישורים מקובץ CSV
זוהי דוגמה לקובץ CSV שכולל רשימה של מזהי משתמשים והנתיב לכל אישור משתמש:
$ cat certificates.csv
user1@example.com,/path/to/user1_cert.p12,cert_password_1
user2@example.com,/path/to/user2_cert.p12,cert_password_2
user3@example.com,/path/to/user3_cert.p12,cert_password_3
Java
אפשר להשתמש בדוגמאות של
CreateSmimeInfo ושל
InsertSmimeInfo כדי להעלות את האישורים של המשתמשים שמצוינים בקובץ CSV:
Python
אתם יכולים להשתמש בדוגמאות של
create_smime_info ושל
insert_smime_info
כדי להעלות את האישורים של המשתמשים שצוינו בקובץ CSV:
ניהול אישורים
בדוגמה הזו משולבות כמה שיטות מהמקור settings.sendAs.smimeInfo כדי להראות איך לנהל אישורים בארגון. מוצגת רשימה של האישורים של המשתמש. אם תוקף אישור ברירת המחדל פג או שהוא לא מוגדר, המערכת מעלה את האישור שנמצא בקובץ שצוין. לאחר מכן, המערכת מגדירה את האישור שתוקף שלו יפוג הכי מאוחר כברירת מחדל.
הפונקציה הזו מעבדת קובץ CSV, בדומה לדוגמה הקודמת Insert certificates from a CSV file.
Java
Python
נושאים קשורים
- ניהול כינויים וחתימות באמצעות Gmail API
- בחירת היקפי הרשאות של Gmail API
- איך מפעילים S/MIME מתארח להצפנה של הודעות