Trong bài viết này mình sẽ hướng dẫn cách sử dụng tính năng Device Migration API của Sophos.
Device Migration API - như cái tên của tính năng này, thì nó sẽ cho phép di chuyển hàng loạt các thiết bị từ một tenant sang tenant khác (Sophos Account Central), tính năng này áp dụng được cho cả máy tính và máy chủ chạy hệ điều hành Windows và Mac.
Lưu ý: Là trong quá trình Migrate, thì các Device phải online và được update thành công.
Bước 1: Truy cập Tenant nguồn, vào phần My Products > General Settings:
Bước 2: Chọn API Credentials Management:
Bước 3: Chọn Add Credential:
Bước 4: Cấu hình thông tin xác thực API:
Bước 5: Sau khi khởi tạo thông tin xác thực API thành công, copy và lưu lại thông tin Client ID và Client Secret:
Lưu ý: Thông tin Client Secret chỉ hiển thị 1 lần, vì vậy hãy đảm bảo đã copy đầy đủ trước khi refresh hoặc đóng trang thông tin.
Bước 6: Tiếp theo tiến hành bật tính năng Device Migration. Vào phần General Settings > General > Device Migration:
Bước 7: Tiến hành chọn Allow device migration và tùy chọn thời gian mà tính năng này được sử dụng, sau đó chọn Save để lưu cấu hình:
Bước 8: Thực hiện tương tự cho Tenant đích, lưu thông tin Cliend ID và Secret và bật tính năng Device Migration.
Để tạo xác thực cho quá trình Migrate giữa 2 Sophos Account, chúng ta cần sử dụng đến cURL hoặc Postman để thao tác API.
CURL
Bước 1: Sử dụng cURL, bật trình Command Line là dùng lệnh sau để xác thực thông tin Client ID của tài khoản Sophos Central, kiểm tra kết quả trả về là "success":
Trong đó, hãy điền thông tin <client-id> và <client-secret> đã được tạo ở bước trên của Tenant nguồn.
Copy và lưu lại thông tin Token được trả về. Lưu ý Token này chỉ hiệu quả trong 1 tiếng kể từ khi được lấy, sử dụng cùng Client-ID và Secret trong trường hợp Token đã bị hết hạn.
Bước 2: Tiếp tục sử dụng lệnh sau để tìm thông tin ID của Tenant nguồn từ Token trên:
Trong đó, điền thông tin <jwt> bằng thông tin Token được get ra từ câu lệnh trên:
Copy thông tin ID và dataRegion được xuất ra.
Bước 3: Dùng lệnh sau để xem được danh sách các Device được quản lý bởi Tenant nguồn:
Trong đó, hãy điền thông tin <jwt> bằng thông tin Token và <tenant-id> bằng thông tin id đã được export ở trên, <data-region> chính là thông tin dataRegion.
Tiến hành thực hiện tương tự cho Tenant đích để lấy được các thông tin Client ID và Client-Secret của 2 Tenant.
POSTMANT
Bước 1: Tến hành mở ứng dụng Postman, tạo 1 Workspace mới cho API Rest sau đó vào phần Variables:
Bước 2: Tiến hành tạo và nhập thông tin cho các biến ID và Secret của Tenant nguồn và đích sau đó chọn Save:
Bước 3: Tạo 1 Folder và đặt tên là Authentication cùng các Request tương ứng như sau:
Bước 4: Để xác thực thông tin API của Tenant nguồn, sử dụng Request "Source:Authentication", tiến hành chỉnh sửa các thông tin sau:
Bước 5: Chọn Save và tiến hành Send để gửi Request; kết quả "Success" thì tiến hành Copy thông tin Token được trả về ở mục access_token:
Lưu Token vào biến SourceToken.
Bước 6: Tiếp tục đến Request "Source:Who am i" để lấy thông tin ID tương ứng của Tenant nguồn, chỉnh sửa các thông tin sau:
Bước 7: Tiến hành Save và Send request, Copy và lưu thông tin ID cũng như dataRegion vào biến SourceTenantID và SourceRegion:
Bước 8: Thực hiện tương tự cho Tenant đích:
Bước 9: Lưu tất cả thông tin vào biến của Session Migration:
Bước 10: Để lấy được thông tin danh sách các Device mà Tenant nguồn đang quản lý và chọn những Device muốn Migrate sử dụng Request "Source: Get List of Endpoint" và điền các thông tin sau:
Kiểm tra và Copy các ID của các Device sẽ được Migrate.
Bước 11: Để bắt đầu quá trình Migrate, sử dụng Request "Target: Start Receiver Task" cho Tenant đích để bật phiên nhận, điền các thông tin sau:
Chọn Save và Send, có thể thấy trạng thái là "receiving", lưu thông tin ID thành biến MigrateID và lưu Token nhận được:
Bước 12: Tương tự, cần bật phiên gửi cho Tenant nguồn. sử dụng Request "Source: Start Migration Job" và điền thông tin:
Chọn Save và Send, thông tin trả về cho thấy trạng thái của Tenant nguồn là "sending":
Bước 13: Để kiểm tra trạng thái của Device trong quá trình Migrate, dùng Request "Target: Check Migration Status" và điền thông tin:
Chờ khoảng 10 -15 giây sau tiến hành Send lại để thấy thông tin thành công:
LƯU Ý: Các Token chỉ tồn tại trong 1 thời gian ngắn, vì vậy trường hợp nếu thao tác mà gặp lỗi "401: Unauthorized" thì hãy thử Send lại các Request từ đầu và chỉnh sửa các ID và Token nhận được vào biến.
Bước 14: Device sau khi đã migrate thành công sẽ được hiển thị ở Audit Log của Central hoặc Event của Device đó:
Chúc các bạn thành công :">
Device Migration API - như cái tên của tính năng này, thì nó sẽ cho phép di chuyển hàng loạt các thiết bị từ một tenant sang tenant khác (Sophos Account Central), tính năng này áp dụng được cho cả máy tính và máy chủ chạy hệ điều hành Windows và Mac.
Lưu ý: Là trong quá trình Migrate, thì các Device phải online và được update thành công.
1. Chuẩn bị
Bước 1: Truy cập Tenant nguồn, vào phần My Products > General Settings:
Bước 2: Chọn API Credentials Management:
Bước 3: Chọn Add Credential:
Bước 4: Cấu hình thông tin xác thực API:
- Credential name: Đặt tên bất kì cho API
- Role: Chọn quyền cho tài khoản xác thực API, đối với tính năng Migration này cần cung cấp quyền Super Admin:
Bước 5: Sau khi khởi tạo thông tin xác thực API thành công, copy và lưu lại thông tin Client ID và Client Secret:
Lưu ý: Thông tin Client Secret chỉ hiển thị 1 lần, vì vậy hãy đảm bảo đã copy đầy đủ trước khi refresh hoặc đóng trang thông tin.
Bước 6: Tiếp theo tiến hành bật tính năng Device Migration. Vào phần General Settings > General > Device Migration:
Bước 7: Tiến hành chọn Allow device migration và tùy chọn thời gian mà tính năng này được sử dụng, sau đó chọn Save để lưu cấu hình:
Bước 8: Thực hiện tương tự cho Tenant đích, lưu thông tin Cliend ID và Secret và bật tính năng Device Migration.
2. Thiết lập xác thực
Để tạo xác thực cho quá trình Migrate giữa 2 Sophos Account, chúng ta cần sử dụng đến cURL hoặc Postman để thao tác API.
CURL
Bước 1: Sử dụng cURL, bật trình Command Line là dùng lệnh sau để xác thực thông tin Client ID của tài khoản Sophos Central, kiểm tra kết quả trả về là "success":
Code:
curl -XPOST -H "Content-Type:application/x-www-form-urlencoded" -d "grant_type=client_credentials&client_id=<client-id>&client_secret=<client-secret>&scope=token" https://id.sophos.com/api/v2/oauth2/token
Copy và lưu lại thông tin Token được trả về. Lưu ý Token này chỉ hiệu quả trong 1 tiếng kể từ khi được lấy, sử dụng cùng Client-ID và Secret trong trường hợp Token đã bị hết hạn.
Bước 2: Tiếp tục sử dụng lệnh sau để tìm thông tin ID của Tenant nguồn từ Token trên:
Code:
curl.exe -XGET -H "Authorization: Bearer <jwt>" https://api.central.sophos.com/whoami/v1
Copy thông tin ID và dataRegion được xuất ra.
Bước 3: Dùng lệnh sau để xem được danh sách các Device được quản lý bởi Tenant nguồn:
Code:
curl.exe -XGET -H "Authorization: Bearer <jwt>" -H "X-Tenant-ID: <tenant-id>" <data-region>/endpoint/v1/endpoints
Tiến hành thực hiện tương tự cho Tenant đích để lấy được các thông tin Client ID và Client-Secret của 2 Tenant.
POSTMANT
Bước 1: Tến hành mở ứng dụng Postman, tạo 1 Workspace mới cho API Rest sau đó vào phần Variables:
Bước 2: Tiến hành tạo và nhập thông tin cho các biến ID và Secret của Tenant nguồn và đích sau đó chọn Save:
Bước 3: Tạo 1 Folder và đặt tên là Authentication cùng các Request tương ứng như sau:
Bước 4: Để xác thực thông tin API của Tenant nguồn, sử dụng Request "Source:Authentication", tiến hành chỉnh sửa các thông tin sau:
- Method: chọn POST
- URL: https://id.sophos.com/api/v2/oauth2/token
- Mục Headers > Thêm Key "Content-Type" với Value là "application/x-www-form-urlencoded"
- Mục Body > Chọn x-www-form-urlencoded> Thêm các key sau:
- grant_type: client_credentials
- client_id: {{SourceClientID}}
- client_secret: {{SourceClientSecret}}
- scope: token
Bước 5: Chọn Save và tiến hành Send để gửi Request; kết quả "Success" thì tiến hành Copy thông tin Token được trả về ở mục access_token:
Lưu Token vào biến SourceToken.
Bước 6: Tiếp tục đến Request "Source:Who am i" để lấy thông tin ID tương ứng của Tenant nguồn, chỉnh sửa các thông tin sau:
- Method: chọn GET
- URL: https://api.central.sophos.com/whoami/v1
- Mục Headers > Thêm Key "Authorization" với Value là "Bearer {{SourceToken}}"
Bước 7: Tiến hành Save và Send request, Copy và lưu thông tin ID cũng như dataRegion vào biến SourceTenantID và SourceRegion:
Bước 8: Thực hiện tương tự cho Tenant đích:
Bước 9: Lưu tất cả thông tin vào biến của Session Migration:
Bước 10: Để lấy được thông tin danh sách các Device mà Tenant nguồn đang quản lý và chọn những Device muốn Migrate sử dụng Request "Source: Get List of Endpoint" và điền các thông tin sau:
- Method: chọn GET
- URL: {{SourceRegion}}/endpoint/v1/endpoints?fields=id,hostname
- Mục Headers> Thêm các Key:
- "Authorization" với Value là "Bearer {{SourceToken}}"
- "X-Tenant-ID" với Value là "{{SourceTenantID}}"
Kiểm tra và Copy các ID của các Device sẽ được Migrate.
Bước 11: Để bắt đầu quá trình Migrate, sử dụng Request "Target: Start Receiver Task" cho Tenant đích để bật phiên nhận, điền các thông tin sau:
- Method: chọn POST
- URL: {{TargetRegion}}/endpoint/v1/migrations
- Mục Headers> Thêm các Key sau:
- "Authorization" với Value là "Bearer {{TargetToken}}"
- "Content-Type" với Value là "application/json"
- "X-Tenant-ID" với Value là "{{TargetTenantID}}"
- Mục Body > Chọn raw và điền thông tin sau:
Code:
{
"fromTenant":"<source-tenant-id>",
"endpoints":
[
"<id-device-01>",
"<id-device-02>",
"<id-device-03>"
]
}
Chọn Save và Send, có thể thấy trạng thái là "receiving", lưu thông tin ID thành biến MigrateID và lưu Token nhận được:
Bước 12: Tương tự, cần bật phiên gửi cho Tenant nguồn. sử dụng Request "Source: Start Migration Job" và điền thông tin:
- Method: chọn PUT
- URL: {{SourceRegion}}/endpoint/v1/migrations/{{MigrationID}}
- Mục Headers> Thêm các Key sau:
- "Authorization" với Value là "Bearer {{SourceToken}}"
- "Content-Type" với Value là "application/json"
- "X-Tenant-ID" với Value là "{{SourceTenantID}}"
- Mục Body > Chọn raw và điền thông tin sau:
Code:
{
"token":"<migrate-token>",
"endpoints":
[
"<id-device-01>",
"<id-device-02>",
"<id-device-03>"
]
}
Chọn Save và Send, thông tin trả về cho thấy trạng thái của Tenant nguồn là "sending":
Bước 13: Để kiểm tra trạng thái của Device trong quá trình Migrate, dùng Request "Target: Check Migration Status" và điền thông tin:
- Method: chọn GET
- URL: {{SourceRegion}}/endpoint/v1/migrations/{{MigrationID}}/endpoints
- Mục Headers> Thêm các Key sau:
- "Authorization" với Value là "Bearer {{SourceToken}}"
- "X-Tenant-ID" với Value là "{{SourceTenantID}}"
Chờ khoảng 10 -15 giây sau tiến hành Send lại để thấy thông tin thành công:
LƯU Ý: Các Token chỉ tồn tại trong 1 thời gian ngắn, vì vậy trường hợp nếu thao tác mà gặp lỗi "401: Unauthorized" thì hãy thử Send lại các Request từ đầu và chỉnh sửa các ID và Token nhận được vào biến.
Bước 14: Device sau khi đã migrate thành công sẽ được hiển thị ở Audit Log của Central hoặc Event của Device đó:
Chúc các bạn thành công :">
Attachments
-
1719838023031.png59.5 KB · Views: 0
-
1719842224474.png64.8 KB · Views: 0
-
1719890489439.png78.8 KB · Views: 0
-
1719892152588.png119.7 KB · Views: 0
-
1719901657876.png200.2 KB · Views: 0
-
1719902114956.png197.7 KB · Views: 0
-
1719902475521.png191 KB · Views: 0
-
1719903171723.png158.1 KB · Views: 0
-
1719903213051.png142.9 KB · Views: 0
-
1719903388731.png199 KB · Views: 0
-
1719903585263.png520.9 KB · Views: 0
Last edited: