Я создал AWS Службу каталогов Active Directory и создал несколько пользователей. Теперь запускается python лямбда-функция для сброса пароля пользователей с использованием учетных данных администратора контроллера домена.
На что обратить внимание 1. Во-первых, все операции, кроме сброса пароля, работают нормально с Соединение LDAP. И знайте, что для сброса пароля требуется безопасное связывание. 2. Я создал клиентский LDAPS, включенный в AWS Active Directory.
# Below is the lambda code.
import ldap
import os
(Variables)
url=os.environ['url']
domain_base_dn=os.environ['domain_base_dn']
user=os.environ['user']
pw=os.environ['pw']
def lambda_handler(event, context):
#Set up LDAP connection
ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
con = ldap.initialize(url)
con.protocol_version = ldap.VERSION3
con.set_option(ldap.OPT_REFERRALS, 0)
con.bind_s(user,pw)
new_password='efghLK11#'
unicode_pass = unicode('\"' + new_password + '\"', 'iso-8859-1')
password_value = unicode_pass.encode('utf-16-le')
add_pass = [(ldap.MOD_REPLACE, 'unicodePwd', [password_value])]
con.modify_s(dn,add_pass)
con.unbind()
Ниже приведена ошибка, которую я получаю:
"errorType": "SERVER_DOWN",
"errorMessage": "{'info': u'TLS error -8187:security library: invalid arguments.', 'errno': 107, 'desc': u\"Can't contact LDAP server\"}"
Я не знаю, нужно ли мне что-то делать работа по настройке в AWS AD и если да, может кто-нибудь, пожалуйста, подскажите мне об этом. Заранее спасибо!