Невозможно запросить A/C через пользовательскую консоль в Tivoli идентификации менеджера 5.1
Я хочу понять, как ACL работает в Tivoli Identity Manager. Я пытаюсь запросить кондиционер на службе из пользовательской консоли, но получаю сообщение об ошибке:
"Запрос не может быть отправлен, поскольку пароль синхронизации не соответствует правилам пароля, которые управляют службой. Измените или сбросьте пароль синхронизации, чтобы соответствовать следующим правилам пароля".
Я установил пароль по умолчанию "12345" в политике предоставления и длину пароля от 0 до 8 в политике паролей и имею операцию предоставления "ADD" в ACL, все еще не знаю, что я делаю неправильно. Пожалуйста, предложите
Ниже приведено правило политики по умолчанию для ITIM.
function createIdentity() {
var EXISTING_CASE=0;
var UPPER_CASE=1;
var LOWER_CASE=2;
var tf = false;
var identity = "";
var baseidentity = "";
var counter = 0;
var locale = subject.getProperty("erlocale");
var fAttrKey = "uid";
var sAttrKey = "";
var idx1 = 0;
var idx2 = 0;
var fCase = 2;
var sCase = 2;
if ((locale != null) && (locale.length > 0)) {
locale = locale[0];
}
if (locale == null || locale.length == 0)
locale = "";
var firstAttribute = "";
var secondAttribute = "";
if (((fAttrKey != null) && (fAttrKey.length > 0)) || ((sAttrkey != null) && (sAttrkey.length > 0))) {
if ((fAttrKey != null) && (fAttrKey.length > 0)) {
firstAttribute = subject.getProperty(fAttrKey);
if (((firstAttribute != null) && (firstAttribute.length > 0)))
firstAttribute = firstAttribute[0];
if (firstAttribute == null || firstAttribute.length == 0)
firstAttribute = "";
else {
firstAttribute=IdentityPolicy.resolveAttribute(fAttrKey,firstAttribute);
if ((idx1>firstAttribute.length) || (idx1==0))
idx1=firstAttribute.length;
firstAttribute = firstAttribute.substring(0,idx1);
}
if (fCase == UPPER_CASE)
firstAttribute = firstAttribute.toUpperCase(locale);
else if (fCase == LOWER_CASE)
firstAttribute = firstAttribute.toLowerCase(locale);
}
if ((sAttrKey != null) && (sAttrKey.length > 0)) {
secondAttribute = subject.getProperty(sAttrKey);
if (((secondAttribute != null) && (secondAttribute.length > 0)))
secondAttribute = secondAttribute[0];
if (secondAttribute == null || secondAttribute.length == 0)
secondAttribute = "";
else {
secondAttribute=IdentityPolicy.resolveAttribute(sAttrKey,secondAttribute);
if ((idx2>secondAttribute.length) || (idx2==0))
idx2=secondAttribute.length;
secondAttribute = secondAttribute.substring(0,idx2);
}
if (sCase == UPPER_CASE)
secondAttribute = secondAttribute.toUpperCase(locale);
else if (sCase == LOWER_CASE)
secondAttribute = secondAttribute.toLowerCase(locale);
}
baseidentity = firstAttribute + secondAttribute;
}
if ((baseidentity == null) || (baseidentity.length == 0)) {
var givenname = subject.getProperty("givenname");
if (((givenname != null) && (givenname.length > 0)))
givenname = givenname[0];
if(givenname == null || givenname.length == 0)
givenname = "";
else
givenname = givenname.substring(0,1);
baseidentity = givenname + subject.getProperty("sn")[0];
}
tf = IdentityPolicy.userIDExists(baseidentity, false, false);
if (!tf)
return baseidentity;
while (tf) {
counter+=1;
identity = baseidentity + counter;
tf = IdentityPolicy.userIDExists(identity, false, false);
}
return identity;
}
return createIdentity();
1 ответ
Я предполагаю, что когда вы запрашиваете доступ, у вас еще нет учетной записи для службы. Следовательно, он пытается создать новую учетную запись для этой службы перед предоставлением доступа. При создании новой учетной записи она будет использовать пароль из удостоверения для службы, если у вас включена глобальная синхронизация паролей.
Пароль, установленный для идентификатора (erSynchPassword), не соответствует требованиям к паролю для отдельной службы. Попробуйте изменить пароль для удостоверения личности и убедитесь, что пароль соответствует требованиям к паролю службы. Или временно для тестирования отключите политику паролей, которая применяется к этой службе, и попытайтесь запросить доступ.
Если это вопрос разработки, лично я временно отключил бы все политики паролей, чтобы определить, действительно ли проблема связана с политикой паролей. Это самый простой способ устранения обнаруженной ошибки.