Der Vollständigkeit halber, der Nachwelt zuliebe und zur Vermeidung von Cliffhangern ohne Ausblick auf die nächste Staffel :-) hier die Zusammenfassung der Situation:
In einer vorherigen Konfiguration wurden bereits zahlreiche Nutzer angelegt. Zu diesen wurden jedoch keine Kontakte erstellt. Die neue Konfiguration hatte damit ein Problem. Die eingeleitete Gegenmaßnahme war die Nutzer direkt in der DB zu löschen.
DELETE FROM users WHERE id > 2;
Danach lief die Kontaktdatensynchronisation durch.
Für die Authentifizierung habe ich hier noch ein Beispiel für Authentication###000-Default zusammengestellt, welches mit einem LDAP redet um Kontakte zu authentifizieren und mit einem Active Directory um Agenten zu authentifizieren (und noch mit KIX als DB-Auth gegen sich selbst). Es zeigt damit auch wie mehre Auth.-Backends eingerichtet werden können.
[
{
"Enabled": 1,
"Module": "Kernel::System::Auth::LDAP",
"Name": "1st Backend: Customer Contact From LDAP",
"Config": {
"AlwaysFilter": "(&(objectclass=person)(mail=*))",
"BaseDN": "dc=example,dc=com",
"Charset": "utf-8",
"Die": 1,
"Host": "ldap.example.com",
"Params": {
"async": 0,
"port": 389,
"timeout": 10,
"version": 3
},
"SearchUserDN": "cn=read-only-admin,dc=example,dc=com",
"SearchUserPw": "password",
"GroupDN": "dc=customercontacts,dc=example,dc=com",
"AccessAttr": "memberUid",
"UID": "uid",
"UserAttr": "UID",
"UserSuffix": ""
},
"Sync": [
{
"Enabled": 1,
"Module": "Kernel::System::Auth::Sync::LDAP",
"Config": {
"ContactUserSync": {
"Email": "mail",
"Firstname": "cn",
"Lastname": "sn",
"UserLogin": "uid",
"IsAgent": "SET:0",
"IsCustomer": "SET:1",
},
"GroupDNBasedRoleSync": {
"dc=customercontacts,dc=example,dc=com": {
"Customer": 1
}
}
}
}
]
},
{
"Enabled": 1,
"Module": "Kernel::System::Auth::LDAP",
"Name": "2nd Backend: Agent Users from Active Directory (via multiple LDAPS)",
"Config": {
"AlwaysFilter": "(&(objectclass=person)(mail=*))",
"BaseDN": "dc=example,dc=com",
"Charset": "utf-8",
"Die": 1,
"Host": [
"ldaps://dc1.example.com",
"ldaps://dc2.example.com"
],
"Params": {
"async": 0,
"port": 636,
"timeout": 10,
"version": 3
},
"SearchUserDN": "cn=read-only-admin,dc=example,dc=com",
"SearchUserPw": "password",
"GroupDN": "dc=serviceteam,dc=example,dc=com",
"AccessAttr": "member",
"UID": "sAMAccountName",
"UserAttr": "DN",
"UserSuffix": ""
},
"Sync": [
{
"Enabled": 1,
"Module": "Kernel::System::Auth::Sync::LDAP",
"Config": {
"ContactUserSync": {
"Email": "mail",
"Title": "title",
"Firstname": "givenname",
"Lastname": "sn",
"Street": "streetAddress",
"City": "l",
"Zip": "postalCode",
"Phone": "homePhone",
"Mobile": "mobile",
"Fax": "facsimileTelephoneNumber",
"UserLogin": "sAMAccountName",
"IsAgent": "SET:1",
"IsCustomer": "SET:0"
},
"GroupDNBasedRoleSync": {
"dc=serviceteam,dc=example,dc=com": {
"Agent User": 1,
"Ticket Agent": 1,
"Asset Maintainer": 1,
"Customer Manager": 1,
"FAQ Editor": 1
}
},
"AttributeBasedRoleSync": {
"sAMAccountName": {
"m.mustermann": {
"Superuser": 1
}
}
}
}
}
]
},
{
"Enabled": 1,
"Module": "Kernel::System::Auth::DB",
"Name": "Local Database",
"Config": {
"CryptType": "sha2"
}
}
]
CU, Torsten