รุ่นที่รองรับฟีเจอร์นี้ได้แก่ Enterprise Plus และ Education Standard และ Education Plus เปรียบเทียบรุ่นของคุณ
หากต้องการใช้การเข้ารหัสฝั่งไคลเอ็นต์ (CSE) ของ Google Workspace สําหรับ Gmail คุณต้องเปิดใช้ Gmail API และให้สิทธิ์เข้าถึงกับทั้งองค์กร จากนั้นสําหรับผู้ใช้แต่ละคน คุณต้องใช้ Gmail API เพื่ออัปโหลดใบรับรอง S/MIME (Secure/Multipurpose Internet Mail Extensions) (คีย์สาธารณะ) และข้อมูลเมตาของคีย์ส่วนตัวไปยัง Gmail หากใช้บริการจัดการคีย์การเข้ารหัส คุณจะต้องเข้ารหัส (หรือ "รวม") ข้อมูลเมตาคีย์ส่วนตัวของผู้ใช้โดยใช้บริการจัดการคีย์ด้วย
คุณสามารถเปลี่ยนไปใช้บริการจัดการคีย์อื่นได้ทุกเมื่อโดยอัปโหลดใบรับรอง S/MIME ใหม่และข้อมูลเมตาของคีย์ส่วนตัวที่เข้ารหัสโดยบริการใหม่
เกี่ยวกับ S/MIME
S/MIME เป็นโปรโตคอลมาตรฐานอุตสาหกรรมที่ได้รับการยอมรับในวงกว้างในเรื่องลายเซ็นดิจิทัลและการเข้ารหัสอีเมลเพื่อความสมบูรณ์และความปลอดภัยของข้อความ Gmail CSE ต้องใช้มาตรฐาน S/MIME 3.2 IETF เพื่อส่งและรับข้อมูล MIME ที่ปลอดภัย ซึ่ง S/MIME กำหนดให้ผู้ส่งและผู้รับอีเมลมีใบรับรอง X.509 ที่ Gmail เชื่อถือ
หมายเหตุ: อีกทางเลือกหนึ่งคือ คุณสามารถใช้ S/MIME โดยไม่มีการเข้ารหัสและความเป็นส่วนตัวเพิ่มเติมที่ CSE มีให้ ใช้ทางเลือกนี้ในกรณีที่ไม่จําเป็นต้องป้องกันไม่ให้เซิร์ฟเวอร์ของ Google ถอดรหัสข้อมูลกับ CSE เท่านั้น โปรดดูรายละเอียดที่หัวข้อเปิด S/MIME ที่โฮสต์สำหรับการเข้ารหัสข้อความ
ข้อควรปฏิบัติก่อนที่จะเริ่มต้น
ตรวจสอบว่าคุณได้ดำเนินการตามขั้นตอนต่อไปนี้แล้ว
- เลือกบริการจัดการคีย์
- เชื่อมต่อกับผู้ให้บริการข้อมูลประจำตัว (IdP)
- ตั้งค่าบริการจัดการคีย์ภายนอกหรือการเข้ารหัสคีย์ฮาร์ดแวร์
- มอบหมายบริการจัดการคีย์หรือการเข้ารหัสคีย์ฮาร์ดแวร์ให้กับหน่วยขององค์กรหรือกลุ่ม
หากใช้บริการจัดการคีย์หลายราย โปรดตรวจสอบว่าได้มอบหมายบริการเหล่านั้นให้กับหน่วยขององค์กรหรือกลุ่มการกำหนดค่าที่เหมาะสมแล้ว
ตั้งค่า Gmail API
หมายเหตุ: การใช้ API จำเป็นต้องมีความรู้เรื่องการเขียนโปรแกรม
- สร้างโปรเจ็กต์ GCP ใหม่ โปรดดูรายละเอียดที่หัวข้อการสร้างและจัดการโปรเจ็กต์
โปรดจดบันทึกรหัสโปรเจ็กต์ไว้ คุณจะใช้รหัสดังกล่าวเพื่อให้สิทธิ์เข้าถึงทั้งโดเมน API
- ไปที่คอนโซล Google API และเปิดใช้ Gmail API สำหรับโปรเจ็กต์ใหม่ โปรดดูรายละเอียดที่หัวข้อการเปิดใช้ API ในโปรเจ็กต์ Google Cloud
- ในคอนโซล Google Cloud ให้ไปที่หน้าบัญชีบริการ แล้วสร้างบัญชีบริการระดับโดเมน โปรดดูรายละเอียดที่หัวข้อสร้างและจัดการบัญชีบริการ
- สร้างคีย์ส่วนตัวของบัญชีบริการ และบันทึกคีย์ลงในไฟล์ JSON ในระบบของเครื่อง เช่น
svc_acct_creds.json
โดยไฟล์นี้มีข้อมูลเข้าสู่ระบบที่คุณจะใช้เมื่อตั้งค่า Gmail สำหรับผู้ใช้ โปรดดูรายละเอียดที่หัวข้อสร้างและจัดการคีย์บัญชีบริการ
ในขั้นตอนนี้ คุณจะใช้บัญชีบริการที่สร้างไว้เพื่อให้สิทธิ์แก้ไข Gmail API แก่ผู้ใช้ทุกคน
- ทำตามวิธีการควบคุมการเข้าถึง API ด้วยการมอบสิทธิ์ทั่วทั้งโดเมน
- ป้อนข้อมูลต่อไปนี้เมื่อได้รับข้อความแจ้ง
รหัสไคลเอ็นต์: รหัสไคลเอ็นต์ของบัญชีบริการที่สร้างในขั้นตอนที่ 2 ข้างต้น
ขอบเขต OAuth:
gmail.settings.basic
เปิดใช้ CSE ของ Gmail ให้กับผู้ใช้
เปิดใช้ CSE ของ Gmail ให้กับหน่วยขององค์กรหรือกลุ่ม โปรดดูรายละเอียดที่หัวข้อเปิดหรือปิดการเข้ารหัสฝั่งไคลเอ็นต์
หมายเหตุ: สำหรับหน่วยขององค์กร คุณจะตั้งค่าอีเมลทั้งหมด (เขียน ตอบ และส่งต่อ) ให้เข้ารหัสโดยค่าเริ่มต้นได้ และผู้ใช้จะยังคงปิดการเข้ารหัสได้ หากจำเป็น Requires having the Assured Controls add-on.
ตั้งค่าใบรับรอง S/MIME ของ CSE ให้กับผู้ใช้
หลังจากตั้งค่า Gmail API และเปิดใช้ CSE ของ Gmail ให้ผู้ใช้ในคอนโซลผู้ดูแลระบบแล้ว คุณสามารถตั้งค่าใบรับรอง S/MIME สำหรับ CSE และข้อมูลเมตาของคีย์ส่วนตัวให้ผู้ใช้ได้
ขั้นตอนที่ 1: เตรียมใบรับรอง S/MIME และข้อมูลเมตาของคีย์ส่วนตัวสำหรับผู้ใช้แต่ละรายที่จะใช้ CSE ของ Gmail เพื่อส่งหรือรับอีเมล ให้ทำดังนี้
ใช้ผู้ออกใบรับรอง (CA) ในการสร้างคู่คีย์สาธารณะ/ส่วนตัว S/MIME ที่มีเชนใบรับรอง ใบรับรอง Leaf ของ S/MIME ต้องมีที่อยู่ Gmail หลักของผู้ใช้เป็นชื่อเรื่องหรือเรื่องของส่วนขยาย SAN
โดยเลือกดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้
- ใช้ใบรับรองรูท CA ที่ Google เชื่อถือ: โปรดดูรายการใบรับรองรูทที่หัวข้อใบรับรอง CA ที่ Gmail เชื่อถือสําหรับ S/MIME
- ใช้ CA ที่ Google ไม่เชื่อถือ: เช่น หากต้องการใช้ CA ของตนเอง คุณสามารถเพิ่มใบรับรองรูทของ CA ดังกล่าวได้ในคอนโซลผู้ดูแลระบบ โปรดดูรายละเอียดที่หัวข้อจัดการใบรับรองที่เชื่อถือได้สำหรับ S/MIME
หมายเหตุ: หากคุณใช้ CA ที่ Google ไม่เชื่อถือ และผู้ใช้จะส่งอีเมลที่เข้ารหัสฝั่งไคลเอ็นต์ไปยังภายนอกองค์กร ผู้รับต้องเชื่อถือ CA ด้วย
ใช้บริการจัดการคีย์เพื่อเข้ารหัส หรือ "รวม" ข้อมูลเมตาของคีย์ส่วนตัว S/MIME โปรดติดต่อบริการจัดการคีย์เพื่อดำเนินการดังกล่าว หรือทำตามวิธีการที่ระบุ
หากใช้การเข้ารหัสคีย์ฮาร์ดแวร์ - โปรดข้ามขั้นตอนนี้และอย่ารวมข้อมูลเมตาของคีย์ส่วนตัวสำหรับผู้ใช้ที่จะใช้การเข้ารหัสคีย์ฮาร์ดแวร์ ในกรณีนี้ ไม่จำเป็นต้องรวมข้อมูลเมตาเนื่องจากคีย์ส่วนตัวของผู้ใช้สำหรับ Gmail จะอยู่ในสมาร์ทการ์ดของผู้ใช้ Requires having the Assured Controls add-on.
ใช้ Gmail API เพื่ออัปโหลดเชนใบรับรอง S/MIME คีย์สาธารณะของผู้ใช้แต่ละรายและข้อมูลเมตาคีย์ส่วนตัวมาไว้ใน Gmail และกำหนดเป็นคีย์หลักให้กับผู้ใช้ด้วยการสร้างข้อมูลประจําตัว
ทำตามขั้นตอนต่อไปนี้สำหรับผู้ใช้แต่ละราย โดยใช้ไฟล์คีย์ส่วนตัวที่คุณดาวน์โหลดเมื่อสร้างบัญชีบริการระดับโดเมนสำหรับการตรวจสอบสิทธิ์
- อัปโหลดเชนใบรับรองและข้อมูลเมตาของคีย์ส่วนตัวโดยใช้การเรียก Gmail AP
keypairs.create
- เปิดใช้คู่คีย์สำหรับอีเมลหลักของผู้ใช้โดยใช้การเรียก Gmail API
identities.create
การเรียก
identities.create
จำเป็นต้องมีรหัสคู่คีย์ที่ส่งกลับมาในเนื้อหาการตอบสนองของการเรียกkeypairs.create
หมายเหตุ: วิธีการเปิดใช้คู่คีย์สำหรับอีเมลของผู้ใช้ทำได้ดังนี้
- สร้างข้อมูลระบุตัวตน CSE ที่ได้รับสิทธิ์ให้ส่งอีเมลจากบัญชีของผู้ใช้
- กำหนดค่า Gmail ให้ใช้ข้อมูลเมตาของคีย์ส่วนตัวเพื่อลงนามในอีเมล CSE ที่ส่งออก
- เผยแพร่ใบรับรองไปยังที่เก็บที่แชร์ทั่วทั้งโดเมนเพื่อให้ผู้ใช้ CSE คนอื่นๆ ในองค์กรเข้ารหัสข้อความที่ส่งถึงผู้ใช้รายนี้ได้
หากต้องการทําตามขั้นตอนดังกล่าวให้เสร็จสิ้น ให้ใช้สคริปต์ที่เชื่อมต่อกับ Gmail API โดยเลือกดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้
- เขียนสคริปต์ของคุณเอง
- ใช้สคริปต์ตัวอย่าง Python ที่ Google มีให้ โปรดดูวิธีการที่หัวข้อใช้สคริปต์ Python ของ Google เพื่ออัปโหลดใบรับรองของผู้ใช้และคีย์ที่รวมกันไปยัง Gmail ด้านล่าง
หมายเหตุ: สคริปต์นี้จะใช้กับผู้ใช้ที่จะใช้บริการจัดการคีย์ในการเข้ารหัสเนื้อหา Gmail เท่านั้น สําหรับผู้ใช้ที่จะใช้การเข้ารหัสคีย์ฮาร์ดแวร์ คุณจะต้องสร้างสคริปต์อื่นเพื่ออัปโหลดข้อมูลเมตาของคีย์ส่วนตัวที่ไม่ได้รวมของผู้ใช้เหล่านั้น
หลังจากอัปโหลดใบรับรองแล้ว ระบบอาจใช้เวลาถึง 24 ชั่วโมงเพื่อให้ใบรับรองพร้อมใช้งานใน Gmail แต่โดยปกติแล้วจะใช้เวลาน้อยกว่านั้นมาก
หากต้องการทําตามขั้นตอนที่ 3 ด้านบนให้เสร็จสิ้น คุณสามารถใช้สคริปต์ Python ที่ Google มีให้แทนการเขียนสคริปต์ของคุณเองได้
ดาวน์โหลดสคริปต์
ดาวน์โหลดแพ็กเกจสคริปต์ Python (.zip) ลงในคอมพิวเตอร์ (Mac, Linux หรือ Windows) และแตกไฟล์ลงในไดเรกทอรีการทำงาน
สร้างสภาพแวดล้อมเสมือนและติดตั้งโมดูล
ป้อนคำสั่งต่อไปนี้โดยใช้บรรทัดคำสั่งจากไดเรกทอรีที่ทำงานอยู่
python3 -m venv cli_env
source cli_env/bin/activate
pip install -r requirements.txt
เรียกใช้สคริปต์
python cse_cmd.py -h
อัปโหลดใบรับรองและคีย์ของผู้ใช้
ขั้นตอนที่ 1: สร้างไดเรกทอรีสำหรับจัดเก็บคีย์ส่วนตัวที่รวมไว้ทั้งหมด
- ตัวอย่างเช่น คุณอาจสร้างไดเรกทอรี
$root/wrapped_keys
- ชื่อไฟล์ของคีย์ส่วนตัวที่รวมกันแต่ละรายการต้องเป็นอีเมลแบบเต็มของผู้ใช้โดมมีนามสกุล
.wrap
เช่น$root/wrapped_keys/user1@example.com.wrap
- ตรวจสอบว่าไฟล์คีย์ส่วนตัวที่รวมกันมีออบเจ็กต์ JSON ที่มีฟิลด์ที่ต้องกรอก 2 ช่อง ดังนี้
{
'kacls_url': 'url of the key service configured in the Admin console',
'wrapped_private_key': 'wrapped private key bytes'
}
ขั้นตอนที่ 2: สร้างไดเรกทอรีสําหรับเก็บใบรับรองทั้งหมด
- ใบรับรองต้องอยู่ในรูปแบบ P7 PEM ดังนั้นคุณอาจสร้างไดเรกทอรี
$root/p7pem_certs
- ตรวจสอบว่าไฟล์ใบรับรองมีเชนแบบเต็มไปยังผู้ออกใบรับรอง (CA) รูท
- ชื่อไฟล์ของใบรับรองแต่ละรายการต้องเป็นอีเมลแบบเต็มของผู้ใช้โดมมีนามสกุล
.p7pem
เช่น$root/p7pem_certs/user1@example.com.p7pem
หากคุณมีไฟล์ P7B คุณสามารถใช้ความคิดเห็น openssl ต่อไปนี้เพื่อแปลงเป็นรูปแบบ P7 PEM ได้
openssl pkcs7 -inform DER -in {old_name.p7b} -outform PEM -out {new_name.p7pem}
ขั้นตอนที่ 3: อัปโหลดคู่คีย์และข้อมูลประจำตัวของผู้ใช้
ในขั้นตอนนี้ คุณจะต้องใช้ไฟล์ JSON ที่มีข้อมูลเข้าสู่ระบบสําหรับบัญชีบริการที่บันทึกไว้ในคอมพิวเตอร์ในขั้นตอนที่ 2: สร้างบัญชีบริการด้านบน
วิธีที่ง่ายที่สุดในการอัปโหลดคู่คีย์และข้อมูลประจำตัวของผู้ใช้คือการเรียกใช้คำสั่ง insert
โปรดทราบว่าคำสั่งแต่ละรายการต้องมีอาร์กิวเมนต์ เช่น
python cse_cmd.py insert
--creds $root/svc_acct_creds.json
--inkeydir $root/wrapped_keys
--incertdir $root/p7pem_certs
หรือคุณจะทำตามขั้นตอนต่อไปนี้สำหรับผู้ใช้แต่ละรายก็ได้
- เรียกใช้
insert_keypair
และจดรหัสคู่คีย์ไว้ - เรียกใช้
insert_identity
โดยใช้รหัสคู่คีย์ดังกล่าว
นอกจากนี้ คุณยังรับรหัสคู่คีย์ได้โดยเรียกใช้คำสั่ง list_keypair
ขั้นตอนที่ 4: ยืนยันว่าผู้ใช้มีคู่คีย์และข้อมูลประจำตัว CSE
ตรวจสอบว่าผู้ใช้มีคู่คีย์และข้อมูลประจำตัวที่ถูกต้องใน Gmail โดยเรียกใช้คำสั่งต่อไปนี้สำหรับผู้ใช้แต่ละราย
list_keypair
list_identity
วิธีเปลี่ยนไปใช้บริการจัดการคีย์อื่นสําหรับ CSE ของ Gmail
หากต้องการเปลี่ยนไปใช้บริการจัดการคีย์อื่นสําหรับ CSE ของ Gmail ให้ทำซ้ำขั้นตอนที่ 2 และ 3 ในหัวข้อตั้งค่า CSE ของ Gmail ให้กับผู้ใช้ด้านบน โดยใช้บริการจัดการคีย์ใหม่เพื่อรวมคีย์ส่วนตัว
หมายเหตุ: การอัปโหลดใบรับรองใหม่ให้กับผู้ใช้จะไม่ย้ายเนื้อหาไปยังบริการจัดการคีย์ใหม่ อย่างไรก็ตาม ผู้ใช้จะยังคงเข้าถึงอีเมลที่เข้ารหัสด้วยใบรับรองก่อนหน้าและข้อมูลเมตาของคีย์ส่วนตัวที่รวมไว้โดยบริการจัดการคีย์เดิมได้
ย้ายข้อความไปยัง Gmail เป็นอีเมลที่เข้ารหัสฝั่งไคลเอ็นต์
เมื่อตั้งค่า CSE ของ Gmail แล้ว คุณจะเลือกนำเข้าข้อความได้ โปรดดูรายละเอียดที่หัวข้อย้ายข้อความไปยัง Gmail เป็นอีเมลที่เข้ารหัสฝั่งไคลเอ็นต์