步骤 5:配置 JDBC 或 ODBC 连接以使用 IAM 凭证
您可以使用 Amazon Redshift JDBC 或 ODBC 驱动程序配置您的 SQL 客户端,这些配置程序管理创建数据库用户凭证并在您的 SQL 客户端与您的 Amazon Redshift 数据库之间建立连接的过程。
配置 JDBC 连接以使用 IAM 凭证
-
从配置 JDBC 连接页面下载最新的 Amazon Redshift JDBC 驱动程序。
重要
Amazon Redshift JDBC 驱动程序必须为版本 1.2.7.1003 或更高版本。
-
使用下列格式之一创建包含 IAM 凭证选项的 JDBC URL。要使用 IAM 身份验证,请将 iam: 添加到 Amazon Redshift JDBC URL 中的 jdbc:redshift: 之后,如以下示例中所示。
jdbc:redshift:iam://
将
cluster-name
、region
和dbname
分别替换为您的集群、区域和数据库名称的值。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
-
添加 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
-
添加 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.为您的操作系统安装和配置最新的 Amazon Redshift OBDC 驱动程序。有关更多信息,请参阅配置 ODBC 连接页面。
重要
Amazon Redshift ODBC 驱动程序必须为版本 1.3.6.1000 或更高版本。
-
根据您的操作系统选择配置连接设置需要遵循的步骤。
有关更多信息,请参阅下列主题之一:
-
在 Microsoft Windows 操作系统上,访问“Amazon Redshift ODBC Driver DSN Setup”窗口。
-
在 Connection Settings 下,键入以下信息:
-
Data Source Name
-
Server (可选)
-
Port (可选)
-
数据库
如果您的 IAM 用户或角色有权调用
redshift:DescribeClusters
操作,则仅需要 Data Source Name (数据源名称) 和 Database (数据库)。Amazon Redshift 使用 ClusterId and Region (区域) 通过调用DescribeCluster
操作来获取服务器和端口。如果您的 IAM 用户或角色无权调用
redshift:DescribeClusters
操作,请指定 Server 和 Port。默认端口为 5439。 -
-
在 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 选项。
-
AccessKeyID 和 SecretAccessKey
为 IAM 数据库身份验证配置的 IAM 角色或 IAM 用户的访问密钥 ID 和秘密访问密钥。
-
SessionToken
对于具有临时凭证的 IAM 角色,SessionToken 是必填的。有关更多信息,请参阅临时安全凭证。
Identity Provider: AD FS
对于使用 AD FS 的 Windows 集成身份验证,请将 User 和 Password 保留为空。
(可选) 提供 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
对于 User 和 Password,键入您的 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
对于 User 和 Password,键入您的 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
-
-