Trend DeepSecurityManager - 我们正在将 REST API 与 DSM v11.2 一起使用,并且在尝试找出一种从 AD 同步用户的方法时遇到了一些挑战。有人可以帮忙吗?
谢谢,桑达尔。
Trend DeepSecurityManager - 我们正在将 REST API 与 DSM v11.2 一起使用,并且在尝试找出一种从 AD 同步用户的方法时遇到了一些挑战。有人可以帮忙吗?
谢谢,桑达尔。
趋势科技服务器深度安全防护系统在平台中内置了此功能,允许您在不使用 API 的情况下同步用户(我在趋势科技担任 CSE) https://help.deepsecurity.trendmicro.com/11_2/on-premise/user -management.html
如果您必须使用 API,您需要熟悉以下自动化端点。
搜索用户:
POST /administrators/search
创建用户:
POST /administrators
删除用户:
DELETE /administrators/{contactID}
查找用户:
GET /administrators/{contactID}
您可以在此处找到 API 示例: https ://automation.deepsecurity.trendmicro.com/article/11_2/api-reference#tag/Administrators
您可以使用趋势科技服务器深度安全防护系统管理器 UI ( https://help.deepsecurity.trendmicro.com/11_2/on-premise/user-management.html )设置与 AD 的集成——我认为您不能这样做虽然使用 API。
但是,一旦设置了 AD,您就可以使用 API 创建触发同步的计划任务。我在这里有一个类似的例子(我是 Deep Security 的信息开发人员):https ://automation.deepsecurity.trendmicro.com/article/11_2/maintain-protection-using-scheduled-tasks#create-run-and -删除计划任务
您需要在您的情况下使用同步用户任务。
以下是 JavaScript 中的示例:
exports.syncUsersUsingScheduledTask = function (api, apiVersion) {
return new Promise((resolve, reject) => {
// Set the name and task type
const syncUsers = new api.ScheduledTask();
syncUsers.name = "synchronize-directory";
syncUsers.type = api.ScheduledTask.TypeEnum["synchronize-users"];
// Run when the scheduled task is created
syncUsers.runNow = true;
// Use a once-only recurrence
const scheduleDetails = new api.ScheduleDetails();
scheduleDetails.recurrenceType = api.ScheduleDetails.RecurrenceTypeEnum.none;
// Set the recurrence count to 1 so that the task is deleted after running
scheduleDetails.recurrenceCount = 1;
const scheduleParameters = new api.OnceOnlyScheduleParameters();
// The start time is not important because it is deleted after running
scheduleParameters.startTime = 1;
scheduleDetails.onceOnlyScheduleParameters = scheduleParameters;
syncUsers.scheduleDetails = scheduleDetails;
const scheduledTasksApi = new api.ScheduledTasksApi();
scheduledTasksApi.createScheduledTask(syncUsers, apiVersion)
.then(scheduledTask => {
resolve(scheduledTask.ID);
})
.catch(error => {
reject(error);
});
});
};