Vấn đề thực tế: Quản lý tài khoản vCenter khi team IT mở rộng
Mình quản lý cluster VMware với 8 host ESXi tại công ty, và đây là vấn đề mình đối mặt thực tế: ban đầu chỉ có 2–3 người access vCenter, dùng local account cho tiện. Rồi team mở rộng lên 8 người, thêm cả bên outsource vào, và bắt đầu loạn. Người nghỉ việc mà quên disable account, người mới vào phải chờ IT tạo thủ công, reset password thì ping Slack liên tục mỗi tuần.
Giải pháp đầu tiên nghĩ đến là LDAP hoặc Active Directory — tiêu chuẩn truyền thống của enterprise. Nhưng công ty mình 100% dùng Google Workspace, không có Windows Server nào cả. Dựng một AD server chỉ để authenticate vCenter thì chi phí và công sức hoàn toàn không xứng.
Tại sao LDAP và Active Directory không phải lúc nào cũng là lựa chọn phù hợp
LDAP và AD hoạt động tốt trong môi trường on-premise thuần Windows. Chuyển sang cloud-first hoặc Google Workspace thì một loạt vấn đề thực tế nổi lên:
- Cần dựng thêm Windows Server Domain Controller — tốn license, tốn resource VM
- LDAP dùng plain text nếu không cấu hình LDAPS cẩn thận — đây là security risk rõ ràng
- Sync group từ Google Workspace vào AD là bài toán riêng, phức tạp và dễ lệch
- Khi off-board user bên Google, AD không tự đồng bộ ngay — có độ trễ nguy hiểm
Mình đã dính đúng cái này một lần: LDAP bind account hết hạn password lúc 2 giờ sáng, toàn bộ authentication vCenter sập — không ai login được. Với OIDC, dependency này không còn tồn tại.
Các cách giải quyết và so sánh thực tế
Có ba hướng chính khi muốn tập trung xác thực vCenter:
- LDAP/LDAPS: Cần directory server riêng, quản lý phức tạp, sync lag khi off-board
- Active Directory: Tốt nếu đã có AD sẵn, nhưng không phù hợp môi trường Google Workspace-first
- OIDC (OpenID Connect): Chuẩn hiện đại, hỗ trợ từ vCenter 7.0 U2, tích hợp thẳng với Google Workspace không cần trung gian
Từ vCenter Server 7.0 U2, VMware hỗ trợ External Identity Provider theo chuẩn OIDC. Google Workspace trở thành nguồn xác thực duy nhất — không cần dựng thêm server nào cả.
Cách tốt nhất: Cấu hình OIDC với Google Workspace từng bước
Bước 1 — Tạo OAuth 2.0 Client trên Google Cloud Console
Truy cập https://console.cloud.google.com, chọn project hoặc tạo project mới dành riêng cho internal tools.
Vào APIs & Services → OAuth consent screen:
- User Type: Internal — chỉ user trong Google Workspace domain của bạn mới login được
- Điền App name (ví dụ:
vCenter SSO), User support email, Developer contact
Tiếp theo vào Credentials → Create Credentials → OAuth 2.0 Client ID:
- Application type: Web application
- Authorized redirect URIs:
https://<vcenter-fqdn>/ui/login/oauth2/authcode
Sau khi tạo xong, lưu lại Client ID và Client Secret — hai giá trị này cần ở bước tiếp theo:
Client ID: 1234567890-abcdefgh.apps.googleusercontent.com
Client Secret: GOCSPX-xxxxxxxxxxxxxxxxxxxxxxxx
Bước 2 — Cấu hình Identity Provider trên vCenter
Đăng nhập vCenter bằng tài khoản [email protected], sau đó:
- Vào Administration → Single Sign On → Configuration → Identity Provider
- Click Change Identity Provider
- Chọn Microsoft ADFS — đừng nhầm! vCenter gọi chung là ADFS nhưng thực ra chấp nhận bất kỳ OIDC provider nào
Điền thông tin kết nối:
Client Identifier: <Client ID từ Google>
Shared Secret: <Client Secret từ Google>
OpenID Address: https://accounts.google.com
Redirect URI: https://<vcenter-fqdn>/ui/login/oauth2/authcode
vCenter tự động discover các endpoint của Google qua https://accounts.google.com/.well-known/openid-configuration. Điền domain Google Workspace của bạn (ví dụ: company.com) và lưu lại.
Bước 3 — Phân quyền user trong vCenter
Sau khi lưu cấu hình OIDC, đăng xuất khỏi vCenter — màn hình login sẽ xuất hiện nút Sign in with company.com. Thấy nút này là kết nối đã đúng, bước tiếp theo là phân quyền.
Thêm permission cho từng user:
- Vào Administration → Access Control → Global Permissions
- Click Add → Search user bằng email Google (
[email protected]) - Assign role phù hợp: Read-Only, Virtual Machine Power User, Administrator…
Có nhiều user cần assign cùng lúc thì dùng PowerCLI cho nhanh:
Connect-VIServer -Server vcenter.company.com
$users = @(
"[email protected]",
"[email protected]",
"[email protected]"
)
foreach ($user in $users) {
New-VIPermission -Entity (Get-Folder -NoRecursion) `
-Principal $user `
-Role "ReadOnly" `
-Propagate $true
Write-Host "Added: $user"
}
Bước 4 — Lưu ý về Group Claims
Google OIDC không tự động include group membership trong JWT token. Đây là điểm hay gây lúng túng khi mới cấu hình. Có hai hướng xử lý:
- Option A: Dùng Google Cloud Directory Sync (GCDS) để sync Google Groups vào LDAP phụ — nhưng lại đưa LDAP quay lại…
- Option B (mình đang dùng): Quản lý permission trực tiếp theo email user thay vì group. Dưới 20 người thì hoàn toàn ổn, dùng PowerCLI để bulk assign khi cần.
Best practices sau khi triển khai
Giữ lại local SSO account làm break-glass
Cái này mình coi là bắt buộc, không thương lượng:
[email protected] — ĐỪNG bao giờ disable account này
Nếu Google OIDC có sự cố — dù chỉ là Google outage ngắn hay misconfiguration — bạn cần có cách login khẩn cấp vào vCenter. Local SSO account là cứu cánh cuối cùng khi mọi thứ hỏng.
Test off-boarding ngay sau khi setup
Tạo test user trong Google Workspace → assign permission trong vCenter → suspend user bên Google Admin Console → verify không login được vào vCenter nữa. Bước này thường bị bỏ qua nhưng rất quan trọng.
Mình đã xác nhận: suspend user bên Google Admin Console là mất quyền login vCenter ngay lập tức. Không cần làm gì thêm ở phía vCenter. Đây là điểm mạnh nhất so với LDAP — với LDAP, nếu quên disable hoặc sync chậm, user vẫn có thể login một lúc sau khi off-board.
Monitor failed authentication
Theo dõi log SSO giúp phát hiện sớm brute force hoặc account bị revoke nhưng vẫn cố login:
# SSH vào vCenter Appliance, check log SSO:
tail -f /var/log/vmware/sso/vmware-sts-idmd.log
# Grep failed authentication:
grep "FAILED" /var/log/vmware/sso/vmware-sts-idmd.log | tail -50
Kiểm tra phiên bản vCenter trước khi cấu hình
OIDC chỉ hỗ trợ từ vCenter 7.0 U2 trở lên. vCenter 6.x không có tính năng này — phải nâng cấp trước.
# SSH vào vCenter Appliance:
cat /etc/applmgmt/applianceVersion
Từ khi chuyển sang OIDC + Google Workspace, cluster 8 ESXi với gần 200 VM không còn là gánh nặng quản lý tài khoản nữa. Onboard/offboard engineer giảm từ 15 phút xuống 0 phút ở phía vCenter — chỉ cần xử lý bên Google Admin Console là xong. Không còn account zombie. Không còn bind account hết hạn lúc nửa đêm. Và MFA của Google tự áp dụng cho cả vCenter, không cần cấu hình thêm gì.

