T-SQL 그룹 로그인과 AD 보안 그룹 매핑
데이터베이스 서버에 대한 액세스가 필요한 각 AD 보안 그룹에 대해 T-SQL Windows 그룹 로그인을 명시적으로 프로비저닝해야 합니다. 하나 이상의 프로비저닝된 AD 보안 그룹에 속하는 AD 사용자는 데이터베이스 서버에 액세스할 수 있습니다.
참고
이 T-SQL 로그인은 더 이상 암호 기반 인증을 사용하여 인증할 수 없습니다.
예를 들어, accounts-group은 AD의 보안 그룹이며 Babelfish에서 이 보안 그룹을 프로비저닝하려는 경우 [corp\accounts-group] 형식을 사용해야 합니다.
-
AD 보안 그룹: accounts-group
-
TSQL 로그인: [corp\accounts-group]
-
지정된 TSQL 로그인에 해당하는 PG 역할: accounts-group@CORP.EXAMPLE.COM
이제 관리자는 다음 psql 명령을 통해 PostgreSQL 엔드포인트에서 AD 보안 그룹과 T-SQL 로그인 간의 매핑을 생성할 수 있습니다. 함수 사용에 대한 자세한 내용은 pg_ad_mapping 확장의 함수 사용 섹션을 참조하세요.
참고
매핑을 추가할 때 T-SQL 로그인을 login_name@FQDN 형식으로 지정해야 합니다. TDS 엔드포인트를 통해 연결할 때는 가중치가 무시됩니다. 가중치 사용에 대한 자세한 내용은 PostgreSQL 포트의 PostgreSQL 엔드포인트를 통해 Babelfish에 연결 섹션을 참조하세요.
postgres=>select pgadmap_set_mapping('accounts-group', 'accounts-group@CORP.EXAMPLE.COM', <SID>, <Weight>);
AD 보안 그룹의 SID 검색에 대한 자세한 내용은 PowerShell에서 Active Directory 그룹 SID 검색 섹션을 참조하세요.
다음 표에는 AD 보안 그룹에서 T-SQL 로그인으로의 샘플 매핑이 나와 있습니다.
| AD 보안 그룹 | TSQL 로그인 | 지정된 TSQL 로그인에 해당하는 PG 역할 | 가중치 |
|---|---|---|---|
accounts-group |
[corp\accounts-group] |
accounts-group@CORP.EXAMPLE.COM |
7 |
sales-group |
[corp\sales-group] |
sales-group@CORP.EXAMPLE.COM |
10 |
dev-group |
[corp\dev-group] |
dev-group@CORP.EXAMPLE.COM |
7 |
postgres=> select admap.ad_sid, admap.ad_grp, lgn.orig_loginname, lgn.rolname, admap.weight from pgadmap_read_mapping() as admap, sys.babelfish_authid_login_ext as lgn where admap.pg_role = lgn.rolname; ad_sid | ad_grp | orig_loginname | rolname | weight --------------+----------------+---------------------+---------------------------------+-------- S-1-5-67-890 | accounts-group | corp\accounts-group | accounts-group@CORP.EXAMPLE.COM | 7 S-1-2-34-560 | sales-group | corp\sales-group | sales-group@CORP.EXAMPLE.COM | 10 S-1-8-43-612 | dev-group | corp\dev-group | dev-group@CORP.EXAMPLE.COM | 7 (7 rows)