인증 업무 공간에서 LDAP 프로토콜을 사용하여 Automation Config에 대한 디렉토리 서비스를 구성할 수 있습니다. 이 프로토콜은 Active Directory 또는 Microsoft Azure와 같은 서비스에 연결하는 데 사용됩니다.
VMware CSP(Cloud Services Platform)는 Active Directory 또는 Microsoft Azure와 같은 서비스에 연결해야 하는 모든 SaaS 제품 고객을 위해 LDAP 통합을 제공합니다. Automation Config 인스턴스를 LDAP 서버에 연결하는 방법에 대한 단계는 VMware Cloud Services와 엔터프라이즈 페더레이션 설정 가이드를 참조하십시오.
Automation Config는 다음 백엔드 프로세스를 사용하여 LDAP 기반 시스템을 인증합니다.
- 미리 보기 - 연결 설정을 미리 볼 때 Automation Config는 LDAP 서버에서 사용자 및 그룹의 샘플 목록을 검색하여 사용자가 올바른 구성 매개 변수를 입력했는지 확인할 수 있도록 합니다.
- 로그인 - 사용자가 Automation Config 로그인 양식에 자격 증명을 입력하면 백엔드 서버는 해당 시점에 데이터베이스에서 일치하는 항목을 확인합니다. 그런 다음 다단계 조회 프로세스를 시작하고 일치 항목을 찾으면 사용자를 인증합니다. 이 조회 프로세스의 경우, 사용자가 처음 로그인할 때까지 활성화된 그룹의 활성화된 개별 사용자는 역할 업무 공간에 나타나지 않습니다.
- 백그라운드 작업 - Automation Config는 백그라운드 작업을 주기적으로 실행하여 디렉토리 서비스 연결에서 각각의 연결된 그룹 및 사용자를 조회하여 여전히 존재하는지 확인합니다. 그룹 또는 사용자가 제거된 경우 백엔드 서버는 데이터베이스에서 해당 링크를 비활성화합니다.
- 아카이브된 그룹 및 사용자 - 디렉토리 서비스 연결에서 제거한 모든 그룹은 아카이브됩니다. 이러한 그룹은 비활성 상태이고 사용자가 로그인할 수 없지만 역할 업무 공간에 계속 표시되고 선택할 수 있습니다. 역할 업무 공간에 이전에 표시되었지만 현재 제거된 사용자도 마찬가지입니다.
- 중첩된 그룹 - 중첩된 그룹으로 작업할 때 상위 그룹을 사용하도록 설정하면 기본적으로 모든 하위 그룹도 사용하도록 설정됩니다.
LDAP 연결 구성
LDAP를 구성하려면 먼저 연결을 생성한 다음 특정 LDAP 사용자 및 그룹을 사용하도록 설정하여 Automation Config에서 인증합니다. 그룹 또는 사용자를 활성화한 후에는 RBAC(역할 기반 액세스 제어) 설정을 정의할 수 있습니다.
Active Directory 또는 OpenLDAP와 같은 디렉토리 서비스에 맞게 사용자 지정된 기본 설정으로 필드를 미리 채우도록 선택할 수 있습니다.
LDAP 디렉토리 서비스를 설정하려면:
- (선택 사항) LDAP를 구성하기 전에 타사 도구를 사용하여 연결 및 쿼리를 테스트하는 것이 유용할 수 있습니다. AD 사용자의 경우 LDP 또는 ADSI 편집을 사용할 수 있습니다. Linux 사용자의 경우 권장되는 도구는
ldapsearch
입니다.참고: 이러한 도구를 사용하여 테스트하는 방법에 대한 자세한 내용은 지원 센터에서 디렉토리 서비스 연결을 확인하고 문제를 해결하는 방법을 참조하십시오. - 사이드 메뉴에서 관리 > 인증을 클릭합니다.
- 생성을 클릭합니다.
- 구성 유형 메뉴에서 LDAP를 선택합니다.
- (선택 사항) 설정 아래에서 기본값 미리 채우기를 클릭하고 드롭다운에서 디렉토리 서비스를 선택합니다.
선택 항목에 따라 기본 항목이 채워집니다. 다만, 사용자 검색 DN과 같은 일부 항목은 불완전합니다. 항목이 디렉토리 서비스 스키마와 일치하는지 확인하고 자리 표시자 텍스트를 서비스에 대한 올바른 값으로 바꿔야 합니다.
- LDAP 연결에 대한 정보를 입력하거나 확인합니다.
일반
필드 설명 이름 LDAP 연결의 이름입니다. 이것은 표시 이름일 뿐이며 인증 백엔드를 다른 항목과 구별하는 데 도움이 되는 이름을 입력하면 유용합니다. 호스트 FQDN 또는 IP 주소 형식의 LDAP 호스트 서버 주소입니다. 포트 LDAP 서버가 구성된 포트입니다. 기본값은 암호화되지 않은 LDAP의 경우 389
이고 LDAP over SSL의 경우636
입니다.백그라운드 동기화 Automation Config는 정의된 간격(분 단위)으로 인증 백엔드에 대해 모든 사용자 및 그룹을 검증합니다. SSL - SSL 사용
-
SSL(Secure Sockets Layer)을 통해 LDAP 서버에 연결하려면 선택합니다. 이 옵션을 사용하도록 설정하는 것이 가장 좋습니다. 선택하지 않은 상태로 두면
Automation Config가 안전하지 않은 연결을 통해 일반 텍스트로 정보를 전송하게 됩니다. 기본적으로 LDAP 서버의 인증서는 시스템 인증서 저장소를 사용하여 검증됩니다. 자체 서명된 인증서 또는 LDAP 서버의 사설 CA(인증 기관) 인증서를 사용하는 경우에는 인증을 허용하도록
/etc/raas/raas
구성을 업데이트해야 합니다. 자세한 내용은 자체 서명 또는 사설 CA(인증 기관) 구성 항목을 참조하십시오.
- 인증서의 유효성 검사
- 연결 시 SSL 인증서의 유효성을 검사하려면 선택합니다. 유효성 검사를 건너뛰려면(예를 들어 자체 서명된 인증서를 사용하는 경우) 선택하지 않은 상태로 둡니다(운영 환경에는 권장되지 않음).
인증
필드 설명 인증 기본 DN 기본 LDAP 고유 이름입니다. 그룹 및 사용자가 쿼리되는 위치입니다(예:
DC=sse,DC=example,DC=com
).참고: LDAP 세부 정보 페이지에는 아래 설명된 Person 개체 클래스, 계정 특성 이름, 그룹 클래스, 그룹 특성 이름, 동기화 스케줄링에 대한 별도의 입력 필드가 포함되어 있습니다. 따라서 기본 DN 필드에 이러한 개체를 포함하지 마십시오.관리자 Bind DN LDAP 서버에 대해 구성된 관리자 DN 입니다. Automation Config는 사용자 및 그룹 조회를 위해 이것을 사용하여 디렉토리에 인증합니다. 다음 구문을 기반으로 입력합니다. cn=Administrator,cn=Users,dc=example,dc=com
.관리자 Bind DN 암호 관리자의 개별 암호입니다.
데이터베이스에 암호화를 사용하여 저장됩니다. 일반 텍스트로 저장되지 않습니다.
인증 Bind DN 필터 특정 사용자를 선택하기 위해 적용된 필터입니다. 이 검색의 결과는 Automation Config가 디렉토리에 바인딩하고 사용자에게 Automation Config에 대한 액세스 권한을 부여하는 데 사용하는 사용자 DN입니다. 주어진 검색에서 반환되는 결과의 수를 제한하는 데 유용합니다.
참고: 필터 구문이 매우 복잡해질 수 있으므로 이 필드를 채우기 전에 LDP,ldapsearch
또는 유사한 도구를 사용하여 항목을 테스트하고 항목의 유효성을 검사하여 조정하는 것이 가장 좋은 방법입니다.다음 샘플 필터는 DevOps 또는 Level II 그룹에 속하는 제공된 사용자 이름과 일치하는 계정만 반환합니다.
(&(objectclass=user)(sAMAccountName={username})(|(memberOf=CN=DevOps,OU=Groups,OU=TestCompanyHQ,DC=adtest,DC=com)(memberOf=LevelII,OU=Groups,DC=adtest,DC=com)))
미리 채워진 기본값을 사용하는 경우 자리 표시자 텍스트를 디렉토리 서비스에 맞는 올바른 값으로 바꾸십시오.
참고: 포리스트 구조를 구성할 때는 이 필드를 비워둡니다.원격 고유 ID 특성 이름 고유 항목을 식별하는 데 사용되는 값의 이름입니다. 모든 항목에 대한 고유 ID 특성입니다. AD에서 이것은 ObjectGUID
입니다.그룹
사용자
필드 설명 사용자 검색 DN 사용자의 검색 기반입니다. 예를 들어 AD의 경우 cn=Users,dc=example,dc=com
, 다른 디렉토리 서비스의 경우cn=people,cn=accounts,dc=example,dc=com
입니다. 디렉토리에서 사용자를 검색할 위치를 나타냅니다. 아래의 사용자 검색 범위와 함께 사용합니다.사용자 검색 범위 사용자 검색 DN에 표시된 기본에서 디렉토리 검색 깊이를 나타내며 다음 4가지 값 중 하나를 사용할 수 있습니다. 그룹 검색 범위에 설명된 4가지 값을 참조하십시오. 사용자 검색 DN 필터 디렉토리에서 사용자를 추출하기 위한 검색 필터입니다. 일반적으로 (objectClass=person)
이지만 일부 AD 구성에서는(objectCategory=user)
일 수 있습니다.Person 클래스 로그인이 가능하도록 설정하려는 사용자가 포함된 디렉토리 서비스 클래스 이름입니다. 대부분의 시스템(Active Directory 포함)은 person
을 사용하지만 일부는user
또는inetOrgPerson
을 선호할 수 있습니다.사용자 ID 특성 사용자 계정 특성의 고유한 이름입니다. AD의 경우 sAMAccountName
입니다. 다른 서비스의 경우uid
또는memberUid
인 경우가 많습니다.사용자 멤버 자격 특성 사용자 이름이 포함된 그룹 항목의 특성 이름입니다. 가능한 예에는 member
또는uniquemember
가 있습니다. - 설정을 저장하지 않고 미리 보려면 미리 보기 업데이트를 클릭합니다.
연결을 위해 선택한 사용자 및 그룹이 미리 보기 창에 표시됩니다. 필요에 따라 그룹 또는 사용자 탭을 선택하면 서비스에 연결된 사용자 및 그룹을 미리 볼 수 있습니다.
- 저장을 클릭합니다.
LDAP 구성이 저장되었습니다. 구성이 올바른지 확인하려면 테스트 사용자 계정에서 Automation Config에 로그인을 시도합니다. 로그인에 성공하지 못하면 문제 해결에서 팁을 참조하십시오.
참고: LDAP 구성의 경우 Automation Config는 식별된 그룹 및 사용자를 포함한 연결 설정을 저장합니다. 정의한 범위 내의 그룹 및 사용자만 검색하고 전체 디렉토리를 동기화하지는 않습니다.시간이 지나면 LDAP 디렉토리를 새로 고치거나 다시 동기화해야 할 수도 있습니다. 예를 들어 새 사용자를 추가하고 Automation Config에서 사용하도록 설정하려면 디렉토리를 업데이트해야 합니다.
그룹 및 사용자를 사용하도록 설정
LDAP 연결을 설정한 후에는 디렉토리 서비스 그룹을 구성하고 사용자가 Automation Config에 로그인할 수 있는지 확인해야 합니다. 디렉토리 서비스 그룹을 구성하려면:
- 인증 업무 공간에서 필요한 LDAP 구성을 선택합니다.
- 그룹탭을 선택하여 LDAP 구성에서 검색된 그룹을 표시합니다.
참고: 많은 수의 그룹을 검색하는 경우에는 페이지를 로드하는 데 최대 1분이 걸릴 수 있습니다.
- Automation Config에서 사용하도록 설정하려는 그룹을 선택합니다.
- 사용자 탭을 선택하여 LDAP 구성에서 검색된 사용자 목록을 표시합니다.
참고: 많은 수의 사용자를 검색하는 경우에는 페이지를 로드하는 데 최대 1분이 걸릴 수 있습니다.
- Automation Config에서 사용하도록 설정하려는 사용자를 선택합니다..
참고: 사용하도록 설정된 그룹에 포함된 사용자는 이미 선택되어 있으며 선택 취소할 수 없습니다.
- 저장을 클릭합니다.
이제 선택한 그룹에 대해 RBAC(역할 기반 액세스 제어) 설정을 정의할 수 있습니다. 단, 역할 업무 공간에서는 사용자가 처음 로그인한 후에만 선택한 그룹에 포함된 개별 사용자에 대한 설정을 관리할 수 있습니다. 그룹 또는 사용자를 삭제하려면 그룹 또는 사용자를 선택 취소한 다음 저장을 클릭합니다.
Automation Config의 RBAC에 대한 자세한 내용은 사용자 역할을 정의하는 방법을 참조하십시오.
LDAP 연결 문제 해결
문제 | 설명 | 해결 방법 |
---|---|---|
내 연결을 미리 볼 수 없는 경우 | 그룹 및 사용자를 미리 볼 수 없는 경우 대부분은 LDAP 서버와 Automation Config 간의 연결 문제 때문이거나 LDAP 구성 양식의 잘못된 항목 때문입니다. |
|
내 연결을 미리 보려고 할 때 페이지에서 로드가 멈춰짐 | 페이지 로딩이 2분 넘게 멈춰있으면 RaaS 서비스를 다시 시작한 후 구성을 삭제하고 다시 생성합니다. |
|
기타 문제 | LDAP 연결을 이미 구성하고 저장했지만 사용자가 로그인할 수 없거나 다른 문제가 발생하는 경우에는 확장 디버깅을 사용하도록 설정하고 |
확장된 디버깅을 사용하도록 설정하려면:
|
로그에서 볼 수 있는 일반적인 오류는 다음과 같습니다.
- 연결 설정이 잘못되었습니다(SSL). SSL 설정을 조정하십시오.
[raas.utils.validation.schemas.settings][DEBUG :546 ][Webserver:9096] Error while connecting to AD/LDAP Server. SSL connection issues: socket ssl wrapping error: [Errno 104] Connection reset by peer
- 관리자 Bind DN의 암호가 잘못되었습니다. 암호를 확인하고 다시 입력하십시오.
[raas.utils.rpc ][DEBUG :284 ][Webserver:9095] Processed RPC request(129360670417695). Response: {'riq': 129360670417695, 'ret': None, 'error': {'code': 3004, 'message': 'Request validation failure.', 'detail': {'_schema': ['Credentials are not valid']}}, 'warnings': []}
- 미리 채워진 기본 인증 Bind DN 필터가 충돌을 일으키고 있습니다. 필드를 비워두거나
{{username}}
대신{username}
을 사용하십시오.참고:LDAP 연결을 이미 저장했지만 사용자가 로그인할 수 없는 경우 이 오류가 발생할 수 있습니다.
[var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG :903 ][Webserver:9096] Running _get_auth_backend_user with this search_filter: (&(objectclass=person)(sAMAccountName={username})) [var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG :931 ][Webserver:9096] Could not find any user using '(&(objectclass=person)(sAMAccountName={username}))' as the search filter in the ldap backend under the ad-1 configuration. Trying remote_uid 'None' [var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG :963 ][Webserver:9096] Could not find any user using '(&(objectClass=person)(objectGUID=None))' as the search filter in the ldap backend under the ad-1 configuration.
자체 서명 또는 사설 CA(인증 기관) 구성
Automation Config는 AD(Active Directory) 및 LDAP를 인증 소스로 지원합니다. 보안 모범 사례로, Automation Config와 AD/LDAP 간의 통신은 TLS 암호화 채널을 통해 이루어져야 합니다. 신뢰할 수 있는 타사 인증서를 사용하여 AD/LDAP 서버에 연결하는 것은 기본적으로 지원되지만 사용 중인 개인 또는 자체 서명된 CA가 있는 경우 Automation Config를 올바른 CA 신뢰 체인으로 직접 연결해야 합니다.
이 절차를 수행하려면 CA(인증 기관)의 PEM으로 인코딩된 인증서가 필요합니다. 조직에서 중간 서명 기관을 사용하는 경우 둘 이상이 있을 수 있습니다. PEM으로 인코딩된 인증서는 다음과 같습니다.
-----BEGIN CERTIFICATE----- MIIGWzCCBUOgAwIBAgITfQAAAAJtLSuD8EkA/gAAAAAAAjANBgkqhkiG9w0BAQsF [...bulk of certificate removed in this example...yours will have different content between the BEGIN and END lines...] KqUEt+CIdecfc36aMgxWE8NdDf4/lj6FcuxdXHL+0ea5AySDxLbwWU6AsrRGJ3E= -----END CERTIFICATE-----
절차
- 체인의 모든 인증서를 하나의 .pem 파일에 입력합니다.
- 해당 파일을
/etc/raas/raas-ca-certificates.pem
에 복사합니다. - 다음 명령을 실행하여
raas
사용자가 파일을 읽을 수 있도록 합니다.chown raas:raas /etc/raas/raas-ca-certificates.pem chmod 600 /etc/raas/raas-ca-certificates.pem
/etc/raas/raas
의 AD/LDAP 드라이버 구성 섹션을 편집하여authers:
아래에 다음 컨텐츠를 추가합니다.authers
섹션이 이미 있는 경우authers:
인스턴스는 두 개 이상 있을 수 없으므로 추가 LDAP 구성을 유지하려면 이 옵션과 병합해야 할 수도 있습니다. 명확하게 하기 위해 설명이 포함됩니다.# AD/LDAP driver configuration # Allowed LDAP log levels for "log_detail" below # - OFF # nothing is logged # - ERROR # only exceptions are logged # - BASIC # library activity is logged, only operation result is shown # - PROTOCOL # LDAPv3 operations are logged, sent requests and received responses are shown # - NETWORK # socket activity is logged # - EXTENDED # ldap messages are decoded and properly printed authers: ldap: log_detail: EXTENDED ssl: ciphers: TLSv1.2 ca_cert: /etc/raas/raas-ca-certificates.pem
참고: 인증에 성공한 후log_detail: EXTENDED
가/var/log/raas/raas
에 너무 많은 컨텐츠를 생성하는 경우 이 값을ERROR
또는BASIC
으로 변경할 수 있습니다.systemctl restart raas
를 사용하여 Automation Config 서버를 다시 시작합니다.systemctl status raas
를 사용하여 서버가 백업되고 실행 중인지 확인합니다.- Automation Config GUI에서 으로 이동하고 원하는 LDAP 구성을 선택합니다. 호스트 필드의 FQDN이 AD/LDAP 서버에서 제공한 인증서의 일반 이름 또는 주체 대체 이름 필드에 보고된 FQDN인지 확인합니다. 이 항목이 일치하지 않으면 Automation Config는 CA 신뢰 체인에 대해 인증서의 유효성을 검사할 수 없습니다.
- 포트 필드의 값을 확인합니다. TLS 지원 LDAP의 공식 포트는 636이지만 Active Directory에 연결 중이고 글로벌 카탈로그에서 사용자 및 그룹을 조회해야 하는 경우 TLS 지원 포트는 3269입니다.
- SSL 사용 및 인증서의 유효성 검사 확인란을 모두 선택한 다음 양식의 맨 아래로 스크롤한 후 저장을 클릭합니다.
- 이제 양식 하단에 있는 미리 보기 업데이트 버튼을 사용하여 연결을 테스트할 수 있습니다. 그룹 및 사용자가 미리 보기 상자에 나타나면 TLS가 올바르게 설정되었고 인증서가 검증되고 있는 것입니다.
문제 해결
이러한 단계를 수행하고 미리 보기 업데이트를 클릭한 후 결과가 없는 로딩 기호가 나타나면 그룹 및 사용자가 표시될 때까지 다음 문제 해결 단계를 진행합니다.
/var/log/raas/raas
에서 로그를 확인합니다. LDAP/AD 서버에 연결할 수 없거나 인증서 유효성 검사 문제가 있는 경우 로그에 나타나야 합니다.systemctl stop raas
를 사용하여 Automation Config 서버를 중지하고/var/log/raas/raas
를 자른 다음tail -f
또는 유사한 명령을 사용하여 LDAP 미리 보기 기능을 테스트하는 동안 로그를 따르는 것이 유용할 수 있습니다.- CA 신뢰 체인이 올바르지 않을 수 있습니다.
openssl
명령줄 유틸리티를 사용하여 AD/LDAP 서버에서 인증서 세부 정보를 검색할 수 있습니다.openssl s_client -connect <fqdn.of.ldap.or.ad.server>:636 -showcerts
신뢰 체인은 이 명령의 결과에 있으며 다음과 같이 보입니다(여기서<...>
로 구분된 섹션이 실제 데이터로 대체됨).--- Certificate chain 0 s:CN = <fqdn.of.ldap.or.ad.server.example.com> i:<DC = com, DC = fqdn, DC = subdomain, CN = common-name-of-CA-certificate> -----BEGIN CERTIFICATE----- MIIGWzCCBUOgAwIBAgITfQAAAAJtLSuD8EkA/gAAAAAAAjANBgkqhkiG9w0BAQsF [... rest of server certificate is below ...]
openssl
명령을 사용하여 CA 신뢰 체인 인증서에 대한 정보를 검색하여 CA 인증서가 LDAP 서버 인증서의 체인과 일치하는지 확인합니다. 체인에 인증서가 두 개 이상 있는 경우 인증서를 별도의 파일로 나누고 각 인증서에 대해 다음 명령을 실행해야 할 수 있습니다.# openssl x509 -noout -text -in /etc/raas/raas-ca-certificates.pem Certificate: Data: Version: 3 (0x2) Serial Number: 2f:51:9b:4a:90:23:50:8a:40:58:41:c4:a6:67:08:d7 Signature Algorithm: sha256WithRSAEncryption Issuer: <DC = com, DC = fqdn, DC = subdomain, CN = common-name-of-CA-certificate> Validity Not Before: Sep 29 19:48:39 2023 GMT Not After : Sep 29 19:58:39 2028 GMT Subject: <DC = com, DC = fqdn, DC = subdomain, CN = common-name-of-CA-certificate> [...]
위의 주체 및/또는 발급자가 LDAP 서버 인증서의 인증서 체인에 있는 고유 이름과 일치하지 않으면 올바른 체인이 없을 가능성이 높습니다.