Ниже приведён пример использования операции SetMbSec для изменения настроек политики безопасности. В запросе передаётся список изменяемых настроек парольной политики и контроля доступа. В ответе приходит обновлённый список всех настроек политики безопасности и контроля доступа.
{
"SetMbSec" :
{
"tMbSec" :
{
"id" : "S1!M"
},
"tArg" :
{
"pattern" :
{
"policy" :
{
"passwordPolicy" : "true",
"settings" : "true"
}
},
"meta" :
{
"policy" :
{
"passwordPolicy" :
{
"minLength" : "5",
"requireDifferentChars" : "true",
"requireDifferentLetterCase" : "true",
"forbiddenStrings" :
{
"s" :
[
"admin",
"user",
"qwerty"
]
},
"checkForbiddenStrings" : "true",
"historyLength" : "5"
},
"settings" :
{
"allowedDocumentFormats" :
{
"s" :
[
"XLS",
"DOC",
"PDF"
]
},
"screenshotWithoutSecurity" : "true",
"copyToClipboardAllowed" : "false",
"forceCleanMemory" : "true",
"maxFailedLogons" : "10"
}
}
},
"metaGet" :
{
"pattern" :
{
"policy" :
{
"passwordPolicy" : "true",
"settings" : "true"
}
}
}
}
}
}
{
"SetMbSecResult" :
{
"id" :
{
"id" : "S1!M"
},
"metaGet" :
{
"id" :
{
"id" : "S1!M"
},
"meta" :
{
"policy" :
{
"passwordPolicy" :
{
"minLength" : "0",
"minAge" : "0",
"maxAge" : "0",
"restrictUserName" : "0",
"restrictFullUserName" : "0",
"requireDifferentChars" : "0",
"uniquenessDegree" : "0",
"requireDifferentLetterCase" : "0",
"forbiddenStrings" : "",
"checkForbiddenStrings" : "0",
"maxRepeatedCharCount" : "0",
"historyLength" : "0",
"hashing" :
{
"isON" : "0",
"excludeAdmin" : "0"
},
"requireDigitsAndChars" : "0",
"requireNonAlphabeticChars" : "0",
"warningMaxAge" : "0"
},
"settings" :
{
"objectsIdFormat" : "",
"allowedDocumentFormats" : "",
"mandatoryAccessControl" : "None",
"restrictAdminAccess" : "0",
"restrictIsaAccess" : "0",
"restrictUserDeletion" : "0",
"restrictGroupDeletion" : "0",
"discretionaryAccessControl" : "1",
"attributeBasedAccessControl" : "0",
"methodsCombineAlgorithm" : "Default",
"supportUserPrivateFolder" : "1",
"screenshotWithoutSecurity" : "0",
"copyToClipboardAllowed" : "1",
"auditClipboardOperations" : "1",
"allowUserQueries" : "1",
"forceCleanMemory" : "0",
"enforceApplicationRole" : "0",
"checkUserPassword" : "0",
"allowCreateUserGrant" : "0",
"lockIdentifiersPeriod" : "0",
"autoLockPeriod" : "0",
"createDeferredSubjects" : "0",
"maxFailedLogons" : "0",
"failedLogonsCounterResetPeriod" : "0",
"isaPresent" : "0",
"chkObjVerOnUpdFromPef" : "0",
"mbId" : ""
}
},
"bisearchEnable" : "Full",
"apply" :
{
"onCredentialsRequired" :
{
"logonParams" :
{
"descr" : "Введите имя и пароль пользователя, обладающего правами создания таблиц в базе данных 'База данных'",
"realm" : "OBJ21909",
"toAdmin" : "1",
"logonData" :
{
"driver" : "MSSQL2012",
"server" : "test-server",
"database" : "Warehouse"
}
}
}
}
}
}
}
}
public static SetMbSecResult ChangeSecuritySettings(string mb)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var setMbSec = new SetMbSec()
{
tArg = new SetMbSecArg()
{
//Шаблон выполнения операции
pattern = new MbSecMdPattern()
{
policy = new MbSecPolicyPattern()
{
passwordPolicy = true,
settings = true
}
},
//Метаданные с новыми параметрами политики безопасности
meta = new MbSecMd()
{
policy = new MbSecPolicy()
{
passwordPolicy = new MbSecPasswordPolicy() //Парольная политика
{
minLength = 5, //Минимальная длина пароля
requireDifferentChars = true, //Запрет пароля из одинаковых символов
requireDifferentLetterCase = true, //Запрет пароля из букв одного регистра
checkForbiddenStrings = true, //Проверять пароль на запрещённые строки
forbiddenStrings = new string[3] { "admin", "user", "qwerty" },
historyLength = 5 //Количество старых паролей, с которыми не может совпадать новый
},
settings = new MbSecPolicySettings() //Контроль доступа
{
allowedDocumentFormats = new string[3] { "XLS", "DOC", "PDF" }, //Разрешённые форматы документов
screenshotWithoutSecurity = true, //Отображать огромные значки без учёта прав доступа
copyToClipboardAllowed = false, //Запрет копирования в буфер обмена
forceCleanMemory = true, //Очистка памяти
maxFailedLogons = 10 //Максимальное количество неудачных попыток ввода пароля
}
}
},
//Параметры обновления информации после выполнения операции
metaGet = new GetMbSecArg()
{
pattern = new MbSecMdPattern()
{
policy = new MbSecPolicyPattern()
{
passwordPolicy = true,
settings = true
}
}
}
},
//Моникёр репозитория
tMbSec = new MbId() { id = mb }
};
//Изменение политики безопасности
var result = somClient.SetMbSec(setMbSec);
return result;
}
См. также: