IBM Cloud Docs
设置 Azure AD 认证

设置 Azure AD 认证

使用 REGISTER EXTERNAL AUTHENTICATION SYSTEM SQL 语句 将认证方法设置为 AzureAD

外部认证系统不支持双因子认证。

语法

REGISTER EXTERNAL AUTHENTICATION SYSTEM 'AzureAD' with clientid 'AZURE CLIENT ID' tenantid 'AZURE TENANT ID'

使用 Web 控制台设置 Azure AD 认证

  1. 登录到 Web 控制台 作为 admin

  2. 转至 查询编辑器

  3. 注册 Azure AD 外部认证系统。 指定 clientidtenantid 参数。

    REGISTER EXTERNAL AUTHENTICATION SYSTEM 'AzureAD' with clientid 'AZURE CLIENT ID' tenantid 'AZURE TENANT ID';
    SET VARIABLE
    
  4. 创建用户 中创建外部认证方法设置为 AzureAD 的用户。

  5. 验证是否已成功创建用户。

    1. 转到用户和用户组 > 用户
    2. 找到用户。
    3. 检查用户的 认证类型 部分。

使用命令行设置 Azure AD 认证

  1. 连接到 NPSaaS 作为 admin

    在此示例中,将使用 "nzsql" 命令。 您还可以使用 ODBC 或 JDBC 驱动程序

    nzsql -host <nps_host_ip> -u admin -pw XXXXX
    
    示例
    Input 描述
    nps_host_ip

    指定实例的 IP 地址。
    要检索 NPS HOST IP:
    1。 登录您的IBM Cloud帐户。

    1. 转至 专用端点> 服务实例详细信息
      1。 选择实例。
      现在,您的实例 IP 地址将显示在页面上。
    用户 指定用户名。
    密码 指定用户的密码。

    示例:

    nzsql -host X.XX.XXX.XXX -u admin -pw password
    Welcome to nzsql, the IBM Netezza SQL interactive terminal.
    Type:  \h for help with SQL commands
           \? for help on internal slash commands
           \g or terminate with semicolon to execute query
           \q to quit
    
    SYSTEM.ADMIN(ADMIN)=>
    
  2. 注册 AzureAD 外部认证系统。 指定 clientidtenantid 参数。

    REGISTER EXTERNAL AUTHENTICATION SYSTEM 'AzureAD' with clientid 'AZURE CLIENT ID' tenantid 'AZURE TENANT ID';
    SET VARIABLE
    
  3. 创建一个或多个外部认证方法设置为 AzureAD 的用户。

    CREATE USER "USER" with auth external 'AzureAD';
    
  4. 验证是否已成功创建用户。

    \q
    
    nzsql -u '"USER"' -pw PASSWORD
    

    示例:

    \q
    
    nzsql -u '"xyz@example.example.com"' -pw XXXXXXXXXXXXXX
    Welcome to nzsql, the IBM Netezza SQL interactive terminal.
    
    Type: \h for help with SQL commands
    ? for help on internal slash commands
    \g or terminate with semicolon to execute query
    \q to quit
    
    SSL enabled connection. Cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, protocol: TLSv1.2
    
    SYSTEM.ADMIN(xyz@example.example.com)=>