Gmail S/MIME API מספק גישה פרוגרמטית לניהול אישורי אימייל S/MIME למשתמשים בדומיין .
כדי שהאישורים יפעלו, האדמין צריך להפעיל את 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 כמו שיטות sendAs של Gmail:
- 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 של משתמש
משתמשים ב-method 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
:
העלאת אישור S/MIME
כדי להעלות אישור, צריך להפעיל את smimeInfo.insert
ולספק את המשאב smimeInfo
בגוף הבקשה:
דוגמאות לניהול אישורים של משתמשים רבים
יכול להיות שתרצו לנהל אישורים של הרבה משתמשים בארגון בבת אחת. בדוגמאות הבאות מוסבר איך לנהל אישורים של כמה משתמשים בקריאה אחת באצווה.
הוספת אישורים מקובץ 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
אפשר להשתמש בקריאות createSmimeInfo
ו-insertSmimeInfo
מהחלק הקודם כדי להעלות את האישורים כפי שצוין בקובץ ה-CSV:
אפשר להשתמש בקריאות create_smime_info
ו-insert_smime_info
מהחלק הקודם כדי להעלות את האישורים כפי שצוין בקובץ ה-CSV:
ניהול אישורים
בדוגמה הזו משלבים כמה קריאות מ-smimeInfo
API כדי להראות איך אפשר לנהל את האישורים של הארגון. השירות מציג את האישורים של המשתמש, ואם תוקף האישור שמוגדר כברירת מחדל פג או שהוא לא מוגדר, השירות מעלה את האישור שנמצא בקובץ שצוין. לאחר מכן, המערכת מגדירה את האישור שתאריך התפוגה שלו הוא הכי רחוק בעתיד בתור ברירת המחדל.
לאחר מכן, הפונקציה הזו נקראת מפונקציה שמעבדת קובץ CSV, כמו בדוגמה הקודמת.