Babelfish용 Active Directory 보안 그룹을 사용하여 Kerberos 인증 설정 - Amazon Aurora

Babelfish용 Active Directory 보안 그룹을 사용하여 Kerberos 인증 설정

Babelfish 버전 4.2.0부터 Active Directory 보안 그룹을 사용하여 Babelfish에 대한 Kerberos 인증을 설정할 수 있습니다. Active Directory를 사용하여 Kerberos 인증을 설정하려면 완료해야 하는 사전 조건은 다음과 같습니다.

  • Babelfish를 사용하는 Kerberos 인증에 언급된 모든 단계를 따라야 합니다.

  • DB 인스턴스가 Active Directory와 연결되어 있는지 확인합니다. 콘솔에서 또는 describe-db-instances AWS CLI 명령을 실행하여 도메인 구성원 자격 상태를 보고 확인할 수 있습니다.

    DB 인스턴스의 상태가 kerberos를 지원해야 합니다. 도메인 구성원 자격 이해에 대한 자세한 내용은 도메인 멤버십 이해 섹션을 참조하세요.

  • 다음 쿼리를 사용하여 NetBIOS 도메인 이름과 DNS 도메인 이름 간의 매핑을 확인합니다.

    SELECT netbios_domain_name, fq_domain_name FROM babelfish_domain_mapping;
  • 계속 진행하기 전에 개별 로그인을 사용한 Kerberos 인증이 예상대로 작동하는지 확인합니다. Active Directory 사용자로서 Kerberos 인증을 사용한 연결이 성공해야 합니다. 문제가 발생하는 경우 자주 발생하는 오류 섹션을 참조하세요.

pg_ad_mapping 확장 설정

pg_ad_mapping 확장 설정에 언급된 모든 단계를 따라야 합니다. 확장 프로그램이 설치되었는지 확인하려면 TDS 엔드포인트에서 다음 쿼리를 실행합니다.

1> SELECT extname, extversion FROM pg_extension where extname like 'pg_ad_mapping'; 2> GO extname extversion ------------- ---------- pg_ad_mapping 0.1 (1 rows affected)

그룹 로그인 관리

로그인 관리에 설명된 단계에 따라 그룹 로그인을 생성합니다. 필수는 아니지만, 유지 관리가 용이하도록 로그인 이름을 Active Directory(AD) 보안 그룹 이름과 동일하게 사용하는 것이 좋습니다. 예:

CREATE LOGIN [corp\accounts-group] FROM WINDOWS [WITH DEFAULT_DATABASE=database]

감사 및 로깅

AD 보안 주체 ID를 확인하려면 아래 명령을 사용하세요.

1> select suser_name(); 2> GO suser_name ---------- corp\user1 (1 rows affected)

현재로서는 AD 사용자 ID가 로그에 표시되지 않습니다. log_connections 파라미터를 설정하여 DB 세션 설정을 로깅할 수 있습니다. 자세한 내용은 log_connections를 참조하세요. 다음 예제와 같이 출력에 AD 사용자 ID가 보안 주체로 포함됩니다. 이 출력과 관련된 백엔드 PID는 실제 AD 사용자에게 작업을 귀속시키는 데 도움이 됩니다.

bbf_group_ad_login@babelfish_db:[615]:LOG: connection authorized: user=bbf_group_ad_login database=babelfish_db application_name=sqlcmd GSS (authenticated=yes, encrypted=yes, principal=user1@CORP.EXAMPLE.COM)