跳轉到主要內容
預設情況下,在流程技能中透過 Input 活動從電子郵件服務匯入文件的使用者,只能使用基本的 IMAP 伺服器驗證。若要啟用透過 OAuth 2.0 通訊協定對 Google 和 Microsoft 電子郵件服務進行驗證,您需要:
  1. 在 Google Cloud Platform 和/或 Azure 入口網站中註冊應用程式。
  2. 為這些應用程式產生帳戶憑證(Client ID 和 Client secret)。
  3. 將產生的憑證提供給 Consul。
這些步驟可以在安裝 Vantage 之前或之後執行。

在 Google 上註冊應用程式

建立應用程式需要一個 Google 帳戶。

在 Google Cloud Platform 上建立專案

  1. 前往 Google Cloud Platform 的 New Project 頁面。
  2. 為專案指定名稱,然後按一下 Create
Google Cloud Platform New Project 頁面,顯示專案名稱欄位
  1. 等待通知顯示您的專案已建立。
Google Cloud Platform 通知,顯示專案建立確認

設定應用程式

  1. 前往 Google Cloud Console,並選取對應的專案。
Google Cloud Console 專案選擇器下拉式清單
  1. 在畫面左側的選單中,選取 APIs & Services > OAuth consent screen
Google Cloud Console 功能表顯示 APIs & Services,並包含 OAuth consent screen 選項
  1. 選取 External 使用者類型,然後按一下 Create
  2. 為您的應用程式指定一個名稱。在 User support email 下拉欄位中,選取您的 Gmail 位址。
OAuth consent screen 應用程式資訊表單,包含 app name 和 user support email 欄位
  1. 在頁面底部的 Developer contact information 區段中指定開發人員的電子郵件地址,然後按一下 Save and continue
Developer contact information 區段,包含電子郵件欄位
  1. 按一下 Add or remove scopes。此動作會在右側開啟 Update selected scopes 對話方塊。
  2. 將以下文字複製並貼到對話方塊底部的 Manually add scopes 欄位中,然後按一下 Add to table
openid https://www.googleapis.com/auth2/userinfo.email https://www.googleapis.com/auth2/userinfo.profile https://mail.google.com/
您也可以手動選取 scope。需要選取下列 scope:
  • openid
  • https://mail.google.com/
  • ../auth2/userinfo.email
  • ../auth2/userinfo.profile
  1. 按一下 Update。這會關閉 Update selected scopes 對話方塊,並顯示已選取的 scope。
Update selected scopes dialog showing the required OAuth scopes
  1. 按一下畫面底部的 Save and continue
  2. 再次按一下 Save and continue,以略過 Test users 頁面的設定並前往 Summary 頁面。
Summary 頁面上,您會看到已設定的應用程式資訊、電子郵件地址和權限。

建立帳戶憑證

  1. 在畫面左側的功能表中選擇 Credentials
  2. 按一下 + Create credentials,並選擇 OAuth client ID
建立憑證的下拉選單,顯示 OAuth client ID 選項
  1. 選取 Web application 類型。
建立 OAuth client ID 表單,其中 Application type 下拉選單顯示 Web application
  1. Authorized redirect URIs 區段中,按一下 + Add URI
Authorized redirect URIs 區段,其中包含 Add URI 按鈕
  1. 在隨即出現的欄位中,指定 redirect URI:
https://<Vantage 主機名稱>/connectors-tokens-callback.html
具有 Vantage Callback URL 和 CREATE 按鈕的 Redirect URI 欄位
  1. 按一下 Create
隨即出現的彈出式對話方塊中將包含 Client IDClient secret 的值。 顯示 Client ID 和 Client secret 值的 OAuth 用戶端建立對話方塊 這些資料是在 Vantage 中設定 tokenmanagement 服務時所需的。您可以立即加以儲存,或稍後前往 APIs & Services > Credentials,選取您建立的 OAuth 2.0 用戶端識別碼以複製它們。

發佈與驗證

應用程式的發佈狀態會顯示在 APIs & Services > OAuth consent screen 區段中。 OAuth consent screen showing Publishing status as Testing with Publish App button 狀態為 Testing 的應用程式僅供已加入測試人員清單的使用者使用。只有在發佈應用程式之後,任何擁有 Google 帳戶的使用者才能使用該應用程式。 按一下 Publish apphttps://mail.google.com/ 存取範圍允許應用程式存取機密的使用者資料,因此會顯示一則訊息,指出應用程式需要通過驗證。 若要驗證應用程式,您需要提供:
  • 應用程式隱私權政策的正式連結
  • 一段 YouTube 影片,示範您使用此應用程式取得 Google 使用者資料之聲明用途
  • 一份給 Google 的文字說明,描述為何您需要存取機密的使用者資料
  • 您在 Google Search Console 中完成驗證之所有網域的完整清單
按一下 Confirm。您的應用程式狀態將變更為 In Production 也會出現 Prepare for verification 按鈕,讓您提供所有必要的驗證資料。 OAuth consent screen showing In Production status with verification warning and Prepare for Verification button
在您的應用程式通過驗證之前,最多只有 100 位使用者可以使用它。使用者計數器位於 OAuth consent screen 區段的底部,且在專案存續期間無法重設。
OAuth user cap showing 0 users out of 100 user cap

在 Microsoft Azure 中註冊應用程式

若要建立應用程式,必須有一個 Azure Active Directory 租用戶,且具備註冊與編輯應用程式的權限。 您可以在 Portal settings | Directories + subscriptions 頁面切換到正確的目錄。

註冊應用程式

  1. 前往 App registrations 頁面。
  2. 按一下 New registration
  3. 為您的應用程式指定名稱,並選取支援的帳戶類型。
Azure 註冊應用程式表單,顯示 Name 欄位與 Supported account types 選項
如果為應用程式選取 Multitenant 類型,則任何 Azure AD 租用戶中的使用者都可以使用它。此類應用程式必須通過驗證,而驗證僅適用於 Microsoft Partner Network 參與者。如果您不是參與者,請選取 Single tenant,如此一來,您的應用程式只會提供給您自己 Azure AD 租用戶中的使用者。
  1. Redirect URI 區段中,選取 Web 平台並指定重新導向 URI:
https://<Vantage 主機名稱>/connectors-tokens-callback.html
Azure 重新導向 URI 區段,已選取 Web 平台
  1. 按一下 Register

設定應用程式權限

  1. 前往 API permissions 分頁。
Azure 入口網站側邊欄顯示已反白的 API permissions 功能表項目
  1. 按一下 Add permission
  2. 在隨即開啟的對話視窗中,選取 Microsoft Graph 區段。
Request API permissions 對話視窗顯示已反白的 Microsoft Graph 選項
  1. 選取 Delegated permissions
Microsoft Graph 權限對話視窗顯示已選取的 Delegated permissions 選項
  1. 新增下列權限:
    • email
    • IMAP.AccessAsUser.All
    • offline_access
    • openid
    • profile
  2. 按一下 Add permissions。對話視窗將會關閉,並顯示您選取的權限。

建立用戶端機密

  1. 前往 Authentication 索引標籤。
Azure portal sidebar showing Authentication menu option highlighted
  1. Implicit grant and hybrid flows 區段中,勾選 ID tokens (used for implicit and hybrid flows)
Implicit grant and hybrid flows section with ID tokens checkbox
  1. 按一下螢幕上方的 Save
  2. 前往 Certificates & secrets 索引標籤,然後按一下 New client secret
Certificates & secrets tab showing New client secret button
  1. 在開啟的對話視窗中,指定用戶端機密的名稱與到期日。
最長有效期限為 24 個月。
  1. 按一下 Add。這會關閉對話視窗並顯示新用戶端機密的相關資訊。
請務必複製並儲存 Value,因為一旦關閉此頁面,就無法再存取它。在 Vantage 中設定 tokenmanagement 服務時需要使用此值。
Client secrets list showing the secret Value column highlighted 您還需要用戶端識別碼,可以從 Overview 索引標籤中的 Application (client) ID 欄位複製。當您將滑鼠游標移到識別碼值上時,會顯示複製圖示。 Azure application Overview showing Application (client) ID field highlighted

驗證應用程式

若要讓任何 Azure AD 租用戶的使用者都能使用此應用程式,必須完成驗證。若只使用單一 Azure AD 租用戶的帳戶,則不需要驗證。 只有 Microsoft Partner Network 的參與者才能進行驗證。
  1. 前往 Branding & properties 索引標籤。
Azure 入口網站側邊欄顯示已反白的 Branding & properties 功能表選項
  1. 確認在 Publisher domain 欄位中已指定網域。若有需要,請按一下 Configure a domain 來設定您的網域。
Azure Branding & properties 頁面顯示 Publisher domain 欄位與 Update domain 選項
顯示在網域名稱旁邊的警告圖示表示無法驗證使用該網域的應用程式。按一下 Update domain,指定與 Azure Active Directory 租用戶相關的其他有效網域。或者,您也可以驗證新的網域。
  1. Publisher verification 區段中,輸入您的 MPN ID,然後按一下 Verify and save
如果您沒有新增 MPN ID 所需的權限,請確認已符合所有發行者驗證需求。
當驗證成功後,Publisher display name 欄位旁邊便會顯示對應的圖示。

將認證傳遞給 Consul

如果已安裝 Vantage,則需要使用 Consul 手動輸入為 Microsoft 和/或 Google 電子郵件服務驗證所產生的帳戶認證。 與 OAuth 2.0 通訊協定相關的功能列在 TokenManagement 服務中。
在開始設定之前,請先確認已安裝 kubectl 命令列工具,並且您已連線到 Kubernetes 叢集。
  1. 執行下列指令以取得對 Consul 網頁介面的存取權:
kubectl port-forward -n abbyy-infrastructure service/consul-ui 8500:80
然後前往 http://localhost:8500/ui/dc1/kv/secret/
  1. 在開啟的 Key/Value 分頁中,選取適當的 Vantage 部署範圍。然後選取 vantage 專案。
Consul vantage 專案顯示服務清單,其中已反白顯示 tokenmanagement
  1. 選取 tokenmanagement 服務。
Consul tokenmanagement 服務畫面顯示 oAuthClientConfiguration 區段
  1. 前往 oAuthClientConfiguration 區段。
Consul oAuthClientConfiguration 顯示 google 與 microsoft 選項
  1. 選取您要為其指定使用者資料的服務(googlemicrosoft)。
Consul oAuthClientConfiguration 區段顯示 google 服務,包含 clientId 與 clientSecret 金鑰
  1. 選取 clientId 金鑰。
  2. 將先前儲存的 Client ID 值複製並貼到輸入欄位中,然後按一下 Save
Consul clientId 值的編輯器畫面,帶有 Save 按鈕
  1. 針對 clientSecret 金鑰重複步驟 6 和 7。
如有需要,針對不同的電子郵件服務重複步驟 5 至 8。
  1. 執行下列命令以重新啟動 tokenmanagement 服務:
kubectl -n abbyy-vantage rollout restart $(kubectl -n abbyy-vantage get deployments -l app.kubernetes.io/component=tokenmanagement -o name)

更新用戶端密鑰

用戶端密鑰值用於伺服器端識別用戶端,且屬於機密資訊。出於安全考量,應定期更新這些資料。某些服務(例如 Azure Active Directory)會限制此類資料的有效期限。 建立新的用戶端密鑰後,必須同時更新對應的 Consul 鍵值。
更新用戶端密鑰後,使用者必須在 文件 Skill 的 Input 活動中重新設定與其電子郵件服務的連線。否則,Vantage 將無法連接到信箱並從中匯入電子郵件。

在 Google 中更新 Client Secret

  1. 前往 Google Cloud Console,並選取對應的專案。
  2. 在左側功能表中,選取 APIs & Services > Credentials
  3. OAuth 2.0 Client IDs 區段中,選取用於連線至 IMAP 伺服器時進行驗證的識別碼。
  4. 按一下 Reset secret
顯示 Reset Secret 按鈕的 Google Cloud OAuth 用戶端詳細資料
  1. 在跳出對話方塊中按一下 Reset。這會更新 Client secret 的值,並使先前的值失效。
  2. 下載包含認證資訊的 JSON 檔案。或者,從畫面右側複製 Client secret 的值。
顯示 Download JSON 按鈕與 Client secret 欄位的 Google Cloud OAuth 用戶端詳細資料

在 Microsoft Azure 中更新用戶端密鑰

  1. 前往 App registrations 頁面,選取用於透過 IMAP 伺服器進行驗證的應用程式。
Azure App registrations page showing Owned applications list with Example App
  1. 前往 Certificates & secrets 索引標籤,然後按一下 New client secret
  2. 在隨即開啟的對話方塊中,指定用戶端密鑰的名稱及到期日。
  3. 按一下 Add。對話方塊會關閉,並顯示新用戶端密鑰的相關資訊。請務必複製並儲存其 Value,因為關閉此頁面後,您將無法再存取該值。
  4. 如果現有的用戶端密鑰尚未過期,您可以將其刪除,以確保只有新的用戶端密鑰可用於識別用戶端。

在 Consul 中更新 Client Secret

請依照將認證資訊傳遞給 Consul中的步驟操作,但省略第 6 步和第 7 步(複製 clientId 值)。