ODBC 驱动程序选项 - Amazon Redshift

ODBC 驱动程序选项

可以使用驱动程序配置选项来控制 Amazon Redshift ODBC 驱动程序的行为。驱动程序选项不区分大小写。

在 Microsoft Windows 中,您通常可以在配置数据来源名称 (DSN) 时设置驱动程序选项。您还能在以编程方式连接时,或者通过在 HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\your_DSN 中添加或更改注册表项来设置驱动程序选项。

在 Linux 中,可以在 odbc.iniamazon.redshiftodbc.ini 文件中设置驱动程序配置选项。在 amazon.redshiftodbc.ini 文件中设置的配置选项适用于所有连接。相反,odbc.ini 文件中的设置配置选项特定于一个连接。在 odbc.ini 中设置的配置选项优先于在 amazon.redshiftodbc.ini 中设置的配置选项。

以下是您可以为 Amazon Redshift ODBC 版本 2.x 驱动程序指定的选项的说明:

AccessKeyID

  • 默认值 – 无

  • 数据类型 – 字符串

用户或角色的 IAM 访问密钥。如果您设置此参数,则还必须指定 SecretAccessKey

此参数为可选的。

app_id

  • 默认值 – 无

  • 数据类型 – 字符串

Okta 提供的与您的 Amazon Redshift 应用程序关联的唯一 ID。

此参数为可选的。

app_name

  • 默认值 – 无

  • 数据类型 – 字符串

您用于验证与 Amazon Redshift 的连接的 Okta 应用程序的名称。

此参数为可选的。

AuthProfile

  • 默认值 – 无

  • 数据类型 – 字符串

用于管理连接设置的身份验证配置文件。如果您设置此参数,则还必须设置 AccessKeyIDSecretAccessKey

此参数为可选的。

AuthType

  • 默认值:标准

  • 数据类型 – 字符串

此选项指定在您使用“Amazon Redshift ODBC 驱动程序 DSN 设置”对话框配置 DSN 时驱动程序使用的身份验证模式:

  • 标准:使用您的 Amazon Redshift 用户名和密码的标准身份验证。

  • AWS 配置文件:使用配置文件的 IAM 身份验证。

  • AWS IAM 凭证:使用 IAM 凭证的 IAM 身份验证。

  • 身份提供者:AD FS:使用 Active Directory 联合身份验证服务(AD FS)的 IAM 身份验证。

  • 身份提供者:身份验证插件:一种授权插件,可接受 AWS IAM Identity Center 令牌,或基于 OpenID Connect(OIDC)JSON 的身份令牌(JWT),该令牌由与 AWS IAM Identity Center 关联的任意 Web 身份提供者提供。

  • 身份提供者:Azure AD:使用 Azure AD 门户的 IAM 身份验证。

  • 身份提供者:JWT:使用 JSON Web 令牌(JWT)的 IAM 身份验证。

  • 身份提供者:Okta:使用 Okta 的 IAM 身份验证。

  • 身份提供者:PingFederate:使用 PingFederate 的 IAM 身份验证。

仅当您使用 Windows 驱动程序中的“Amazon Redshift ODBC 驱动程序 DSN 设置”对话框配置 DSN 时,此选项才可用。当您使用连接字符串或非 Windows 计算机配置连接时,驱动程序将根据您指定的凭证,自动确定是使用“标准”、“AWS 配置文件”还是“AWS IAM 凭证”身份验证。要使用身份提供者,您必须设置 plugin_name 属性。

此参数为必需参数。

AutoCreate

  • 默认值 - 0

  • 数据类型 – Boolean

一个布尔值,用于指定当指定的用户不存在时驱动程序是否创建新用户。

  • 1 | TRUE:如果通过 UID 指定的用户不存在,则驱动程序将创建新用户。

  • 0 | FALSE:驱动程序不会创建新用户。如果指定的用户不存在,则身份验证将失败。

此参数为可选的。

CaFile

  • 默认值 – 无

  • 数据类型 – 字符串

用于某些形式的 IAM 身份验证的 CA 证书文件的文件路径。

此参数仅在 Linux 上可用。

此参数为可选的。

client_id

  • 默认值 – 无

  • 数据类型 – 字符串

与 Azure AD 中的 Amazon Redshift 应用程序关联的客户端 ID。

如果通过 Azure AD 服务进行身份验证,则此参数是必需的。

client_ secret

  • 默认值 – 无

  • 数据类型 – 字符串

与 Azure AD 中的 Amazon Redshift 应用程序关联的秘密密钥。

如果通过 Azure AD 服务进行身份验证,则此参数是必需的。

ClusterId

  • 默认值 – 无

  • 数据类型 – 字符串

您要连接到的 Amazon Redshift 集群的名称。它将在 IAM 身份验证中使用。集群 ID 不会在服务器参数中指定。

此参数为可选的。

压缩

  • 默认值 – 关闭

  • 数据类型 – 字符串

用于 Amazon Redshift 服务器与客户端或驱动程序之间线路协议通信的压缩方法。

可以指定以下值:

  • lz4:将用于与 Amazon Redshift 进行线路协议通信的压缩方法设置为 lz4

  • zstd:将用于与 Amazon Redshift 进行线路协议通信的压缩方法设置为 zstd

  • off:与 Amazon Redshift 进行线路协议通信时不使用压缩方法。

此参数为可选的。

数据库

  • 默认值 – 无

  • 数据类型 – 字符串

您要访问的 Amazon Redshift 数据库的名称。

此参数为必需参数。

DatabaseMetadataCurrentDbOnly

  • 默认值:1

  • 数据类型 – Boolean

一个布尔值,用于指定驱动程序是否从多个数据库和集群返回元数据。

  • 1 | TRUE:驱动程序仅从当前数据库返回元数据。

  • 0 | FALSE。驱动程序将跨多个 Amazon Redshift 数据库和集群返回元数据。

此参数为可选的。

dbgroups_filter

  • 默认值 – 无

  • 数据类型 – 字符串

在使用 Azure、浏览器 Azure 和浏览器 SAML 身份验证类型时,您可以指定的正则表达式,用于筛选出从 Amazon Redshift 的 SAML 响应中收到的数据库组 (DbGroup)。

此参数为可选的。

驱动程序

  • 默认值:Amazon Redshift ODBC 驱动程序 (x64)

  • 数据类型 – 字符串

驱动程序的名称。唯一受支持的值是 Amazon Redshift ODBC 驱动程序(x64)

如果您未设置 DSN,则此参数是必需的。

DSN

  • 默认值 – 无

  • 数据类型 – 字符串

驱动程序数据来源名称的名称。应用程序将在 SQLDriverConnect API 中指定 DSN。

如果您未设置驱动程序,则此参数是必需的。

EndpointUrl

  • 默认值 – 无

  • 数据类型 – 字符串

用于与 Amazon Redshift Coral 服务通信以进行 IAM 身份验证的覆盖端点。

此参数为可选的。

ForceLowercase

  • 默认值 - 0

  • 数据类型 – Boolean

一个布尔值,用于指定在使用单点登录身份验证时,驱动程序是否会将从身份提供者发送到 Amazon Redshift 的所有数据库组 (DbGroup) 小写。

  • 1 | TRUE:驱动程序会将从身份提供者发送的所有 DbGroup 转换为小写。

  • 0 | FALSE:驱动程序不会更改 DbGroup。

此参数为可选的。

group_federation

  • 默认值 - 0

  • 数据类型 – Boolean

一个布尔值,指定 getClusterCredentialsWithIAM API 是否用于在预调配集群中获取临时集群凭证。此选项允许 IAM 用户在预调配集群中与 Redshift 数据库角色进行集成。请注意,此选项不适用于 Redshift Serverless 命名空间。

  • 1 | TRUE:驱动程序使用 getClusterCredentialsWithIAM API 来获取预调配集群中的临时集群凭证。

  • 0 | FALSE:驱动程序使用默认 getClusterCredentials API 来获取预调配集群中的临时集群凭证。

此参数为可选的。

https_proxy_host

  • 默认值 – 无

  • 数据类型 – 字符串

您要通过其来传递 IAM 身份验证过程的代理服务器的主机名或 IP 地址。

此参数为可选的。

https_proxy_password

  • 默认值 – 无

  • 数据类型 – 字符串

用于访问代理服务器的密码。它将用于 IAM 身份验证。

此参数为可选的。

https_proxy_port

  • 默认值 – 无

  • 数据类型 – 整数

代理服务器用于侦听客户端连接的端口号。它将用于 IAM 身份验证。

此参数为可选的。

https_proxy_username

  • 默认值 – 无

  • 数据类型 – 字符串

用于访问代理服务器的用户名。它用于 IAM 身份验证。

此参数为可选的。

IAM

  • 默认值 - 0

  • 数据类型 – Boolean

一个布尔值,用于指定驱动程序是否使用 IAM 身份验证方法对连接进行身份验证。

  • 1 | TRUE:驱动程序将使用某种 IAM 身份验证方法(使用访问密钥和秘密密钥对、配置文件或凭证服务)。

  • 0 | FALSE。驱动程序将使用标准身份验证(使用您的数据库用户名和密码)。

此参数为可选的。

idc_client_display_name

  • 默认值 – Amazon Redshift ODBC 驱动程序

  • 数据类型 – 字符串

要用于使用 BrowserIdcAuthPlugin 的客户端的显示名称。

此参数为可选的。

idc_region

  • 默认值 – 无

  • 数据类型 – 字符串

AWS IAM Identity Center 实例所在的 AWS 区域。

只有在 plugin_name 配置选项中使用 BrowserIdcAuthPlugin 进行身份验证时,才需要此参数。

idp_host

  • 默认值 – 无

  • 数据类型 – 字符串

您用于对 Amazon Redshift 进行身份验证的 IdP(身份提供者)主机。

此参数为可选的。

idp_port

  • 默认值 – 无

  • 数据类型 – 整数

您用于对 Amazon Redshift 进行身份验证的 IdP(身份提供者)的端口。根据您在创建、修改或迁移集群时选择的端口,允许访问所选端口。

此参数为可选的。

idp_response_timeout

  • 默认值 – 120

  • 数据类型 – 整数

当通过浏览器插件使用 SAML 或 Azure AD 服务时,驱动程序等待身份提供者发出 SAML 响应的秒数。

此参数为可选的。

idp_tenant

  • 默认值 – 无

  • 数据类型 – 字符串

与您的 Amazon Redshift 应用程序关联的 Azure AD 租户 ID。

如果通过 Azure AD 服务进行身份验证,则此参数是必需的。

idp_use_https_proxy

  • 默认值 - 0

  • 数据类型 – Boolean

一个布尔值,用于指定驱动程序是否通过代理服务器传递身份提供者(IdP)的身份验证过程。

  • 1 | TRUE:驱动程序将通过代理服务器传递 IdP 身份验证过程。

  • 0 | FALSE。驱动程序不会通过代理服务器传递 IdP 身份验证过程。

此参数为可选的。

InstanceProfile

  • 默认值 - 0

  • 数据类型 – Boolean

一个布尔值,用于指定驱动程序在配置为使用配置文件进行身份验证时是否使用 Amazon EC2 实例配置文件。

  • 1 | TRUE:驱动程序将使用 Amazon EC2 实例配置文件。

  • 0 | FALSE。驱动程序将改用通过“配置文件名称”选项(配置文件)指定的串联角色配置文件。

此参数为可选的。

issuer_url

  • 默认值 – 无

  • 数据类型 – 字符串

指向 AWS IAM Identity Center 服务器的实例端点。

只有在 plugin_name 配置选项中使用 BrowserIdcAuthPlugin 进行身份验证时,才需要此参数。

KeepAlive

  • 默认值:1

  • 数据类型 – Boolean

一个布尔值,用于指定驱动程序是否使用 TCP keepalive 来防止连接超时。

  • 1 | TRUE:驱动程序将使用 TCP keepalive 来防止连接超时。

  • 0 | FALSE。驱动程序不会使用 TCP keepalive。

此参数为可选的。

KeepAliveCount

  • 默认值 - 0

  • 数据类型 – 整数

连接被视为断开前可能丢失的 TCP keepalive 包的数量。当此参数设置为 0 时,驱动程序将使用此设置的系统默认值。

此参数为可选的。

KeepAliveInterval

  • 默认值 - 0

  • 数据类型 – 整数

两次传输 TCP keepalive 间隔的秒数。当此参数设置为 0 时,驱动程序将使用此设置的系统默认值。

此参数为可选的。

KeepAliveTime

  • 默认值 - 0

  • 数据类型 – 整数

驱动程序发送 TCP Keepalive 包前处于不活动状态的秒数。当此参数设置为 0 时,驱动程序将使用此设置的系统默认值。

此参数为可选的。

listen_port

  • 默认值:7890

  • 数据类型 – 整数

通过浏览器插件使用 SAML、Azure AD 或 AWS IAM Identity Center 服务时,驱动程序用于接收来自身份提供者的 SAML 响应的端口。

此参数为可选的。

login_url

  • 默认值 – 无

  • 数据类型 – 字符串

在使用通用浏览器 SAML 插件时,身份提供者网站上的资源的 URL。

如果通过浏览器插件使用 SAML 或 Azure AD 服务进行身份验证,则此参数是必需的。

loginToRp

  • 默认值:urn:amazon:webservices

  • 数据类型 – 字符串

要用于 AD FS 身份验证类型的信赖方信任。

此字符串为可选项。

LogLevel

  • 默认值 - 0

  • 数据类型 – 整数

使用此属性可以启用或禁用驱动程序中的日志记录,并指定包含在日志中的详细信息量。我们建议您启用日志记录的时长仅足以捕获问题即可,因为日志记录会降低性能,并会占用大量磁盘空间。

将该属性设置为以下值之一:

  • 0:关闭。禁用所有日志记录。

  • 1:错误。记录也许不会导致驱动程序中止运行但会生成错误的错误事件。

  • 2:API_CALL。记录带有函数参数值的 ODBC API 函数调用。

  • 3:信息。记录描述驱动程序进度的一般信息。

  • 4:MSG_PROTOCOL。记录驱动程序消息协议的详细信息。

  • 5:调试。记录所有驱动程序活动

  • 6:DEBUG_APPEND。保留所有驱动程序活动的附加日志。

启用日志记录后,驱动程序将在您在 LogPath 属性中指定的位置生成以下日志文件:

  • 一个 redshift_odbc.log.1 文件,它将记录连接握手期间发生的驱动程序活动。

  • 一个 redshift_odbc.log 文件,用于与数据库建立连接后的所有驱动程序活动。

此参数为可选的。

LogPath

  • 默认值:特定于操作系统的 TEMP 目录

  • 数据类型 – 字符串

LogLevel 大于 0 时,驱动程序保存日志文件的文件夹的完整路径。

此参数为可选的。

Min_TLS

  • 默认值 – 1.2

  • 数据类型 – 字符串

驱动程序允许数据存储以用于对连接进行加密的 TLS/SSL 的最低版本。例如,如果指定了 TLS 1.2,则无法使用 TLS 1.1 对连接进行加密。

Min_TLS 接受以下值:

  • 1.0:连接必须至少使用 TLS 1.0。

  • 1.1:连接必须至少使用 TLS 1.1。

  • 1.2:连接必须至少使用 TLS 1.2。

此参数为可选的。

partner_spid

  • 默认值 – 无

  • 数据类型 – 字符串

在使用 PingFederate 服务验证连接时使用的合作伙伴 SPID(服务提供商 ID)值。

此参数为可选的。

密码| PWS

  • 默认值 – 无

  • 数据类型 – 字符串

与您在“用户”字段(UID | 用户| LogonID)中提供的数据库用户名相对应的密码。

此参数为可选的。

plugin_name

  • 默认值 – 无

  • 数据类型 – 字符串

要用于身份验证的凭证提供程序插件名称。

支持下列值:

  • ADFS:使用 Active Directory 联合身份验证服务进行身份验证。

  • AzureAD:使用 Microsoft Azure Active Directory (AD) 服务进行身份验证。

  • BrowserAzureAD:使用适用于 Microsoft Azure Active Directory (AD) 服务的浏览器插件进行身份验证。

  • BrowserIdcAuthPlugin :使用 AWS IAM Identity Center 的授权插件。

  • BrowserSAML:使用适用于 SAML 服务(如 Okta 或 Ping)的浏览器插件进行身份验证。

  • IdpTokenAuthPlugin:一种授权插件,可接受 AWS IAM Identity Center 令牌,或者基于 OpenID Connect(OIDC)JSON 的身份令牌(JWT),该令牌由与 AWS IAM Identity Center 关联的任意 Web 身份提供者提供。

  • JWT:使用 JSON Web 令牌 (JWT) 进行身份验证。

  • Ping:使用 PingFederate 服务进行身份验证。

  • Okta:使用 Okta 服务进行身份验证。

此参数为可选的。

端口 | PortNumber

  • 默认值:5439

  • 数据类型 – 整数

Amazon Redshift 服务器用于侦听客户端连接的 TCP 端口号。

此参数为可选的。

preferred_role

  • 默认值 – 无

  • 数据类型 – 字符串

您希望在 Amazon Redshift 连接期间担任的角色。它将用于 IAM 身份验证。

此参数为可选的。

配置文件

  • 默认值 – 无

  • 数据类型 – 字符串

用于在 Amazon Redshift 中进行身份验证的用户 AWS 配置文件的名称。

  • 如果“使用实例配置文件”参数(InstanceProfile 属性)设置为 1 | TRUE,则该设置将优先,驱动程序将改用 Amazon EC2 实例配置文件。

  • 包含配置文件的凭证文件的默认位置为 ~/.aws/CredentialsAWS_SHARED_CREDENTIALS_FILE 环境变量可用于指向其他凭证文件。

此参数为可选的。

provider_name

  • 默认值 – 无

  • 数据类型 – 字符串

用户使用 CREATE IDENTITY PROVIDER 查询创建的身份验证提供程序。它将用于本机 Amazon Redshift 身份验证。

此参数为可选的。

ProxyHost

  • 默认值 – 无

  • 数据类型 – 字符串

要通过其连接的代理服务器的主机名或 IP 地址。

此参数为可选的。

ProxyPort

  • 默认值 – 无

  • 数据类型 – 整数

代理服务器用于侦听客户端连接的端口号。

此参数为可选的。

ProxyPwd

  • 默认值 – 无

  • 数据类型 – 字符串

用于访问代理服务器的密码。

此参数为可选的。

ProxyUid

  • 默认值 – 无

  • 数据类型 – 字符串

用于访问代理服务器的用户名。

此参数为可选的。

ReadOnly

  • 默认值 - 0

  • 数据类型 – Boolean

一个布尔值,用于指定驱动程序是否处于只读模式。

  • 1 | TRUE:连接处于只读模式,无法写入数据存储。

  • 0 | FALSE:连接不处于只读模式,可以写入数据存储。

此参数为可选的。

region

  • 默认值 – 无

  • 数据类型 – 字符串

您的集群所在的 AWS 区域。

此参数为可选的。

SecretAccessKey

  • 默认值 – 无

  • 数据类型 – 字符串

用户或角色的 IAM 秘密密钥。如果您设置此参数,则还必须设置 AccessKeyID

此参数为可选的。

SessionToken

  • 默认值 – 无

  • 数据类型 – 字符串

与您用于身份验证的 IAM 角色关联的临时 IAM 会话令牌。

此参数为可选的。

服务器 | HostName | 主机

  • 默认值 – 无

  • 数据类型 – 字符串

要连接到的端点服务器。

此参数为必需参数。

ssl_insecure

  • 默认值 - 0

  • 数据类型 – Boolean

一个布尔值,用于指定驱动程序是否检查 IdP 服务器证书的真实性。

  • 1 | TRUE:驱动程序不检查 IdP 服务器证书的真实性。

  • 0 | FALSE:驱动程序检查 IdP 服务器证书的真实性

此参数为可选的。

SSLMode

  • 默认值verify-ca

  • 数据类型 – 字符串

在连接到 Amazon Redshift 时要使用的 SSL 证书验证模式。以下是可能的值:

  • verify-full:仅使用 SSL、受信任的证书颁发机构和与证书匹配的服务器名称进行连接。

  • verify-ca:仅使用 SSL 和受信任的证书颁发机构进行连接。

  • require:仅使用 SSL 进行连接。

  • prefer:使用 SSL 进行连接(如果可用)。否则,将在不使用 SSL 的情况下进行连接。

  • allow:默认情况下,不使用 SSL 进行连接。如果服务器需要 SSL 连接,则使用 SSL。

  • disable:不使用 SSL 进行连接。

此参数为可选的。

StsConnectionTimeout

  • 默认值 - 0

  • 数据类型 – 整数

IAM 连接的最长等待时间(以秒为单位)。如果设置为 0 或未指定,驱动程序将为每次 AWS STS 调用等待 60 秒。

此参数为可选的。

StsEndpointUrl

  • 默认值 – 无

  • 数据类型 – 字符串

此选项指定用于与 AWS Security Token Service (AWS STS) 通信的覆盖端点。

此参数为可选的。

令牌

  • 默认值 – 无

  • 数据类型 – 字符串

AWS IAM Identity Center 提供的访问令牌,或 OpenID Connect(OIDC)JSON Web 令牌(JWT,JSON Web Token),该令牌由与 AWS IAM Identity Center 关联的 Web 身份提供者提供。您的应用程序必须通过 AWS IAM Identity Center 或与 AWS IAM Identity Center 关联的身份提供者,对您的应用程序用户进行身份验证,从而生成此令牌。

此参数可用于 IdpTokenAuthPlugin

token_type

  • 默认值 – 无

  • 数据类型 – 字符串

IdpTokenAuthPlugin 中使用的令牌类型。

可以指定以下值:

ACCESS_TOKEN

如果您使用 AWS IAM Identity Center 提供的访问令牌,请输入此项。

EXT_JWT

如果您使用 OpenID Connect(OIDC)JSON Web 令牌(JWT)(该令牌由与 AWS IAM Identity Center 集成的基于 Web 的身份提供者提供),请输入此项。

此参数可用于 IdpTokenAuthPlugin

UID | 用户 | LogonID

  • 默认值 – 无

  • 数据类型 – 字符串

用于访问 Amazon Redshift 服务器的用户名。

如果使用数据库身份验证,则此参数是必需项。

web_identity_token

  • 默认值 – 无

  • 数据类型 – 字符串

身份提供者提供的 OAUTH 令牌。它将在 JWT 插件中使用。

如果您将 plugin_name 参数设置为 BasicJwtCredentialsProvider,则此参数是必需项。