通知

Duet AI 現已更名為 Google Workspace 專用 Gemini。瞭解詳情

僅限 Gmail:為用戶端加密功能上傳加密金鑰

支援這項功能的版本:Enterprise Plus 和 Education Standard 和 Education Plus。  版本比較

如要透過 Gmail 使用 Google Workspace 用戶端加密 (CSE) 功能,您必須啟用 Gmail API,並授予其整個機構的存取權。接著,您必須使用 Gmail API,為每位使用者上傳資料至 Gmail,包括 S/MIME (安全/多用途網際網路郵件延伸標準) 憑證 (公開金鑰) 和私密金鑰中繼資料。如果您使用了加密金鑰服務,也需要透過金鑰服務加密 (或「包裝」) 使用者的私密金鑰中繼資料。

您隨時可以上傳新的 S/MIME 憑證以及由新服務加密的私密金鑰中繼資料,藉此改用其他金鑰服務。

關於 S/MIME

S/MIME 是廣泛接受的業界標準通訊協定,可用於對電子郵件進行數位簽署及加密,以確保郵件完整性及安全性。Gmail CSE 仰賴 S/MIME 3.2 IETF 標準來傳送及接收安全的 MIME 資料。根據 S/MIME 的規定,電子郵件寄件者和收件者的 X.509 憑證必須獲得 Gmail 的信任。

注意:此外,即使沒有 CSE 提供的額外加密和隱私權防護措施,您也可以使用 S/MIME。只有在不必防止 Google 伺服器透過 CSE 解密您的資料時,才建議使用這個替代做法。詳情請參閱「為郵件加密功能啟用代管式 S/MIME」。

事前準備

請確認您已完成下列步驟:

  1. 選擇金鑰服務
  2. 連線至識別資訊提供者 (IdP)
  3. 設定外部金鑰服務硬體金鑰加密
  4. 為機構單位或群組指派金鑰服務或硬體金鑰加密功能

    如果您使用多個金鑰服務,請確認金鑰服務皆已指派給適當的機構單位或配置群組。

設定 Gmail API

注意:API 需要有程式設計知識才能使用。

開啟區段  |  全部收合

步驟 1:啟用 Gmail API
  1. 建立新的 GCP 專案。詳情請參閱「建立及管理專案」。

    記下專案 ID:您將使用這組 ID 授予 API 全網域的存取權限。

  2. 前往 Google API 控制台,為新專案啟用 Gmail API。詳情請參閱「在 Google Cloud 專案中啟用 API」。
步驟 2:建立全網域服務帳戶
  1. 前往 Google Cloud 控制台中的「服務帳戶」頁面,然後建立全網域服務帳戶。詳情請參閱「建立及管理服務帳戶」。
  2. 建立服務帳戶私密金鑰,並將金鑰儲存至本機系統中的 JSON 檔案 (例如 svc_acct_creds.json)。這個檔案包含為使用者設定 Gmail 時要使用的憑證。詳情請參閱「建立及管理服務帳戶金鑰」。
步驟 3:授予 Gmail API 全網域存取權

在這個步驟中,您將使用自己建立的服務帳戶,授予 Gmail API 對所有使用者的編輯權限。

  1. 按照「使用全網域委派功能控管 API 存取權」的說明操作。
  2. 在系統提示時輸入以下內容:

    用戶端 ID:您在上文步驟 2 中建立的服務帳戶用戶端 ID。

    OAuth 範圍:gmail.settings.basic

為使用者開啟 Gmail CSE 功能

為機構單位或群組開啟 Gmail 的 CSE。詳情請參閱「開啟或關閉用戶端加密功能」。

注意:對於機構單位,您可以預設為加密所有電子郵件 (撰寫、回覆及轉寄)。使用者仍可視需要關閉加密功能。Requires having the Assured Controls add-on. 

為使用者設定 CSE S/MIME 憑證

在管理控制台中為使用者設定 Gmail API,並啟用 Gmail CSE 後,您就可以為使用者設定 CSE S/MIME 憑證和私密金鑰中繼資料。

開啟區段  |  全部收合

步驟 1:準備 S/MIME 憑證和私密金鑰中繼資料

針對要透過 Gmail CSE 收發電子郵件的每位使用者:

使用憑證授權單位 (CA),產生含有憑證鏈的 S/MIME 公開/私密金鑰組。S/MIME 分葉憑證必須包含使用者的主要 Gmail 地址,做為主旨名稱或 SAN 副檔名主旨。

您可以採取下列任一做法:

  • 使用 Google 信任的 CA 根憑證:如需根憑證的清單,請參閱「Gmail 信任且適用於 S/MIME 的 CA 憑證」。
  • 使用不受 Google 信任的 CA:舉例來說,如要使用自己的 CA,您可以在管理控制台中新增根憑證。詳情請參閱「管理 S/MIME 的信任憑證」。

    注意:如果您使用的 CA 未受到 Google 信任,且使用者會向貴機構外人士傳送用戶端加密電子郵件,則收件者也必須信任該 CA。

步驟 2:包裝憑證和私密金鑰中繼資料

使用金鑰服務加密或「包裝」S/MIME 私密金鑰的中繼資料。請與金鑰服務團隊聯絡以進行這項操作,或按照提供的指示操作。

如果您使用硬體金鑰加密功能:請務必略過這個步驟,且不要為使用硬體金鑰加密的使用者包裝私密金鑰中繼資料。在此情況下,由於使用者的 Gmail 私密金鑰存放於他們的智慧型卡片上,因此您不需要包裝中繼資料。   Requires having the Assured Controls add-on.

步驟 3:將使用者的 S/MIME 憑證和私密金鑰中繼資料上傳到 Gmail

使用 Gmail API,將每位使用者的公開金鑰 S/MIME 憑證鏈結和私密金鑰中繼資料上傳到 Gmail,然後建立身分,將這些中繼資料設為使用者的偏好金鑰。

使用您在「建立全網域服務帳戶」一節進行驗證時下載的私密金鑰檔案,為每位使用者執行下列步驟:

  1. 使用 Gmail API 呼叫 keypairs.create上傳憑證鏈結和私密金鑰中繼資料
  2. 使用 Gmail API 呼叫 identities.create為使用者的主要電子郵件地址啟用金鑰組

    identities.create 呼叫需要在 keypairs.create 呼叫的回應主體中傳回的金鑰組 ID。

    注意:為使用者的電子郵件地址啟用金鑰組:

    • 建立 CSE 身分,用來授權透過使用者帳戶傳送郵件。
    • 設定讓 Gmail,以使用私密金鑰中繼資料簽署外寄的 CSE 郵件。
    • 將憑證發布至共用的全網域存放區,讓貴機構中其他 CSE 使用者能加密傳送給該使用者的郵件。

如要完成這些步驟,請使用與 Gmail API 整合的指令碼。您可以採取下列任一做法:

  • 自行編寫指令碼。
  • 使用 Google 提供的 Python 範例指令碼。如需操作說明,請參閱下方的「使用 Google 的 Python 指令碼將使用者憑證和包裝金鑰上傳至 Gmail」。

    注意:此指令碼僅適用於會使用金鑰服務加密 Gmail 內容的使用者。如果是使用硬體金鑰加密功能的使用者,您必須建立不同的指令碼,才能上傳他們未包裝的私密金鑰中繼資料。

上傳憑證後,您最多可能需要等待 24 小時才能在 Gmail 中看到憑證,不過通常不需要這麼久。

(選用) 使用 Google 的 Python 指令碼範例,將使用者憑證和包裝私密金鑰上傳到 Gmail

如要完成上述的步驟 3,建議您使用 Google 提供的 Python 指令碼,不要自行編寫指令碼。

下載指令碼

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/wrap_keys 目錄。
  • 每個包裝私密金鑰的檔案名稱都必須是使用者的完整電子郵件地址加上 .wrap 副檔名。例如:$root/wrap_keys/user1@example.com.wrap
  • 確認包裝私密金鑰檔案含有包含兩個必填欄位的 JSON 物件:
{
      'kacls_url': '管理控制台中設定的金鑰服務網址',
      'wrapped_private_key': '已包裝的私密金鑰位元組'
    }

步驟 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

或者,您也可以為每個使用者執行下列操作:

  1. 執行 insert_keypair,並記下金鑰組 ID。
  2. 使用該金鑰組 ID 執行 insert_identity

此外,您也可以執行 list_keypair 指令來取得金鑰組。

步驟 4:確認使用者擁有 CSE 金鑰組和身分

請為每位使用者執行下列指令,確保使用者擁有有效的金鑰組和身分:

list_keypair

list_identity

為 Gmail CSE 改用其他金鑰服務

如果您想為 Gmail CSE 改用其他金鑰服務,請重複上文「為使用者設定 Gmail CSE」之下的步驟 2 和步驟 3,使用新的金鑰服務包裝私密金鑰。

注意:為使用者上傳新憑證不會將內容遷移至新的金鑰服務。不過,使用者仍可繼續存取由舊憑證加密的電子郵件,以及由舊金鑰服務包裝的私密金鑰中繼資料。

以用戶端加密電子郵件的形式將郵件遷移至 Gmail

Gmail CSE 已設定完成,您可以選擇是否要匯入郵件。詳情請參閱「以用戶端加密電子郵件的形式將郵件遷移至 Gmail」。

這對您有幫助嗎?

我們應如何改進呢?
搜尋
清除搜尋內容
關閉搜尋
主選單
16223399716094939927
true
搜尋說明中心
true
true
true
true
true
73010
false
false