Gmail S/MIME API מספק גישה פרוגרמטית לניהול אישורי אימייל S/MIME למשתמשים בדומיין Google Workspace .
כדי שהאישורים יפעלו, האדמין צריך להפעיל את S/MIME בדומיין.
תקן S/MIME מספק מפרט להצפנה ולחתימה של נתוני MIME באמצעות מפתח ציבורי. הגדרת אישורי S/MIME בחשבון של משתמש גורמת ל-Gmail להשתמש באישור הזה בדרכים הבאות:
- Gmail משתמש באישור ובמפתח הפרטי של המשתמש כדי לחתום על אימייל יוצא.
- Gmail משתמש במפתח הפרטי של המשתמש כדי לפענח אימיילים נכנסים.
- Gmail משתמש באישור ובמפתח הציבורי של הנמען כדי להצפין את האימיילים היוצאים.
- Gmail משתמש באישור ובמפתח הציבורי של השולח כדי לאמת את האימייל הנכנס.
אתם יוצרים אישורי S/MIME נפרדים ומעלים אותם באמצעות ה-API. כל אישור S/MIME מיועד לכתובת אימייל חלופית ספציפית של חשבון משתמש. כתובות אימייל חלופיות כוללות את כתובת האימייל הראשית וגם כתובות מותאמות אישית ל'שליחת אימייל כ'. אישור S/MIME אחד מסומן כברירת המחדל לכל כתובת אימייל חלופית.
מתן הרשאה לגישה ל-API
יש שתי דרכים להעניק הרשאת גישה ל-API:
- אפשר להשתמש בחשבון שירות עם הענקת גישה ברמת הדומיין. הסבר על המונחים האלה זמין במאמר מונחים בסקירה הכללית על אימות והרשאה. מידע נוסף על הפעלת האפשרות הזו זמין במאמר יצירת חשבון שירות עם הענקת גישה ברמת הדומיין.
- אפשר להשתמש בתהליך OAuth2 רגיל שמחייב הסכמה של משתמש הקצה כדי לקבל אסימון גישה מסוג OAuth2. מידע נוסף זמין במאמר סקירה כללית על אימות והרשאה. כדי להשתמש באפשרות הזו, האדמין של הדומיין צריך לסמן את התיבה 'הרשאת הגישה של משתמשי הקצה ל-S/MIME API מופעלת' בלוח הבקרה של הדומיין.
היקפים של רשימות ACL
ממשק ה-API הזה מסתמך על אותן רמות היקף של רשימות ACL כמו השיטות של Gmail sendAs:
- gmail.settings.basic
- היקף הגישה הזה נדרש לעדכון ה-S/MIME הראשי של SendAs.
- gmail.settings.sharing
- היקף זה נדרש לעדכון מ S/MIME בהתאמה אישית.
שימוש ב-API
המשאב users.settings.sendAs.smimeInfo מספק את השיטות לניהול אישורי S/MIME. כל אישור משויך לכתובת אימייל חלופית אחת לצורך שליחה בשם משתמש.
העלאת מפתח S/MIME
משתמשים ב-method smimeInfo.insert() כדי להעלות מפתח S/MIME חדש לכתובת אימייל חלופית ששייכת למשתמש. כדי לזהות את הכינוי של היעד, משתמשים בפרמטרים הבאים:
- userId
- כתובת האימייל של המשתמש. אפשר להשתמש בערך המיוחד
me
כדי לציין את המשתמש המאומת הנוכחי. - sendAsEmail
- הכינוי שלגביו מעלים את המפתח. זוהי כתובת האימייל שמופיעה בכותרת 'מאת:' באימיילים שנשלחים באמצעות הכתובת החלופית הזו.
אישור ה-S/MIME והמפתח הפרטי צריכים להופיע בשדה pkcs12
בפורמט הזה. אסור להגדיר שדות אחרים בבקשה. השדה PKCS12 אמור להכיל גם את מפתח ה-S/MIME של המשתמש וגם את שרשרת אישורי החתימה. ממשק ה-API מבצע אימותים רגילים בשדה הזה לפני שהוא מקבל אותו, ומוודא את הפרטים הבאים:
- הנושא תואם לכתובת האימייל שצוינה.
- זמני התפוגה תקפים.
- רשות האישורים (CA) המנפיקה נכללת ברשימה המהימנה שלנו.
- האישורים תואמים לאילוצים הטכניים של Gmail.
אם המפתח מוצפן, הסיסמה צריכה להופיע בשדה encryptedKeyPassword
. קריאות insert() מוצלחות יחזירו את המזהה של smimeInfo, שאפשר להשתמש בו כדי להפנות למפתח בעתיד.
הצגת רשימה של מפתחות S/MIME של משתמש
משתמשים בשיטה smimeInfo.list() כדי להציג את רשימת מפתחות ה-S/MIME של המשתמש הנתון בשם החלופי הנתון. כדי לזהות את הכינוי של היעד, משתמשים בפרמטרים הבאים:
- userId
- כתובת האימייל של המשתמש. אפשר להשתמש בערך המיוחד
me
כדי לציין את המשתמש המאומת הנוכחי. - sendAsEmail
- הכינוי שלגביו רוצים להציג את המפתחות. זוהי כתובת האימייל שמופיעה בכותרת 'מאת:' באימיילים שנשלחים באמצעות הכתובת החלופית הזו.
אחזור מפתחות S/MIME של כתובת אימייל חלופית
משתמשים ב-method smimeInfo.get() כדי להחזיר את מפתחות ה-S/MIME הספציפיים של כתובת אימייל חלופית ספציפית לשליחה בשם אחר של משתמש. כדי לזהות את הכינוי של היעד, משתמשים בפרמטרים הבאים:
- userId
- כתובת האימייל של המשתמש. אפשר להשתמש בערך המיוחד
me
כדי לציין את המשתמש המאומת הנוכחי. - sendAsEmail
- הכינוי שלגביו מאחזרים את המפתחות. זוהי כתובת האימייל שמופיעה בכותרת 'מאת:' באימיילים שנשלחים באמצעות הכתובת החלופית הזו.
מחיקה של מפתח S/MIME
משתמשים ב-method smimeInfo.delete() כדי למחוק את מפתח ה-S/MIME שצוין מכתובת אימייל חלופית. כדי לזהות את הכינוי של היעד, משתמשים בפרמטרים הבאים:
- userId
- כתובת האימייל של המשתמש. אפשר להשתמש בערך המיוחד
me
כדי לציין את המשתמש המאומת הנוכחי. - sendAsEmail
- הכינוי שלגביו מאחזרים את המפתחות. זוהי כתובת האימייל שמופיעה בכותרת 'מאת:' באימיילים שנשלחים באמצעות הכתובת החלופית הזו.
- id [מזהה]
- המזהה הקבוע של SmimeInfo.
הגדרת מפתח S/MIME שמוגדר כברירת מחדל לכתובת אימייל חלופית
משתמשים ב-method smimeInfo.setDefault() כדי לסמן את מפתח ה-S/MIME שצוין כברירת המחדל לכתובת החלופית שצוינה. כדי לזהות את הכינוי של היעד, משתמשים בפרמטרים הבאים:
- userId
- כתובת האימייל של המשתמש. אפשר להשתמש בערך המיוחד
me
כדי לציין את המשתמש המאומת הנוכחי. - sendAsEmail
- הכינוי שלגביו מאחזרים את המפתחות. זוהי כתובת האימייל שמופיעה בכותרת 'מאת:' באימיילים שנשלחים באמצעות הכתובת החלופית הזו.
- id [מזהה]
- המזהה הקבוע של SmimeInfo.
קוד לדוגמה
דוגמאות הקוד הבאות מדגימות שימוש ב-API לניהול אישורי S/MIME לארגון עם כמה משתמשים.
יצירת משאב SmimeInfo לאישור S/MIME
בדוגמת הקוד הבאה מוצגת קריאה של אישור מקובץ, קידוד למחרוזת base64url והקצאה שלה לשדה pkcs12
של המשאב smimeInfo
:
Java
Python
העלאת אישור S/MIME
כדי להעלות אישור, צריך להפעיל את הפונקציה smimeInfo.insert
ולספק את המשאב 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:
ניהול אישורים
בדוגמה הזו משלבים כמה קריאות מ-smimeInfo
API כדי להראות איך אפשר לנהל את האישורים של הארגון. השירות מציג את האישורים של המשתמש, ואם תוקף האישור שמוגדר כברירת מחדל פג או שהוא לא מוגדר, השירות מעלה את האישור שנמצא בקובץ שצוין. לאחר מכן, הוא מגדיר את האישור שפג התוקף שלו הכי רחוק בעתיד כברירת המחדל.
לאחר מכן, קוראים לזה מפונקציה שמעבדת קובץ CSV, כמו בדוגמה הקודמת.