Amazon Redshift
集群管理指南 (API 版本 2012-12-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

步骤 5:配置 JDBC 或 ODBC 连接以使用 IAM 凭证

您可以使用 Amazon Redshift JDBC 或 ODBC 驱动程序配置您的 SQL 客户端,这些配置程序管理创建数据库用户凭证并在您的 SQL 客户端与您的 Amazon Redshift 数据库之间建立连接的过程。

配置 JDBC 连接以使用 IAM 凭证

  1. 配置 JDBC 连接页面下载最新的 Amazon Redshift JDBC 驱动程序。

    重要

    Amazon Redshift JDBC 驱动程序必须为版本 1.2.7.1003 或更高版本。

  2. 使用下列格式之一创建包含 IAM 凭证选项的 JDBC URL。要使用 IAM 身份验证,请将 iam: 添加到 Amazon Redshift JDBC URL 中的 jdbc:redshift: 之后,如以下示例中所示。

    jdbc:redshift:iam://

    cluster-nameregiondbname 分别替换为您的集群、区域和数据库名称的值。JDBC 驱动程序使用您的 IAM 账户信息和集群名称来检索集群 ID、区域和端口号。为此,您的 IAM 用户或角色必须有权针对指定集群调用 redshift:DescribeClusters 操作。

    jdbc:redshift:iam://cluster-name:region/dbname

    如果您的 IAM 用户或角色无权调用 redshift:DescribeClusters 操作,请包含集群 ID、区域和端口,如以下示例中所示。端口号是可选的。默认端口为 5439。

    jdbc:redshift:iam://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev
  3. 添加 JDBC 选项可提供 IAM 凭证。使用不同的 JDBC 选项组合可提供 IAM 凭证。有关详细信息,请参阅 用于创建数据库用户凭证的 JDBC 和 ODBC 选项

    以下 URL 为 IAM 用户指定 AccessKeyID 和 SecretAccessKey。

    jdbc:redshift:iam://examplecluster:us-west-2/dev?AccessKeyID=AKIAIOSFODNN7EXAMPLE&SecretAccessKey=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

    以下示例指定包含 IAM 凭证的命名配置文件。

    jdbc:redshift:iam://examplecluster:us-west-2/dev?Profile=user2
  4. 添加 JDBC 驱动程序用来调用 GetClusterCredentials API 操作的 JDBC 选项。如果您以编程方式调用 GetClusterCredentials API 操作,请不要包括这些选项。有关更多信息,请参阅配置 JDBC 或 ODBC 连接以使用 IAM 凭证。

    以下示例包含 JDBC GetClusterCredentials 选项。

    jdbc:redshift:iam://examplecluster:us-west-2/dev?Profile=user2&DbUser=newuser&AutoCreate=true&DbGroups=group1,group2

配置 ODBC 连接以使用 IAM 凭证

在此主题中,您只能找到用于配置 IAM 身份验证的步骤。有关使用标准身份验证 (采用数据库用户名和密码) 的步骤,请参阅配置 ODBC 连接

  1. 1.为您的操作系统安装和配置最新的 Amazon Redshift OBDC 驱动程序。有关更多信息,请参阅配置 ODBC 连接页面。

    重要

    Amazon Redshift ODBC 驱动程序必须为版本 1.3.6.1000 或更高版本。

  2. 根据您的操作系统选择配置连接设置需要遵循的步骤。

    有关更多信息,请参阅下列主题之一:

  3. 在 Microsoft Windows 操作系统上,访问“Amazon Redshift ODBC Driver DSN Setup”窗口。

    1. Connection Settings 下,键入以下信息:

      • Data Source Name

      • Server (可选)

      • Port (可选)

      • 数据库

      如果您的 IAM 用户或角色有权调用 redshift:DescribeClusters 操作,则仅需要 Data Source Name (数据源名称)Database (数据库)。Amazon Redshift 使用 ClusterId and Region (区域) 通过调用 DescribeCluster 操作来获取服务器和端口。

      如果您的 IAM 用户或角色无权调用 redshift:DescribeClusters 操作,请指定 ServerPort。默认端口为 5439。

    2. Authentication 下,选择 Auth Type

      对于每种身份验证类型,将显示特定字段,如下所示。

      AWS Profile

      输入以下信息:

      • ClusterID

      • 区域

      (可选) 提供 ODBC 驱动程序用来调用 GetClusterCredentials API 操作的选项的详细信息。

      • DbUser

      • User AutoCreate

      • DbGroups

      有关更多信息,请参阅用于创建数据库用户凭证的 JDBC 和 ODBC 选项

      • Profile name

        键入 AWS config 文件中包含 ODBC 连接选项值的配置文件的名称。有关更多信息,请参阅使用配置文件

      AWS IAM Credentials

      输入以下信息:

      • ClusterID

      • 区域

      提供 ODBC 驱动程序用来调用 GetClusterCredentials API 操作的选项的详细信息。

      • DbUser (必填)

      • User AutoCreate (可选)

      • DbGroups (可选)

      有关更多信息,请参阅用于创建数据库用户凭证的 JDBC 和 ODBC 选项

      • AccessKeyIDSecretAccessKey

        为 IAM 数据库身份验证配置的 IAM 角色或 IAM 用户的访问密钥 ID 和秘密访问密钥。

      • SessionToken

        对于具有临时凭证的 IAM 角色,SessionToken 是必填的。有关更多信息,请参阅临时安全凭证

      Identity Provider: AD FS

      对于使用 AD FS 的 Windows 集成身份验证,请将 UserPassword 保留为空。

      (可选) 提供 ODBC 驱动程序用来调用 GetClusterCredentials API 操作的选项的详细信息。

      • DbUser

      • User AutoCreate

      • DbGroups

      有关更多信息,请参阅用于创建数据库用户凭证的 JDBC 和 ODBC 选项

      提供 IdP 详细信息。

      • IdP Host

        企业身份提供商主机的名称。此名称不应包含任何斜线 (/)。

      • IdP Port (可选)

        身份提供商使用的端口。默认值为 443。

      • Preferred Role

        SAML 断言中 Role 属性的 AttributeValue 元素中,角色的 Amazon 资源名称 (ARN)。与您的 IdP 管理员一起找到适合首选角色的值。有关更多信息,请参阅为您的 IdP 配置 SAML 断言

      Identity Provider: PingFederate

      对于 UserPassword,键入您的 IdP 用户名和密码。

      (可选) 提供 ODBC 驱动程序用来调用 GetClusterCredentials API 操作的选项的详细信息。

      • DbUser

      • User AutoCreate

      • DbGroups

      有关更多信息,请参阅用于创建数据库用户凭证的 JDBC 和 ODBC 选项

      提供 IdP 详细信息。

      • IdP Host

        企业身份提供商主机的名称。此名称不应包含任何斜线 (/)。

      • IdP Port (可选)

        身份提供商使用的端口。默认值为 443。

      • Preferred Role

        SAML 断言中 Role 属性的 AttributeValue 元素中,角色的 Amazon 资源名称 (ARN)。与您的 IdP 管理员一起找到适合首选角色的值。有关更多信息,请参阅为您的 IdP 配置 SAML 断言

      Identity Provider: Okta

      对于 UserPassword,键入您的 IdP 用户名和密码。

      (可选) 提供 ODBC 驱动程序用来调用 GetClusterCredentials API 操作的选项的详细信息。

      • DbUser

      • User AutoCreate

      • DbGroups

      有关更多信息,请参阅用于创建数据库用户凭证的 JDBC 和 ODBC 选项

      提供 IdP 详细信息。

      • IdP Host

        企业身份提供商主机的名称。此名称不应包含任何斜线 (/)。

      • IdP Port

        Okta 不使用 IdP 端口。

      • Preferred Role

        SAML 断言中 Role 属性的 AttributeValue 元素中,角色的 Amazon 资源名称 (ARN)。与您的 IdP 管理员一起找到适合首选角色的值。有关更多信息,请参阅为您的 IdP 配置 SAML 断言

      • Okta App ID

        Okta 应用程序的 ID。应用程序 ID 的值位于 Okta 应用程序嵌入链接中的“amazon_aws”之后。与您的 IdP 管理员一起获取此值。以下是应用程序嵌入链接的示例。

        https://example.okta.com/home/amazon_aws/0oa2hylwrpM8UGehd1t7/272