ownCloud Infinite Scale에서 LDAP 인증을 구성하는 방법

Infinite Scale에서 LDAP 인증이란 무엇을 의미합니까?

ownCloud Infinite Scale(oCIS)은 OpenID Connect(OIDC)를 통해 브라우저 및 클라이언트 세션을 인증합니다. LDAP는 내장된 oCIS ID 공급자 뒤에 디렉터리 사용자 및 자격 증명을 제공하거나 Keycloak과 같은 외부 OIDC 공급자 뒤에 위치할 수 있습니다. 적절한 구성은 간단한 로그인 흐름을 가진 소규모 배포가 필요한지, 아니면 더 광범위한 제어 기능을 갖춘 프로덕션 ID 플랫폼이 필요한지에 따라 달라집니다.

oCIS는 ownCloud Server Classic과 다르기 때문에 이러한 구분은 중요합니다. 기존 튜토리얼에서는 웹 관리 페이지를 통해 LDAP을 구성하거나 occ ldap:*oCIS를 구성하지 않았습니다. oCIS에서 설정은 배포 환경 변수 또는 서비스 구성이며, 여러 서비스에서 동일한 디렉터리에 대한 일관된 보기가 필요할 수 있습니다.

ownCloud의 버전별 IDP 서비스 설명서에 따르면 내장 공급자는 외부 LDAP 백엔드를 사용할 수 있습니다. 보안 지침 에서는 규모가 크거나 프로덕션 환경에 설치할 경우 외부 OIDC 공급자를 사용할 것을 권장합니다. 이 가이드에서는 oCIS 8.2 설명서를 사용하므로, 기본값 및 배포 예제가 변경될 수 있으므로 변수를 적용하기 전에 설치된 릴리스에 맞는 설명서를 확인하십시오.

어떤 인증 방식을 선택해야 할까요?

접근하다잘 맞아요절충
외부 LDAP를 지원하는 내장형 oCIS IDPLDAP를 암호 소스로 사용해야 하는 소규모 설치, 실험실 또는 평가 환경조작은 간단하지만 내장된 IDP는 의도적으로 기능이 제한되어 있으며 완전한 신원 확인 플랫폼은 아닙니다.
LDAP 또는 Active Directory에 연결된 외부 OIDC 공급자프로덕션 환경, 여러 애플리케이션 또는 중앙 집중식 다단계 인증(MFA) 및 ID 수명 주기 제어와 같은 요구 사항ID 서비스를 추가하여 운영하지만, 로그인 정책 및 LDAP 통합은 별도의 제공업체에 배치합니다.
HTTP 기본 인증특정 호환성 또는 개발 사례이는 일반적인 브라우저 로그인 경로가 아닙니다. ownCloud는 프로덕션 환경에서 프록시를 이용한 기본 인증(Basic Auth) 활성화를 권장하지 않습니다.

이미 Keycloak 또는 다른 OIDC 공급자를 사용 중인 경우, 디렉터리에 연결하는 것이 일반적으로 더 깔끔한 프로덕션 환경 구성 방법입니다. 배포 규모가 작고 내장 공급자의 제한 사항이 허용 가능한 수준이라면, IDP의 LDAP 백엔드를 구성하고 사용자 접근 권한을 부여하기 전에 테스트하십시오.

oCIS를 편집하기 전에 무엇을 수집해야 할까요?

  • 정확한 oCIS 버전과 배포 방법(예: Docker Compose, Kubernetes 또는 관리형 바이너리 프로세스)을 명시하십시오.
  • LDAP 서버의 DNS 이름, TLS 인증서 체인 및 LDAPS 엔드포인트입니다. ldaps://인증서 유효성 검사를 사용하는 것이 좋으며, 신뢰 문제를 숨기기 위해 유효성 검사를 비활성화하지 마십시오.
  • 최소 권한 바인딩 계정과 해당 계정의 전체 고유 이름(DN)입니다. 이 계정은 불필요한 쓰기 권한 없이 oCIS에 필요한 사용자 및 그룹 분기를 검색할 수 있어야 합니다.
  • 사용자 검색 기준 DN, 검색 범위, 로그인 속성, 객체 클래스, 이메일 및 표시 이름 속성, 그리고 안정적인 고유 사용자 ID 속성을 확인합니다. 이러한 속성을 실제 디렉터리 항목과 대조하여 확인하십시오.
  • 사용자의 LDAP 그룹이 oCIS에 표시되어야 하는 경우, 그룹 기본 DN과 멤버십 속성이 표시됩니다.
  • 현재 oCIS 구성의 백업과 LDAP 변경에 의존하지 않는 테스트 완료된 관리자 로그인 정보가 포함되어 있습니다.

안정적인 신원 매핑은 특히 주의해야 합니다. 표시 이름이나 이메일 주소는 변경될 수 있지만, 고유 ID는 동일한 사용자에게 계속 연결되어 있어야 합니다. oCIS가 변경 후 다른 식별자를 감지하면 기존 사용자가 예상되는 신원 및 접근 권한을 상속받는 대신 새 계정으로 표시될 수 있습니다.

내장 IDP를 외부 LDAP 서버에 연결하는 방법은 무엇입니까?

oCIS의 내장 IDP를 사용하는 소규모 배포의 경우, 배포에 사용되는 환경 또는 서비스 구성에서 IDP 범위 LDAP 변수를 설정하십시오. 아래 값은 예시일 뿐입니다. 호스트, DN, 인증서 경로 및 스키마 이름은 사용자의 디렉터리 값으로 바꾸십시오.

IDP_LDAP_URI=ldaps://ldap.example.net:636
IDP_LDAP_TLS_CACERT=/etc/ocis/certs/directory-ca.pem
IDP_LDAP_BIND_DN=uid=ocis-reader,ou=service,dc=example,dc=net
IDP_LDAP_BIND_PASSWORD=<load-from-your-secret-store>
IDP_LDAP_BASE_DN=ou=people,dc=example,dc=net
IDP_LDAP_SCOPE=sub
IDP_LDAP_LOGIN_ATTRIBUTE=uid
IDP_LDAP_EMAIL_ATTRIBUTE=mail
IDP_LDAP_NAME_ATTRIBUTE=displayName
IDP_LDAP_UUID_ATTRIBUTE=entryUUID
IDP_LDAP_UUID_ATTRIBUTE_TYPE=text
IDP_LDAP_OBJECTCLASS=inetOrgPerson

IDP 참조 문서에는 URI, CA 인증서, 바인드 DN 및 암호, 사용자 기본 DN, 범위, 로그인 속성, UUID 속성 및 객체 클래스를 포함한 이러한 설정이 나와 있습니다. 이 예제는 디렉터리가 텍스트 형식의 정보를 제공한다고 가정합니다 . Active Directory 및 기타 스키마에서는 다른 매핑이 필요할 수 있습니다. 여기에 나와 있다고 해서 그대로 entryUUID복사하지 마십시오 .entryUUID

바인딩 암호는 배포 암호 또는 플랫폼에 권장되는 암호 메커니즘에 저장하십시오. 공개 Compose 파일, 저장소 또는 티켓에 암호를 저장하지 마십시오. CA 인증서는 oCIS 프로세스에서 읽을 수 있도록 유지하고 인증서 검증을 보존하십시오. IDP INSECURE설정은 LDAP TLS 인증서 유효성 검사를 비활성화하므로 프로덕션 환경에는 적합하지 않습니다.

또한 계정 비활성화 동작을 디렉터리에 맞게 조정하십시오. IDP 문서에는 IDP_USER_ENABLED_ATTRIBUTE기본값으로 ownCloud 고유 속성 이름이 나와 있습니다. 디렉터리에서 다른 활성화/비활성화 플래그를 사용하는 경우 해당 속성에 매핑하십시오. 사용자 서비스의 설정 USERS_LDAP_DISABLE_USER_MECHANISM도 검토하십시오. 디렉터리에 따라 속성 기반 처리, 그룹 기반 처리 또는 none다른 처리 방식이 있습니다. 스키마 불일치로 인해 비활성화된 계정이 활성 계정으로 처리되지 않도록 신중하게 선택하십시오.

사용자 및 그룹 조회에도 LDAP 설정이 필요한가요?

대부분의 경우 그렇습니다. 비밀번호 확인과 사용자 검색은 서로 관련되어 있지만 별개의 작업입니다. IDP(ID 공급자)는 로그인을 인증하고, oCIS 사용자와 Graph 서비스는 플랫폼에 사용자 및 그룹 정보를 제공합니다. oCIS의 ID 소스로 외부 디렉터리를 사용하는 경우, 사용자와 Graph LDAP 백엔드가 동일한 디렉터리를 읽고 동일한 사용자를 일관되게 매핑하도록 구성해야 합니다.

사용자 서비스의 경우 , , , , , , , 및 USERS_DRIVER=ldap와 같은 서비스 범위 설정을 검토하십시오 . 배포에 필요한 경우 메일, 표시 이름, 범위 및 그룹 변수를 설정하십시오. 스키마 이름은 일반적인 예시가 아닌 디렉터리와 정확히 일치해야 합니다.USERS_LDAP_URIUSERS_LDAP_CACERTUSERS_LDAP_BIND_DNUSERS_LDAP_BIND_PASSWORDUSERS_LDAP_USER_BASE_DNUSERS_LDAP_USER_SCHEMA_IDUSERS_LDAP_USER_SCHEMA_USERNAME

Graph 서비스는 자체 LDAP 설정을 사용합니다. oCIS가 관리 없이 읽어야 하는 기존 디렉터리의 경우, GRAPH_LDAP_SERVER_WRITE_ENABLED=falseGraph LDAP 연결 및 스키마를 설정하고 구성하십시오. ownCloud는 이를 기존 LDAP 서버에 연결하는 읽기 전용 패턴으로 설명합니다. 호환되는 LDAP 스키마를 의도적으로 준비하고 oCIS가 디렉터리 객체를 생성하거나 변경하도록 하려는 경우가 아니라면 쓰기 권한은 비활성화된 상태로 유지하십시오.

서비스별 변수 접두사 또는 문서화된 전역 OCIS_LDAP_*변수를 신중하게 사용하십시오. 전역 변수는 여러 서비스에 동시에 영향을 미칠 수 있습니다. 처음 통합할 때는 서비스별로 명시적인 설정을 사용하면 어떤 서비스에 오류가 발생하는지 쉽게 파악하고 의도치 않은 쓰기 작업이나 스키마 오탐을 ​​방지할 수 있습니다. 사용자 서비스 참조 및 그래프 서비스 참조 목록에는 릴리스별 이름과 기본값이 나와 있습니다.

설정을 안전하게 적용하는 방법은 무엇인가요?

  1. 현재 환경 파일, 서비스 유닛 또는 Compose 구성의 사본을 저장하십시오. 복원 방법을 기록해 두십시오.
  2. LDAP 변수를 실제 oCIS 서비스 정의에 추가하십시오. 기존 Compose 환경 블록의 나머지 부분을 이 예제로 대체하지 마십시오. 이미 실행 중인 배포에 설정을 병합하십시오.
  3. oCIS 서비스가 인증서 파일을 읽는 컨테이너 또는 호스트 네임스페이스 내에 해당 파일이 있는지 확인하십시오. 호스트 경로는 컨테이너 내부에서 자동으로 표시되지 않습니다.
  4. oCIS를 재시작하기 전에 LDAP에 대해 바인딩 계정과 검색 기준을 검증하십시오. 서비스에 구성된 것과 동일한 서버 호스트 이름, 기본 DN 및 로그인 속성을 사용하십시오.
  5. 서비스가 새 환경을 적용받도록 배포 환경의 일반적인 프로세스에 따라 oCIS를 다시 시작하십시오. 다중 서비스 또는 다중 노드 배포 환경에서는 각 인스턴스의 관련 서비스가 의도한 구성을 사용하고 있는지 확인하십시오.
  6. 허용된 LDAP 계정 하나와 로그인해서는 안 되는 계정 하나를 사용하여 테스트하십시오. 새 로그인 경로가 확인될 때까지 기존 관리자 세션을 열어 두십시오.

디렉터리를 직접 확인하려면 ldapsearch명령줄에 암호를 입력하지 않고도 바인딩 및 사용자 필터를 테스트할 수 있습니다.

ldapsearch -H ldaps://ldap.example.net:636 \
  -D 'uid=ocis-reader,ou=service,dc=example,dc=net' -W \
  -b 'ou=people,dc=example,dc=net' '(uid=alice)' dn uid entryUUID mail

구성하려는 로그인 속성과 기본 DN을 사용하십시오. 쿼리가 성공하면 해당 쿼리에 대한 네트워크, TLS, 바인딩 및 검색 동작이 확인되지만, 모든 oCIS 서비스가 동일한 매핑을 사용한다는 것을 증명하는 것은 아닙니다.

설정이 제대로 작동하는지 어떻게 알 수 있나요?

로그인 페이지가 나타나는지 여부만으로 결과를 판단하지 마십시오. 테스트 디렉터리 사용자로 일반적인 oCIS 웹 흐름을 통해 로그인하고 파일을 열어 예상되는 사용자 이름과 프로필 정보를 확인하십시오. 그룹이 공유 또는 공간 액세스에 영향을 미치는 경우, 알려진 그룹 구성원 자격도 확인하십시오. 그런 다음 잘못된 암호와 사용 중지되었거나 허용된 사용자 검색 범위 밖에 있는 LDAP 계정을 사용하여 테스트하십시오. 이러한 계정으로는 액세스가 허용되지 않아야 합니다.

oCIS 서비스 로그에서 LDAP 연결, TLS, 바인딩 및 사용자 조회 오류를 검토하십시오. 유효한 LDAP 바인딩 후 oCIS 로그인이 실패하는 경우 검색 필터, 기본 DN, 사용자 식별자 또는 OIDC-사용자 매핑 불일치가 원인일 수 있습니다. 운영 환경에서 파일럿 테스트를 진행할 때는 대규모 그룹을 마이그레이션하기 전에 기존 사용자의 파일, 공유 폴더 및 그룹 기반 액세스 권한을 확인하십시오. 인증 확인만으로는 기존 계정의 ID와 권한이 유지되었음을 보장할 수 없습니다.

로그인이 계속 실패할 경우 무엇을 변경해야 할까요?

  • TLS 또는 연결 오류: oCIS 호스트가 LDAP 서버에 연결되고 포트와 스키마가 일치하는지, CA 파일에 발급 인증서 체인이 포함되어 있는지 확인하십시오. 검증 기능을 활성화 상태로 유지하십시오.
  • 바인딩은 성공했지만 사용자를 찾을 수 없습니다. 정확한 사용자 기반 DN, 범위, 객체 클래스, 로그인 속성 및 필터를 테스트하십시오. 올바른 바인딩 DN을 사용했다고 해서 검색이 올바른 분기에서 이루어지고 있다는 의미는 아닙니다.
  • LDAP에서 비밀번호는 수락하지만 oCIS에서 계정을 확인할 수 없습니다. IDP 로그인 식별자와 사용자 서비스 사용자 이름 또는 고정 ID 매핑을 비교하십시오. 고정 식별자를 유지하고 사용자 이름에서 이메일로 함부로 변경하지 마십시오.
  • 로그인은 되지만 그룹 기반 액세스가 잘못되었습니다. 사용자 및 Graph 그룹의 기본 DN, 그룹 객체 클래스, 멤버 속성을 확인하고 Graph 백엔드가 의도한 대로 읽기 전용 또는 쓰기 가능으로 구성되어 있는지 확인하십시오.
  • MFA, 중앙 집중식 세션 또는 보다 포괄적인 ID 제어가 필요한 경우 LDAP 인증을 외부 OIDC 공급자로 이전하고 oCIS가 해당 발급자를 신뢰하도록 구성하십시오. 내장 IDP는 의도적으로 기능이 제한되어 있습니다. ownCloud는 대규모 설치의 경우 외부 공급자를 권장하며 내장 공급자가 외부 ID 서비스의 모든 기능을 제공하지 않는다는 점을 알려드립니다.

운영 환경 브라우저 로그인 바로가기 기능으로 활성화하지 마십시오 PROXY_ENABLE_BASIC_AUTH. 프록시 문서에는 기본 인증(Basic Auth)이 지원되는 요청 체계로 명시되어 있지만 개발 환경에서만 사용하고 운영 환경에서는 사용하지 말라고 되어 있습니다. 표준 oCIS 로그인에는 내장 OIDC 공급자의 제한 사항이 허용되는 경우에만 사용하거나 LDAP 기반의 외부 OIDC ID 공급자를 연결하십시오.

이 설정 외부에는 무엇이 있을까요?

LDAP 인증을 사용한다고 해서 oCIS에서 모든 LDAP 관리 기능을 자동으로 사용할 수 있는 것은 아닙니다. 사용자 및 그룹 프로비저닝, 그룹 동기화, 쓰기 권한, 비밀번호 변경, 계정 비활성화 규칙, 기존 사용자 매핑 등의 기능은 호환되는 서비스 설정과 LDAP 스키마가 필요합니다. 외부 OIDC 자동 프로비저닝의 경우, 선택한 워크플로를 통해 계정을 생성할 때 ownCloud는 안정적인 사용자 클레임과 쓰기 권한이 있는 Graph 백엔드가 필요합니다. 해당 기능을 활성화하기 전에 프록시 문서를 검토하십시오 .

한 번에 한 가지씩 변경하고, 소규모 계정 세트로 테스트한 후, 광범위하게 배포하기 전에 인증 및 ID 매핑을 모두 확인하십시오. oCIS 릴리스, LDAP 스키마 또는 ID 공급자가 예제의 가정과 다른 경우, 샘플을 변경하지 않고 재사용하는 대신 해당 릴리스의 구성 참조를 따르십시오.

댓글 남기기

ownCloud 서버에서 공개 링크 만료일을 제한하는 방법

ownCloud 서버에서 공개 링크 만료일을 제한하는 방법

ownCloud 서버 공개 링크의 최대 만료일을 설정하고, 해당 만료일이 영향을 미치는 공유 폴더를 파악하고, 오래된 링크를 간과하지 않고 정책을 검증하세요.

Zimbra GAL 자동 동기화 구성 방법 및 작동 여부 확인

Zimbra GAL 자동 동기화 구성 방법 및 작동 여부 확인

Zimbra GAL 자동 동기화를 구성하고, 폴링 간격을 설정하고, 테스트 동기화를 강제로 실행하고, 타임스탬프를 확인하고, 오래된 내부 또는 외부 LDAP 연락처 문제를 해결합니다.

ownCloud Infinite Scale에서 LDAP 인증을 구성하는 방법

ownCloud Infinite Scale에서 LDAP 인증을 구성하는 방법

ownCloud Infinite Scale에 대한 LDAP 기반 로그인을 구성하고, 사용자 및 그룹을 매핑하고, 내장 또는 외부 OIDC를 선택하고, 자격 증명을 보호하고, 안전하게 인증을 확인할 수 있습니다.

ownCloud 10 Classic에서 ownCloud Infinite Scale로 마이그레이션하는 방법

ownCloud 10 Classic에서 ownCloud Infinite Scale로 마이그레이션하는 방법

지원되는 migrate-to-ocis 앱을 사용하여 ownCloud Classic 10에서 Infinite Scale로의 마이그레이션을 계획하세요. 전송되는 데이터와 전송되지 않는 데이터, LDAP 필수 조건, 명령어 및 전환 점검 사항에 대해 알아보세요.

Zimbra에서 SpamAssassin 사용자 지정 규칙을 안전하게 설정하는 방법

Zimbra에서 SpamAssassin 사용자 지정 규칙을 안전하게 설정하는 방법

Zimbra에서 사용자 지정 SpamAssassin 규칙을 로드하는 위치, .cf 규칙을 작성하고 유효성을 검사하는 방법, Amavis를 재시작하는 방법, 메시지 헤더를 테스트하는 방법, 그리고 안전하게 롤백하는 방법을 알아보세요.

Zimbra CE에서 개별 사서함을 백업하고 복원하는 방법

Zimbra CE에서 개별 사서함을 백업하고 복원하는 방법

zmmailbox를 사용하여 개별 Zimbra CE 사서함을 백업하고 복원할 수 있습니다. 메타데이터가 포함된 ZIP 아카이브를 내보내고, 유효성을 검사하고, 스테이징 계정에서 안전하게 복구를 테스트할 수 있습니다.

ownCloud oCIS에서 사용자별 스토리지 할당량을 구성하는 방법

ownCloud oCIS에서 사용자별 스토리지 할당량을 구성하는 방법

ownCloud Infinite Scale 사용자의 개인 공간 할당량을 설정하는 방법, 이를 프로젝트 공간 및 전역 제한과 구분하는 방법, 그리고 역할별로 신규 사용자에게 기본값을 할당하는 방법을 알아보세요.

BigBlueButton FreeSWITCH SIP 등록 시간 초과 문제 해결: 실용적인 진단 가이드

BigBlueButton FreeSWITCH SIP 등록 시간 초과 문제 해결: 실용적인 진단 가이드

BigBlueButton FreeSWITCH SIP 등록 시간 초과 문제를 진단하려면 서비스 상태, SIP 및 ESL 리스너, NAT 주소, 방화벽 규칙 및 로그를 확인하십시오.

ownCloud 모바일 앱의 "연결 거부됨" 오류를 해결하는 방법

ownCloud 모바일 앱의 "연결 거부됨" 오류를 해결하는 방법

ownCloud 모바일 앱 연결 거부 오류를 해결하려면 서버 URL, HTTPS 포트, 웹 서버, 방화벽, 프록시, TLS 및 신뢰할 수 있는 도메인을 확인하세요.

자체 호스팅 Matrix 서버에서 사용자 등록을 제한하는 방법

자체 호스팅 Matrix 서버에서 사용자 등록을 제한하는 방법

Synapse에서 새로운 Matrix 계정을 제어하는 ​​다양한 방법을 비교해 보세요. 공개 등록 비활성화부터 사용 제한 토큰 발급까지, 구성 예시 및 확인 방법을 안내합니다.