2.09 - 为 Teradata 到 TargetConnector 配置外部服务器并授予权限 - Teradata QueryGrid

Teradata® QueryGrid™ 安装和用户指南

prodname
Teradata QueryGrid
vrm_release
2.09
created_date
2019 年 5 月
category
安装
用户指南
管理
配置
featnum
B035-5991-059K-CHS
在开始之前,如果要对身份验证机制设置为“Trusted”的 Teradata 到 Teradata 连接器执行以下过程,请验证目标 Teradata Database 系统上是否存在代理用户。代理用户将用于目标系统上的身份验证。请参阅当身份验证机制设置为“Trusted”时,设置 Teradata 到 Teradata 连接器的代理用户
在发起程序系统上完成以下步骤。这些步骤在初始部署后以及创建远程服务器或访问时适用,但在升级版本后不适用。
对于 Teradata 连接器,外部名称值对 (NVP) 在外部服务器定义中设置。
  • 必须设置外部 NVP,以便 QueryGrid 连接器可以与 Teradata QueryGrid 管理器相关联,从而获取配置 NVP。
  • 可以在 Teradata 上设置外部 NVP,以访问名称和角色映射等特定功能,但应谨慎使用外部 NVP,以免与 Teradata QueryGrid 管理器自带的值发生冲突。
  • 外部 NVP 被称为 LINK 和 VERSION。它们使用 SQL 命令 ALTER FOREIGN SERVER 或 CREATE FOREIGN SERVER 进行配置。有关详细信息,请参阅Teradata 连接器和链接属性

  1. 以管理员身份(例如 dbc)登录到发起 Teradata Database 系统,并创建目标服务器的授权对象:
    CREATE AUTHORIZATION td_server_db.target_server_auth AS DEFINER TRUSTED USER 'proxyuser' PASSWORD 'password';
    在 td_server_db 数据库中创建一个授权对象。使用 DEFINER 子句可使授权全局可用于所有用户。
  2. 将 td_server_db 数据库上的 CREATE SERVER 和 EXECUTE FUNCTION 权限授予管理员用户,例如:
    GRANT CREATE SERVER ON td_server_db TO dbc;
    GRANT EXECUTE FUNCTION ON TD_SYSFNLIB TO dbc;
  3. 创建外部服务器:
    CREATE FOREIGN SERVER target_server_name
    EXTERNAL SECURITY DEFINER TRUSTED target_server_auth
    USING
    LINK('linkname')
    VERSION ('version')
    DO IMPORT WITH TD_SYSFNLIB.QGInitiatorImport,
    DO EXPORT WITH TD_SYSFNLIB.QGInitiatorExport;

    例如,其中 sdll7100 是发起 Teradata Database 系统,sdll7151 是目标 Teradata Database 系统:

    CREATE FOREIGN SERVER sdll7151_fs
    EXTERNAL SECURITY DEFINER TRUSTED target_server_auth
    USING
    LINK('sdll7100_sdll7151')
    VERSION('active')
    DO IMPORT WITH TD_SYSFNLIB.QGInitiatorImport,
    DO EXPORT WITH TD_SYSFNLIB.QGInitiatorExport;
  4. 从数据库 td_server_db 中,向发起最终用户授予目标服务器的 SELECT 和 INSERT 权限。
    GRANT SELECT ON td_server_db.target_server_name to initiating_end_user;
    GRANT INSERT ON td_server_db.target_server_name to initiating_end_user;

    例如:

    GRANT SELECT ON td_server_db.sdll7151_fs to sdll7100_user2;
    GRANT INSERT ON td_server_db.sdll7151_fs to sdll7100_user2;