第 5 步:配置 JDBC 或 ODBC 连接以使用 IAM 凭证 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

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

如果您使用身份提供商进行身份验证,请指定凭证提供商插件名称。Amazon Redshift JDBC 和 ODBC 驱动程序包括以下基于 SAML 的身份提供商的插件:

配置 JDBC 连接以使用 IAM 凭证

  1. 从下载最新的 Amazon Redshift JDBC 驱动程序配置 JDBC 驱动程序版本 1.0 的连接页.

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

    jdbc:redshift:iam://

    Addcluster-nameregion, 和account-id。JDBC 驱动程序使用您的 IAM 账户信息和集群名称来检索集群 ID 和Amazon区域。为此,您的 IAM 用户或角色必须有权针对指定集群调用 redshift:DescribeClusters 操作。如果您的 IAM 用户或角色无权调用redshift:DescribeClusters操作,请包含集群 IDAmazon区域和端口,如以下示例所示。端口号是可选的。默认端口为 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 GetClusterCredentials 选项。

    jdbc:redshift:iam://examplecluster:us-west-2/dev?plugin_name=com.amazon.redshift.plugin.AzureCredentialsProvider&UID=user&PWD=password&idp_tenant=my_tenant&client_secret=my_secret&client_id=my_id

配置 ODBC 连接以使用 IAM 凭证

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

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

    重要

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

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

    有关更多信息,请参阅以下章节之一:

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

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

      • Data Source Name

      • Server (可选)

      • Port (可选)

      • Database

      如果您的 IAM 用户或角色有权调用redshift:DescribeClusters操作,仅Data Source Name数据库是必需的。Amazon Redshift 使用ClusterId区域来获取服务器和端口,方法是调用DescribeClusteroperation.

      如果您的 IAM 用户或角色无权调用 redshift:DescribeClusters 操作,请指定 Server (服务器)Port (端口)。默认端口为 5439。

    2. Authentication (身份验证) 下,为 Auth Type (身份验证类型) 选择一个值。

      对于每种身份验证类型,请输入如下列出的值:

      Amazon 配置文件

      输入以下信息:

      • ClusterID

      • 区域

      • 配置文件名称

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

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

      IAM 证书

      输入以下信息:

      • ClusterID

      • 区域

      • AccessKeyIDSecretAccessKey

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

      • SessionToken

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

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

      Identity Provider: AD FS

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

      提供 IdP 详细信息:

      • IdP Host

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

      • IdP Port (可选)

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

      • Preferred Role

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

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

      • DbUser

      • User AutoCreate

      • DbGroups

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

      Identity Provider: PingFederate

      对于 User (用户)Password (密码),键入您的 IdP 用户名和密码。

      提供 IdP 详细信息:

      • IdP Host

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

      • IdP Port (可选)

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

      • Preferred Role

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

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

      • DbUser

      • User AutoCreate

      • DbGroups

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

      Identity Provider: Okta

      对于 User (用户)Password (密码),键入您的 IdP 用户名和密码。

      提供 IdP 详细信息:

      • IdP Host

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

      • IdP Port

        Okta 不使用此值。

      • Preferred Role

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

      • Okta App ID

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

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

      • DbUser

      • User AutoCreate

      • DbGroups

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

      Identity Provider: Azure AD

      对于 User (用户)Password (密码),键入您的 IdP 用户名和密码。

      适用于集群 ID区域中,输入集群 ID 并AmazonAmazon Redshift 集群的区域。

      适用于数据库中,输入您为 Amazon Redshift 集群创建的数据库。

      提供 IdP 详细信息:

      • IdP Tenant (IdP 租户)

        用于 Azure AD 的租户。

      • Azure Client Secret (Azure 客户端密钥)

        Azure 中的 Amazon Redshift 企业应用程序的客户端密码。

      • Azure Client ID (Azure 客户端 ID)

        Azure 中 Amazon Redshift 企业应用程序的客户端 ID(应用程序 ID)。

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

      • DbUser

      • User AutoCreate

      • DbGroups

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