T-SQL グループログインと AD セキュリティグループのマッピング
データベースサーバーへのアクセスを必要とする AD セキュリティグループごとに、T-SQL Windows グループログインを明示的にプロビジョニングする必要があります。少なくとも 1 つのプロビジョニングされた 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)