LDAP 문제 해결
관리자를 위한 LDAP 문제 해결 방법과 디버깅 도구에 대해 설명합니다.
관리자인 경우, 다음 정보를 사용하여 LDAP 문제를 해결하세요. 일반적인 문제 및 워크플로 # 연결 # 연결 거부 # LDAP 서버에 연결할 때 Connection Refused 오류 메시지가 표시되면, GitLab에서 사용하는 LDAP port 및 encryption 설정을 검토하세요. 일반적인 조합은 encryption: 'plain' 및 port: 389 , 또는 encryption: 'simple_tls' 및 port: 636 입니다. 연결 시간 초과 # GitLab이 LDAP 엔드포인트에 연결할 수 없는 경우, 다음과 같은 메시지가 표시됩니다: Could not authenticate you from Ldapmain because "Connection timed out - user specified timeout". 설정된 LDAP 공급자 및/또는 엔드포인트가 오프라인이거나 GitLab에서 연결할 수 없는 경우, 어떤 LDAP 사용자도 인증하거나 로그인할 수 없습니다. GitLab은 LDAP 중단 시 인증을 제공하기 위해 LDAP 사용자의 자격 증명을 캐시하거나 저장하지 않습니다. 이 오류가 표시되면 LDAP 공급자 또는 관리자에게 문의하세요. 참조 오류 # 로그에서 LDAP search error: Referral 이 표시되거나 LDAP 그룹 동기화를 문제 해결할 때 이 오류가 표시되면, 설정 문제를 나타낼 수 있습니다. LDAP 설정 파일 /etc/gitlab/gitlab.rb (Omnibus) 또는 config/gitlab.yml (source)은 YAML 형식이며 들여쓰기에 민감합니다. group_base 및 admin_group 설정 키가 서버 식별자 뒤에 공백 2개로 들여쓰여 있는지 확인하세요. 기본 식별자는 main 이며, 예시 스니펫은 다음과 같습니다: main: # 'main' is the GitLab 'provider ID' of this LDAP server label: 'LDAP' host: 'ldap.example.com' # ... group_base: 'cn=my_group,ou=groups,dc=example,dc=com' admin_group: 'my_admin_group' LDAP 쿼리 # 다음은 Rails 콘솔을 사용하여 LDAP에서 검색을 수행할 수 있게 해줍니다. 수행하려는 작업에 따라 사용자 나 그룹 을 직접 쿼리하거나, ldapsearch 를 사용 하는 것이 더 적합할 수도 있습니다. adapter = Gitlab::Auth::Ldap::Adapter.new('ldapmain') options = { # :base is required # use .base or .group_base base: adapter.config.group_base, # :filter is optional # 'cn' looks for all "cn"s under :base # '*' is the search string - here, it's a wildcard filter: Net::LDAP::Filter.e