Google+Jamf Connect+FileVault 設定包
設定包 1.0|查核:2026-09-22|公司測試機尚未驗收。
**使用方式:下載設定包 → 填一份參數檔 → 在本機產生設定 → 匯入 Jamf Pro,或複製三份 plist 到對應網域。**本設定包涵蓋首次 Google 登入、桌面密碼同步及 FileVault 接續登入。以既有手冊的 Google 原方案為基準,不使用 PSSO。
下載完整 ZIP · 主手冊 · 26 項公司驗收表
一、先確認你已具備哪些條件
下列項目需要由 Google 或 Jamf 核發/部署,不能以通用 XML 自行捏造。已完成者只需核對,不必重建。
依據:Jamf Google 整合流程 、Google 密碼同步 、部署 p12 、啟用 Self Service+ 帳號管理 。Jamf 的整合指南適用 Connect 3.x;上線前記錄公司實際版本/build,不以「最新版」代替驗收。
二、只需填一份參數
解壓縮至公司核准的受控工作位置。複製 settings.example.json 為 settings.local.json,使用純文字編輯器修改;不要在 Git 工作目錄、網站目錄或公開雲端資料夾填真實機密。
Google Client Secret 不填進 JSON 。程式執行時在終端以隱藏方式詢問,並只寫入你指定的受控輸出設定。這不是員工 Google 密碼;不要提供任何員工密碼或 PRK。
參數範本如下,內容中的 REPLACE_... 必須替換:
json 複製
{
"organization": "REPLACE_COMPANY_NAME",
"profile_identifier": "REPLACE_PROFILE_IDENTIFIER",
"google_client_id": "REPLACE_GOOGLE_CLIENT_ID.apps.googleusercontent.com",
"google_redirect_uri": "https://127.0.0.1/jamfconnect",
"network_check_minutes": 15,
"support_contact": "REPLACE_IT_CONTACT",
"excluded_local_accounts": [],
"auto_open_app_at_login": true,
"require_sign_in": true
}三、產生完整設定檔
在解壓縮後的 google-jamf-filevault 資料夾開啟終端。需要 Python 3.9 以上 ,僅使用標準函式庫,不需安裝 Python 套件;若管理用 Mac 沒有 Python,可使用下方手動貼上路徑。
bash 複製
cp settings.example.json settings.local.json填好 settings.local.json 後執行:
bash 複製
python3 render.py --settings settings.local.json --output private-output輸入 Client Secret 時畫面不顯示字元。程式只產生檔案,不連線、不安裝描述檔、不改員工密碼。再次產生時改用新的輸出目錄,例如 private-output-v2;程式拒絕覆寫原檔。
產出如下:
輸出目錄權限 0700、檔案 0600;Login plist 及 mobileconfig 含有 OAuth Client Secret ,不是加密檔。只交給有權的管理員並上傳公司 Jamf;不要寄送一般員工、放進 GitHub 或回傳本手冊網站。產生器處理 XML 特殊字元,避免手動貼入 & 等符號造成格式錯誤。
以系統工具確認格式,不會安裝:
bash 複製
plutil -lint private-output/Google-Jamf-FileVault.mobileconfig
plutil -lint private-output/01-com.jamf.connect.login.plist
plutil -lint private-output/02-com.jamf.connect.plist
plutil -lint private-output/03-com.apple.loginwindow.plist格式 OK 只表示 XML/plist 可解析,不能證明 Google OAuth、LDAP、Jamf 發送或 FileVault 流程成功。
四、套用到 Jamf:選一種方式
A. 完整描述檔匯入
適用於新建且已清除設定衝突的測試 Scope。
先備份原設定與 Scope,確認 LDAP 憑證、授權、套件及復原前置項目已就緒。
Jamf Pro → Computers → Configuration Profiles → Upload ,選擇產生的 Google-Jamf-FileVault.mobileconfig。這是整份描述檔匯入,不是貼到 Application & Custom Settings 的文字框。
檢查 Computer Level/System、名稱與 payload。新檔是未簽章 XML;若租戶流程要求簽章,依公司程序用 Jamf Connect Configuration 或公司核准憑證處理,不以改副檔名代替簽章。
Scope 只指向指定測試機;保存後確認裝置實際收到。既有三個網域如有其他 profile 管理相同鍵,先完成合併/移出測試 Scope,不能期待後下發就一定覆蓋。
確認有效設定與測試結果。不要再把三份 plist 另外部署一次。
B. 複製 plist 到既有設定
適用於已運作的 Jamf 環境,尤其已有授權、帳號對應、品牌、腳本或管理員政策。先合併必要值,不能用最小基準整份覆蓋現有公司設定。
Jamf Pro → Computers → Configuration Profiles → New/Edit → Computer Level → Application & Custom Settings → Upload 。依租戶 UI 選擇 plist 上傳或貼入 XML;對應如下:
將每份 <plist>…</plist> 完整內容貼到自己的網域;不可把三份黏成一個 plist,不可把整份 mobileconfig 貼進偏好設定框。這三份的布林值是 <true/>/<false/>,頻率是 <integer>,不是字串。
若不使用產生器,也可直接複製 templates/ 三份檔案,在受控副本替換所有 __...__,調整頻率及例外帳號,再逐一 plutil -lint。XML 文字中的 &、< 須分別寫成 &、<;優先使用產生器避免手動跳脫錯誤。
五、這份設定實際選了什麼
設定依據:Google passthrough 成組鍵 、FileVault 行為 、同步政策 、登入設定 。描述檔封裝依 Apple ManagedPreferences 與 Apple LoginWindow schema 。
若既有流程沒有使用 CreateJamfConnectPassword,Jamf 針對 Google 的文件另有 OIDCUsePassthroughAuth=true、CreateJamfConnectPassword=false/未使用、OIDCNewPassword=true 組合。本包固定選用建立 Jamf Connect keychain 的那一組;既有機須確認原流程依賴,不可只從兩組各挑一個值。
六、部署順序:既有 Mac 與全新 ADE
已啟用 FileVault 的既有 Mac
確認員工目前可解鎖、PRK 可由有權 IT 取回;匯出原 profile、Scope 與原設定值到受控位置。
優先使用方式 B 合併。先確認 Self Service+ 的 LDAP 同步能把本機更新到目前 Google 密碼,再測冷開機接續登入。不要把這份新機初始基準當成帳號移轉腳本。
由員工首次開啟 Self Service+ 完成帳號初始化;Jamf 管理通知權限,確認可收到提示。App 啟動、登入狀態及密碼一致性分別確認。
依下表驗收,記錄實際版本與結果後再擴大 Scope。
全新 Mac/全新員工/ADE
Jamf PreStage 設定管理員備援與員工建帳方式;Connect 負責員工建帳時,依官方流程略過一般帳號建立。
在首次員工登入前,讓 Login 設定、有效授權、Connect 套件就緒,並部署 Self Service+、LDAP 憑證及同步設定。PreStage 套件已列入不代表實際安裝已完成。
員工以 Google 密碼+組織 MFA 完成首次登入,確認帳號、預期權限及初始本機密碼一致。首次流程可能有額外提示,不在日常一次密碼承諾內。
核對 FileVault 實際 On/員工解鎖資格、適用的 secure token/volume ownership/bootstrap token 及最新 PRK。macOS 26.4+ Setup Assistant 的加密時序須依主手冊第 07 節驗收,不預設建帳前一定尚未加密。
若尚未啟用 FileVault,使用公司唯一核准的 Jamf 原生啟用與 escrow 流程;不要同時加 EnableFDE。若已 On,保留加密並驗證授權與 escrow。
完成 Self Service+ 初始化與正常冷開機測試後交機。
FileVault 原生管理入口:Computers → Configuration Profiles → Security & Privacy → FileVault ;PRK 託管由 Jamf 對應設定及憑證處理,完成後到裝置 Inventory → Disk Encryption 核對。不能隨意複製其他租戶的 escrow PayloadUUID 或憑證。此包刻意分開管理登入偏好與加密復原設定,兩者都要完成。
七、套用後必驗的結果
桌面上可由員工本人工作階段 立即觸發檢查(不是將這行直接貼入 Jamf 的 root Policy):
bash 複製
open "jamfconnect://networkcheck"確認由預期的 Self Service+ 版本接手且本次檢查有結果。FileVault 狀態可只讀檢查:
完整操作、PasswordCurrent 狀態限制、復原與 T01~T26 驗收見主手冊第 08~12 節。產生器的本機測試與 plutil 不會將任何公司案例改成通過。
八、回復方式
保留受控的原始 profile、Scope、UUID、設定值與套件版本。出現登入、LDAP 或同步異常時先停止擴大 Scope;恢復原本的有效設定及啟動機制,只處理本次更動的登入/同步偏好。不要刪除仍需使用的授權、LDAP 憑證、FileVault/PRK profile,也不要關閉 FileVault 或清除 keychain。
描述檔回復不會把已更新的本機密碼改回 A;需記錄目前真正有效的密碼狀態。失敗到無法進桌面時,由 IT 依已驗證的復原流程處理,不能期待再次下發設定一定能救回離線裝置。
九、可直接複製的三份 plist 範本
以下是方式 B 使用的完整偏好 plist,仍須填妥佔位值;不是整份 .mobileconfig。若使用產生器,直接複製它產出的已填值檔案即可。
01 — com.jamf.connect.login
xml 複製
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>OIDCProvider</key><string>GoogleID</string>
<key>OIDCClientID</key><string>__GOOGLE_CLIENT_ID__</string>
<key>OIDCClientSecret</key><string>__GOOGLE_CLIENT_SECRET__</string>
<key>OIDCRedirectURI</key><string>__GOOGLE_REDIRECT_URI__</string>
<key>OIDCUsePassthroughAuth</key><true/>
<key>CreateJamfConnectPassword</key><true/>
<key>OIDCNewPassword</key><false/>
<key>DenyLocal</key><false/>
</dict>
</plist>02 — com.jamf.connect
xml 複製
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IdPSettings</key>
<dict><key>Provider</key><string>GoogleID</string></dict>
<key>PasswordPolicies</key>
<dict>
<key>NetworkCheck</key><integer>15</integer>
<key>CheckOnNetworkChange</key><true/>
<key>SyncPasswordsMessage</key>
<string>Mac 與 Google 密碼不同。請輸入目前的 Mac 本機密碼,更新為已驗證的 Google 密碼;忘記本機密碼時請聯絡 __IT_CONTACT__。</string>
<key>PasswordSyncBlockList</key><array/>
</dict>
<key>SignIn</key>
<dict>
<key>AutoAuthenticate</key><true/>
<key>AutoOpenAppAtLogin</key><true/>
<key>RequireSignIn</key><true/>
</dict>
</dict>
</plist>03 — com.apple.loginwindow
xml 複製
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DisableFDEAutoLogin</key><false/>
</dict>
</plist>