本文件旨在為您逐步解說用戶同步工具的安裝,以便進行用戶管理程序自動化。

用戶同步工具是一個命令列公用程式,這個公用程式會將用戶及群組資訊從組織的企業目錄系統 (例如 Active Directory 或其他 LDAP 系統) 移到組織在 Adobe Admin Console 中的目錄。每次執行用戶同步工具時,工具都會尋找兩個系統中用戶及群組資訊之間的差異,然後更新 Adobe 目錄以符合您目錄中的資訊。

本文件提供將 Active Directory 系統與 Adobe Admin Console 銜接的逐步指示。這是我們客戶最常在初等/中等學校和中小企業市場類別中使用的其中一個組合。用戶同步工具非常有彈性,可用來銜接大多數 LDAP 及目錄系統。如果您使用的是 Active Directory 以外的目錄系統,則本文件中的指示不能直接套用,請視需要進行修改。如需詳細資訊,請參閱「設定和成功指南」。

開始之前

您需要下列 LDAP 系統的相關資訊。如果您沒有這些資訊,請聯絡您的 IT 管理員。

  • 網域控制器名稱 (如果其 IP 固定,也可使用 IP) 和連接埠。
  • 用戶的服務帳戶名稱和密碼,由工具用於從 LDAP 擷取用戶 (唯讀存取)。
  • 基準 DN,這是伺服器搜尋用戶的起點;它應該夠寬廣,足以探索所有需要同步的用戶和群組。
  • 群組名稱是同步的一部分。
  • 對於需要在 Admin Console 中建立的所有用戶,這是郵件/用戶名稱的最合適 LDAP 屬性。
  • (選擇性) 如果預設篩選器不能滿足要求,您可能還需要自訂 LDAP 查詢,以選取要與 Adobe 同步的一組用戶。
Active Directory

金鑰對用於在取得 access_token 程序中簽署 JWT 並驗證其合法性。為了協助您完成此程序,請視需要聯絡您的安全性團隊。

憑證提示:

  • 公開憑證可以由您自己的 CA 簽署 (必要時提出 CSR);也接受自我簽署憑證
  • 私密金鑰應為 RSA:最少 2048 位元
  • 公開憑證應具有 .crt 副檔名
  • 使用 SHA-256 簽署
  • 公開金鑰有效期:建議三年,但由您的內部安全政策決定

建立自我簽署憑證

進行測試和設定時,您也可以透過 openssl 來使用自我簽署憑證。若是 Mac OS/Linux,openssl 可能預設就已隨附。若是 Windows,請另外新增 openssl 支援 (例如 Cygwin
若要建立自我簽署憑證,請依照下列步驟執行:

  1. 若為 macOS/Linux,請開啟終端機。 
    若為 Windows,請開啟提供 openssl 支援的程式 (Cygwin、cmd 等)。

  2. 執行下面的命令︰

    openssl req -x509 -sha256 -nodes -days 1095 -newkey rsa:2048 -keyout private.key -out certificate_pub.crt
    數位憑證
  3. 私密金鑰產生完成時,系統會提示您輸入其他資訊以建立公開公鑰的辨別名稱。您可以接受預設值,也可以輸入相關值。若要讓欄位空白,請輸入「.」(點字元)。

    數位憑證

公開憑證和私密金鑰檔預設會儲存在下列位置:

Windows:C:\cygwin64\home\<您的用戶名稱>

macOS:/Users/<您的用戶名稱>

如果打算在您的電腦上安裝用戶同步工具,請確定電腦符合下列需求:

  • 可以存取網際網路以及 LDAP 或 AD 等目錄服務。
  • 受保護且很安全 (在那裡儲存或存取您的管理認證)。
  • 持續運作、可靠,而且具有備份和復原功能。
  • 可以傳送電子郵件,這樣用戶同步才能傳送報告給管理員。
  • 如果是 Windows 電腦,就要有 64 位元處理器。

否則,請與 IT 部門合作找出這樣的伺服器,並取得其存取權。

確定您已為組織申請網域,並且在 Adobe Admin Console 中建立產品描述檔和用戶群組

設定伺服器

若要設定 adobe.io 整合,請執行下列動作:

  1. 登入 Adobe I/O Console,從下拉式清單選取您的組織,然後按一下「新的整合」。

    新的整合
  2. 在「建立新的整合」精靈中,選取「存取 API」,並按一下「繼續」。

    Screenshot_3
  3. 選取「Adobe 服務」下的「用戶管理 API」,並按一下「繼續」。在接著出現的畫面上,再按一下「繼續」。

    Untitled-2
  4. 輸入整合的名稱和描述,然後上傳公開金鑰憑證檔。按一下「建立整合」。

    整合便會建立。

    建立整合
  5. 若要檢視整合詳細資訊,請按一下「繼續前往整合詳細資訊」。

    整合詳細資訊

整合詳細資訊是稍後設定用戶同步檔案時所需的資訊。

  1. 在磁碟機位置上建立一個名為 user_sync_tool 的檔案夾,具有必要權限的用戶可以存取其中的內容。

  2. 存取 GitHub 並找到 Latest release (最新版本) 標籤。

    在此版本中,尋找並展開 Assets (資產)。然後,找到並下載:

    • examples.zip 檔案
    • 清單中符合您作業系統類型和 Python 版本的用戶同步工具的 .zip 檔案

    註解:

    封存檔的名稱包含其適用的作業系統類型以及所建立的 Python 版本。例如,user-sync-vX.Y-win64-py368.zip 是 Windows 版本,使用 Python 3.6.8 (64 位元) 建立。 
    如果您的系統上未安裝 Python 版本,請嘗試比對/安裝建立該工具的版本。

  3. 解壓縮 examples.zip、瀏覽到 config files - basic,然後將以下檔案複製到 user_sync_tool 檔案夾:connector-ldap.yml、connector-umapi.yml 和 user-sync-config.yml。

  4. 從其他 zip 檔解壓縮出 user-sync.pex 檔案,再將其放置在相同的 user_sync_tool 檔案夾中。

  5. 找到隨附於公開憑證的 private.key,並將其移至相同的 user_sync_tool 檔案夾。現在,完整的檔案清單變成:

    • connector-ldap.yml
    • connector-umapi.yml
    • private.key
    • user-sync.pex
    • user-sync-config.yml

  1. 現在讓我們進行 Python 3.6.8 安裝 (下載 Windows x86-64 安裝程式可執行檔並執行)。

  2. 啟用核取方塊「Add Python 3.6 to PATH」(將 Python 3.6 新增至路徑),然後選取「Customize Installation」(自訂安裝)。

    安裝 Python
  3. 在「Optional Features」(選用功能) 畫面,按一下「Next」(下一步)。在「Advanced Options」(進階選項) 畫面上,選取「Install for all users」(為所有用戶安裝) 核取方塊,然後按一下「Install」(安裝)。

    安裝 Python
  4. 安裝完成後,如果看到「disable path length limit」(停用路徑長度限制) 的選項,請先選取它再關閉安裝視窗。

  5. 開啟「命令提示字元」,並執行下列命令:

    python --version

    如果 Python 成功新增到 PATH,上述命令列會傳回版本,否則傳回錯誤。

設定用戶同步

  1. 使用專門的文字編輯器來編輯檔案 connector-ldap.yml

  2. 輸入 user name、password、host 及 base_dn 值。

    目錄存取設定檔案
  3. search_page_size 設定為 200。

  4. 不過,大部分時候使用預設篩選條件即可。如果您需要自訂 LDAP 查詢來擷取一組用戶,請修改 all_users_filter 設定參數。

  5. 驗證其餘未註解的設定以及它們指向的 LDAP 屬性。根據您的需要進行變更。

    有些部署採用基於用戶名稱的登入設定 (該特定用戶在 Admin Console 中的用戶名稱欄位不是電子郵件類型的值)。 

    在這種情況下,也請啟用以下行 (移除 # 字元):
    user_username_format: {sAMAccountName}

    如果您不需要使用 sAMAccountName,請將其更換為正確的屬性。

  1. 編輯 connector-umapi.yml。此檔案含有您的 Adobe 組織的存取資訊。

  2. 輸入您先前所建立 adobe.io 整合中的下列資訊:

    • org_id
    • api_key
    • client_secret
    • tech_acct
  3. 確保 priv_key_path 包含 user_sync_tool 檔案夾內私密金鑰的確切名稱。
    如果私密金鑰與 UST 檔案的其餘部分位於同一檔案夾中,則 priv_key_path 只能包含檔案名稱;它將以相對路徑運作。

    Adobe UMAPI 認證

如果目錄未列出每個用戶的國家/地區,您可以設定預設國家/地區。

  1. 編輯 user-sync-config.yml 檔案。

  2. 移除「default country code」列中的 #,並輸入適當的國家/地區代碼。例如:

    default_country_code: US

    註解:

    國家/地區代碼對 Federated ID 為必要項目,對 Enterprise ID 則是建議使用。如果未提供給 Enterprise ID,則會在用戶首次登錄時提示他們選擇國家/地區。

本區段定義 Admin Console 中 LDAP 的哪些群組應具有相對應的用戶群組或 PLC。

此處的目標是為該工具提供群組/用戶的來源,以便比對 Admin Console 端群組/PLC 中的相同成員。

  1. 編輯 user-sync-config.yml 檔案中的「group mapping」。

  2. 針對每個必須對應至 Adobe 產品描述檔或用戶群組的目錄群組,在「groups」區段中加入項目。例如:

    groups:
        - directory_group: LDAP_group_name_goes_here
          adobe_groups:
            - Adobe_group_name_goes_here
        - directory_group: LDAP_group_name_goes_here
          adobe_groups:
            - Adobe_group_name_goes_here

    註解:

    群組對應可以使用 Adobe 用戶群組或產品描述檔來進行,而不對應至產品名稱。您可以將一個目錄群組對應至多個 Adobe 用戶群組或產品描述檔。

為防止在有設定錯誤或其他問題時意外移除帳戶,您可以決定每天同步中希望移除的帳戶數量上限。

  1. 若要變更限制,請在 user-sync-config.yml 檔案中尋找「max_adobe_only_users」。

  2. 如果您希望在兩次執行用戶同步之間所移除的帳戶數量超過設定的 max_adobe_only_users 值,請提高該值以涵蓋所有帳戶移除數量。

    註解:

    如果要移除的帳戶數量大於 max_adobe_only_users 值,則工具不會處理任何帳戶移除操作。並在記錄檔中顯示一個嚴重項目,宣布已達到該限制。

    此限制不影響建立動作。

在某些情況下,必須從同步中排除某些帳戶。做法是透過編輯 user-sync-config.yml 檔案。
工具提供三個排除功能:依照身分類型、依照群組名稱和依照規則運算式。
在 Admin Console 中找到的至少符合上述條件之一的帳戶都會受到保護,無法執行移除動作 (來自群組、來自組織)。

最好是在 Admin Console 中為系統管理員提供 Adobe ID,並透過使用 exclude_identity_types: adobeID 來排除他們

範例如下:

adobe_users:
  exclude_identity_types:
    - adobeID           # adobeID, enterpriseID, or federatedID
  exclude_adobe_groups:
    - adobe_group_name  # its members are not to be removed by User Sync
    - other_group_name  # you can exclude multiple groups
  exclude_users:
    - ".*@example.com"
    - important_user@domain.com

用戶同步會產生記錄項目,這些項目不僅列印至標準輸出,同時也寫入記錄檔案。設定記錄集的設定可控制輸出記錄資訊的位置和數量。

  1. 若要開啟或關閉檔案記錄,請編輯 user-sync-config.yml 檔案中的 log_to_file 值。

  2. 檢閱記錄設定,並進行任何需要的變更。對於初始設定,建議使用 
    log_to_file: True 
    file_log_level: debug

或者,如果您有 Windows Server,也可以使用用戶同步工具設定精靈來設定用戶同步。

「用戶同步工具設定精靈」是 GUI 工具,可協助您使用用戶管理 API (Adobe.io)、企業目錄 (LDAP) 和同步設定,輕鬆地設定用戶同步工具。它會提供基於內容的說明以及用戶同步工具文件的連結。如需詳細資訊,請參閱「Adobe 用戶同步工具設定精靈」。

部署和自動化

現在伺服器或電腦上已設定用戶同步工具,您可以檢查該工具是否依預期正常運作。若要解決在執行用戶同步工具時的常見問題,請參閱「解決常見錯誤的秘訣」。

  1. 開啟命令提示字元。
  2. 使用下列命令,瀏覽至 user_sync_tool 檔案夾。

    cd path/to/user_sync_tool
  3. 若要確認設定是否完成,請執行下列命令:

    Windows

    python user-sync.pex -v
    python user-sync.pex -h

    UNIX

    ./user-sync –v
    ./user-sync –h

    -v 會報告版本,-h 則會提供有關命令列引數的說明。

  4. 在測試模式下執行同步,此同步限定在設定檔案中所命名的對應群組,但排除現有的 Adobe 端帳戶。

    python user-sync.pex -t --users mapped --process-groups --adobe-only-user-action exclude

    上述命令只會同步 user-sync-config.yml 所指定的已對應群組中的用戶。如果用戶不存在於 Admin Console,則會導致嘗試建立用戶,然後將這些用戶新增至任何已從其目錄群組對應的群組。

    在測試模式 (-t) 下執行 user-sync,只會嘗試建立用戶,而不會實際執行。--adobe-only-user-action exclude 選項會避免移除 Adobe 組織中任何現有的用戶帳戶。

  5. 儘管 invocation_defaults 設定了工具執行時使用的預設引數,但是您可以透過在命令列中提及它們來覆寫它們。在測試模式下執行同步,此同步限定在設定檔案中所命名的對應群組,並移除在 Adobe 端找到但在 LDAP 擷取中找不到的額外帳戶。

    python user-sync.pex -t --users mapped --process-groups --adobe-only-user-action remove

    -t

    執行模擬而不是實際的同步,看看會發生什麼事。

    --users-mapped

    擷取來自 LDAP 的用戶,這些用戶是 all_user_filter 和設定檔案中所提供 directory_group 名稱成員的共同結果。

    --process-groups

    根據帳戶是否為 LDAP 對應群組的成員,從 Adobe 端用戶群組或 PLC 中新增/移除用戶。

    --adobe-only-user-action remove

    如果未在 LDAP 擷取中找到且沒有從同步中排除,則從「用戶」選單中移除在 Adobe 端找到的任何帳戶,並撤銷其權益。

    若要進一步了解命令參數,請參閱這裡

    若要進一步了解其他使用案例,請參閱這裡

如果所有的測試都依預期執行,則您已準備好可以進行完整執行 (不使用 test-mode 旗標)。

註解:

  • 提供的命令列僅是範例,可能無法涵蓋所有使用案例。
  • 根據同步的帳戶數量,初始同步可能需要幾秒鐘到幾小時不等。每 1.5-2 分鐘大約會建立 250 個用戶 (包括逾時)。
  • 預期會收到 UMAPI 逾時警告代碼 429 訊息。工具會處理重試機制。

您可以手動執行用戶同步,也可以設定自動化,每天自動執行一次到數次。

註解:

如果您有記錄分析及警示系統可用,請安排讓用戶同步的記錄傳送至記錄分析系統,並且設定有關記錄中出現任何錯誤或嚴重訊息的警示。

  1. 若要擷取相關記錄項目以製作摘要,請叫用透過管道輸送至 scan 的 user-sync,以在 user_sync_tool 檔案夾中建立批次檔。例如,建立包含以下內容的 run_sync.bat 檔案:

    cd path/to/user-sync-folder
    python user-sync.pex --users file example.users-file.csv --process-groups | findstr /I "==== ----- WARNING ERROR CRITICAL Number" > temp.file.txt
    rem email the contents of temp.file.txt to the user sync administration
    your-mail-tool –send file temp.file.txt
  2. 您也可以選擇設定電子郵件命令列工具。

    Windows 中沒有標準電子郵件命令列工具,但還是有幾個市售工具可用,您可以在其中填入特定命令列選項。

  3. 設定 Windows 工作排程器以執行用戶同步工具。

    例如,下面的程式碼會每天從下午 4:00 開始執行用戶同步工具:

    C:\> schtasks /create /tn "Adobe User Sync" /tr path_to_bat_file/run_sync.bat /sc DAILY /st 16:00

此産品由 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 授權  Creative Commons 條款未涵蓋 Twitter™ 與 Facebook 文章。

法律說明   |   線上隱私權政策