python лямбда-функция для сброса пароля пользователя с помощью администратора домена - PullRequest
0 голосов
/ 21 апреля 2020

Я создал 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 и если да, может кто-нибудь, пожалуйста, подскажите мне об этом. Заранее спасибо!

...