Cấp phát người dùng bằng SCIM
Cấu hình cấp phát người dùng bằng SCIM
ScribbleMaps hỗ trợ SCIM 2.0 (System for Cross-domain Identity Management, quản lý danh tính giữa các miền) để tự động cấp phát và thu hồi tài khoản người dùng. Tính năng này tự động đồng bộ người dùng từ nhà cung cấp danh tính (IdP) vào ScribbleMaps, giúp danh sách thành viên nhóm khớp với thư mục của tổ chức.
Tính năng cấp phát SCIM có tại team.scribblemaps.com và hoàn toàn miễn phí.
Mục lục
- SCIM là gì?
- Trước khi bắt đầu
- Bước 1: Bật SCIM trong ScribbleMaps
- Bước 2: Tạo mã bearer
- Bước 3: Cấu hình nhà cung cấp danh tính
- Bước 4: Đặt sản phẩm mặc định
- Bước 5: Kiểm tra và chỉ định người dùng
- Hướng dẫn cho từng nhà cung cấp
- Các thao tác SCIM được hỗ trợ
- Quản lý vòng đời người dùng
- Khắc phục sự cố
SCIM là gì?
SCIM (System for Cross-domain Identity Management) là tiêu chuẩn mở cho phép tự động:
- Cấp phát người dùng - Tạo tài khoản ScribbleMaps khi người dùng được chỉ định trong IdP
- Cập nhật người dùng - Đồng bộ thông tin người dùng (tên, email)
- Thu hồi người dùng - Vô hiệu hóa tài khoản khi người dùng bị xóa khỏi IdP
- Quản lý vai trò - Gán vai trò Quản trị viên hoặc Thành viên thông qua tư cách thành viên nhóm
SCIM hoạt động cùng SSO (SAML/OIDC) để quản lý toàn bộ vòng đời danh tính.
Trước khi bắt đầu
- Bạn phải là chủ sở hữu nhóm để cấu hình SCIM
- Bạn cần truy cập được bảng điều khiển quản trị của nhà cung cấp danh tính
- IdP phải hỗ trợ SCIM 2.0 (Okta, Microsoft Entra ID, OneLogin, JumpCloud, v.v.)
- Bạn nên cấu hình SSO trước SCIM để có trải nghiệm tốt nhất
Bước 1: Bật SCIM trong ScribbleMaps
- Đăng nhập vào team.scribblemaps.com
- Mở SCIM Provisioning (Cấp phát SCIM, trong thanh bên trái)
- Chuyển Enable SCIM (Bật SCIM) sang ON (Bật)
Lưu ý: Bạn cần tạo mã bearer trước khi bật SCIM đầy đủ.
Bước 2: Tạo mã bearer
Mã bearer xác thực nhà cung cấp danh tính với ScribbleMaps.
- Trên trang thiết lập SCIM, nhấp Generate Token (Tạo mã)
- Sao chép mã ngay và lưu ở nơi an toàn
Lưu ý bảo mật quan trọng:
- Mã chỉ hiển thị một lần. Nếu mất mã, bạn cần tạo mã mới
- Bảo vệ mã như mật khẩu. Bất kỳ ai có mã đều có thể quản lý người dùng trong nhóm
- Bạn có thể thu hồi và tạo lại mã bất cứ lúc nào nếu mã bị lộ
- Thu hồi mã sẽ dừng ngay mọi thao tác SCIM cho đến khi mã mới được cấu hình
Bước 3: Cấu hình nhà cung cấp danh tính
Dùng thông tin sau để cấu hình ScribbleMaps thành ứng dụng SCIM trong IdP:
| Thiết lập | Giá trị |
|---|---|
| URL gốc SCIM | https://api.scribblemaps.com/scim/v2 |
| Phương thức xác thực | HTTP Header / Bearer Token (Tiêu đề HTTP / Mã bearer) |
| Tiêu đề Authorization | Bearer YOUR_TOKEN_HERE |
| Định danh duy nhất |
userName (địa chỉ email) |
Tham chiếu các điểm cuối SCIM
| Điểm cuối | Mục đích |
|---|---|
/scim/v2/Users |
Cấp phát và quản lý người dùng |
/scim/v2/Groups |
Quản lý vai trò và tư cách thành viên nhóm |
/scim/v2/ServiceProviderConfig |
Khả năng SCIM (khám phá) |
/scim/v2/ResourceTypes |
Các loại tài nguyên được hỗ trợ (khám phá) |
/scim/v2/Schemas |
Lược đồ User và Group (khám phá) |
Bước 4: Đặt sản phẩm mặc định (tùy chọn)
Bạn có thể tự động gán giấy phép sản phẩm cho người dùng khi họ được cấp phát qua SCIM:
- Trên trang thiết lập SCIM, tìm Default Product Assignment (Sản phẩm mặc định)
- Chọn sản phẩm:
- Không có - Tạo người dùng không có sản phẩm (gán thủ công sau)
- Người xem - Quyền chỉ xem
- Pro Basic - Các tính năng chỉnh sửa tiêu chuẩn
- Pro Business - Quyền truy cập đầy đủ tính năng
- Ấn Lưu
Lưu ý: Chỉ gán sản phẩm nếu còn chỗ. Nếu không còn chỗ, người dùng vẫn được tạo nhưng chưa được gán sản phẩm.
Bước 5: Kiểm tra và chỉ định người dùng
- Trong nhà cung cấp danh tính, dùng tính năng Test Connection (Kiểm tra kết nối) để xác minh kết nối SCIM
- Chỉ định một người dùng thử nghiệm cho ứng dụng ScribbleMaps trong IdP
- Xác minh người dùng xuất hiện trong danh sách thành viên nhóm ScribbleMaps
- Sau khi xác nhận, chỉ định thêm người dùng hoặc nhóm theo nhu cầu
Hướng dẫn cho từng nhà cung cấp
Okta
- Trong Okta Admin Console, mở Applications (Ứng dụng) > Browse App Catalog (Duyệt danh mục ứng dụng)
- Tìm "SCIM 2.0 Test App (Header Auth)" hoặc tạo ứng dụng SCIM tùy chỉnh
- Mở tab Provisioning (Cấp phát) > Configure API Integration (Cấu hình tích hợp API)
- Chọn Enable API integration (Bật tích hợp API)
- Cấu hình:
-
SCIM 2.0 Base URL (URL gốc SCIM 2.0):
https://api.scribblemaps.com/scim/v2 - OAuth Bearer Token (Mã bearer OAuth): Dán mã SCIM của ScribbleMaps
-
SCIM 2.0 Base URL (URL gốc SCIM 2.0):
- Ấn Test API Credentials (Kiểm tra thông tin xác thực API) để xác minh
- Mở Provisioning (Cấp phát) > To App (Đến ứng dụng) và bật:
- Create Users (Tạo người dùng)
- Update User Attributes (Cập nhật thuộc tính người dùng)
- Deactivate Users (Vô hiệu hóa người dùng)
- Mở tab Assignments (Chỉ định) để chỉ định người dùng hoặc nhóm
Microsoft Entra ID (Azure AD)
- Trong Azure Portal, mở Microsoft Entra ID > Enterprise Applications (Ứng dụng doanh nghiệp)
- Chọn ứng dụng ScribbleMaps (hoặc tạo ứng dụng mới)
- Mở Provisioning (Cấp phát) > Bắt đầu
- Đặt Provisioning Mode (Chế độ cấp phát) thành Automatic (Tự động)
- Trong phần Admin Credentials (Thông tin xác thực quản trị):
-
Tenant URL (URL đối tượng thuê):
https://api.scribblemaps.com/scim/v2 - Secret Token (Mã bí mật): Dán mã SCIM của ScribbleMaps
-
Tenant URL (URL đối tượng thuê):
- Ấn Test Connection (Kiểm tra kết nối) để xác minh
- Cấu hình Mappings (Ánh xạ) cho các thuộc tính người dùng
- Đặt Provisioning Status (Trạng thái cấp phát) thành Bật
- Mở Users and groups (Người dùng và nhóm) để chỉ định người dùng
OneLogin
- Trong OneLogin Admin, mở Applications (Ứng dụng) > Add App (Thêm ứng dụng)
- Tìm "SCIM Provisioner with SAML (SCIM v2 Core)" hoặc ứng dụng tương tự
- Mở thẻ Configuration (Cấu hình) .
- Cấu hình:
-
SCIM Base URL (URL gốc SCIM):
https://api.scribblemaps.com/scim/v2 - SCIM Bearer Token (Mã bearer SCIM): Dán mã SCIM của ScribbleMaps
-
SCIM Base URL (URL gốc SCIM):
- Mở tab Provisioning (Cấp phát) và bật cấp phát
- Mở tab Người dùng để chỉ định người dùng
JumpCloud
- Trong JumpCloud Admin, mở SSO Applications (Ứng dụng SSO)
- Ấn + để thêm ứng dụng mới
- Chọn Custom SCIM (SCIM tùy chỉnh)
- Cấu hình:
-
Base URL (URL gốc):
https://api.scribblemaps.com/scim/v2 - Token Key (Khóa mã): Dán mã SCIM của ScribbleMaps
- Authentication (Xác thực): Bearer Token (Mã bearer)
-
Base URL (URL gốc):
- Ấn Test Connection (Kiểm tra kết nối)
- Cấu hình ánh xạ thuộc tính
- Chỉ định các nhóm người dùng cho ứng dụng
Các thao tác SCIM được hỗ trợ
Thao tác với người dùng
| Thao tác | Phương pháp | Được hỗ trợ | Mô tả |
|---|---|---|---|
| Liệt kê người dùng | GET /Users | Có | Lấy tất cả người dùng với phân trang và lọc |
| Lấy người dùng | GET /Users/{id} | Có | Lấy một người dùng theo ID |
| Tạo người dùng | POST /Users | Có | Cấp phát người dùng mới |
| Thay thế người dùng | PUT /Users/{id} | Có | Cập nhật toàn bộ thuộc tính người dùng |
| Cập nhật người dùng | PATCH /Users/{id} | Có | Cập nhật một phần thuộc tính người dùng |
| Xóa người dùng | DELETE /Users/{id} | Có | Vô hiệu hóa người dùng (xóa mềm) |
Thao tác với nhóm
| Thao tác | Phương pháp | Được hỗ trợ | Mô tả |
|---|---|---|---|
| Liệt kê nhóm | GET /Groups | Có | Trả về các nhóm vai trò Admin và Member |
| Lấy nhóm | GET /Groups/{id} | Có | Lấy nhóm kèm danh sách thành viên |
| Cập nhật nhóm | PATCH /Groups/{id} | Có | Thêm hoặc xóa thành viên khỏi các nhóm vai trò |
| Tạo nhóm | POST /Groups | Không | Không hỗ trợ (các vai trò cố định) |
Thuộc tính người dùng được hỗ trợ
| Thuộc tính SCIM | Trường ScribbleMaps | Bắt buộc |
|---|---|---|
userName |
Địa chỉ email | Có |
externalId |
Định danh bên ngoài của IdP | Không |
name.givenName |
Tên | Không |
name.familyName |
Họ | Không |
displayName |
Tên hiển thị | Không |
active |
Trạng thái tài khoản | Không |
emails[].value |
Địa chỉ email | Không |
Bộ lọc được hỗ trợ
| Bộ lọc | Ví dụ |
|---|---|
| Lọc theo email | userName eq "[email protected]" |
| Lọc theo ID bên ngoài | externalId eq "12345" |
| Lọc theo trạng thái | active eq true |
Quản lý vòng đời người dùng
Khi người dùng được cấp phát
- Một tài khoản thành viên nhóm mới được tạo trong ScribbleMaps
- Thông tin người dùng (tên, email) được lấy từ IdP
- Nếu đã cấu hình sản phẩm mặc định và còn chỗ, giấy phép được gán tự động
- Người dùng có thể đăng nhập ngay bằng SSO (nếu đã cấu hình)
Khi người dùng được cập nhật
- Thuộc tính người dùng (tên, tên hiển thị) được cập nhật theo IdP
- Các thay đổi email được đồng bộ (trừ khi người dùng đã liên kết tài khoản)
Khi người dùng bị thu hồi
- Tài khoản người dùng bị vô hiệu hóa (xóa mềm)
- Mọi giấy phép sản phẩm được gỡ, giải phóng các chỗ
- Mọi phiên đang hoạt động bị vô hiệu ngay
- Người dùng không còn đăng nhập được
- Dữ liệu và bản đồ được giữ lại (không bị xóa)
- Tài khoản có thể được kích hoạt lại nếu người dùng được cấp phát lại
Quản lý vai trò qua nhóm
ScribbleMaps cung cấp hai nhóm vai trò qua SCIM:
| ID nhóm | Vai trò | Quyền |
|---|---|---|
admin |
Quản trị viên | Quản lý thiết lập nhóm, người dùng và thanh toán |
member |
Thành viên | Quyền truy cập thành viên nhóm tiêu chuẩn |
Để gán người dùng làm quản trị viên, thêm họ vào nhóm admin qua SCIM PATCH. Vai trò Owner (Chủ sở hữu) không thể thay đổi qua SCIM.
Khắc phục sự cố
Sự cố thường gặp
"401 Unauthorized" (Không được phép) hoặc "Invalid token" (Mã không hợp lệ)
- Xác minh mã bearer chính xác và chưa bị thu hồi
- Đảm bảo mã được gửi trong tiêu đề Authorization dưới dạng
Bearer YOUR_TOKEN - Kiểm tra mã đã hết hạn chưa (nếu đã đặt hạn dùng)
- Tạo mã mới nếu cần
"409 Conflict" (Xung đột): Người dùng đã tồn tại
- Một người dùng có email đó đã tồn tại trong nhóm
- Nếu người dùng hiện có đã bị vô hiệu hóa, SCIM tự động kích hoạt lại
- Kiểm tra các địa chỉ email trùng lặp trong IdP
"400 Bad Request" (Yêu cầu không hợp lệ): Thiếu trường bắt buộc
- Đảm bảo
userName(email) có trong yêu cầu - Xác minh định dạng email hợp lệ
- Kiểm tra cấu hình ánh xạ thuộc tính của IdP
Người dùng đã được tạo nhưng chưa có sản phẩm
- Kiểm tra sản phẩm mặc định đã được cấu hình trong thiết lập SCIM chưa
- Xác minh còn chỗ cho sản phẩm mặc định
- Có thể gán sản phẩm thủ công cho người dùng trong Team Settings (Thiết lập nhóm)
Thay đổi người dùng chưa được đồng bộ
- Một số IdP đồng bộ theo lịch (ví dụ mỗi 40 phút với Azure AD)
- Thử buộc IdP đồng bộ thủ công
- Xác minh SCIM vẫn bật và mã còn hợp lệ
Kiểm tra kết nối thất bại
- Xác minh URL gốc SCIM chính xác là
https://api.scribblemaps.com/scim/v2 - Đảm bảo không có dấu gạch chéo ở cuối hoặc lỗi nhập
- Kiểm tra mạng hoặc tường lửa cho phép HTTPS ra ngoài tới api.scribblemaps.com
Cần trợ giúp?
Nếu gặp sự cố cấp phát SCIM, hãy liên hệ nhóm hỗ trợ và cung cấp:
- Tên nhóm
- Nhà cung cấp danh tính đang dùng
- Thông báo lỗi trong nhật ký cấp phát của IdP
- Ảnh chụp cấu hình SCIM (đã che mã)
Chúng tôi sẵn sàng giúp bạn cấu hình cấp phát SCIM cho tổ chức.
Cập nhật lần cuối