本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 5:設定 JDBC 或 ODBC 連線使用 IAM 登入資料
您可以使用 Amazon Redshift JDBC 或 ODBC 驅動程序設定您的 SQL 用戶端。此驅動程式會管理建立資料庫使用者憑證,然後在 SQL 用戶端與 Amazon Redshift 資料庫之間建立連線的程序。
如果您使用身分提供者進行身分驗證,請指定登入資料供應商外掛程式的名稱。Amazon Redshift JDBC 和 ODBC 驅動程式包含下列以 SAML 為基礎之身分提供者的外掛程式:
-
Active Directory Federation Services (AD FS)
-
PingOne
-
Okta
-
Microsoft Azure AD
如需將 Microsoft Azure AD 設定為身分提供者的步驟,請參閱 設定 JDBC 或 ODBC 單一登入身分驗證搭配 Microsoft Azure AD。
設定 JDBC 連線使用 IAM 登入資料
-
從 設定 Amazon Redshift JDBC 驅動程式 2.1 版的連線 頁面下載最新的 Amazon Redshift JDBC 驅動程式。
-
使用下列其中一種格式的 IAM 登入資料選項建立 JDBC URL。若要使用 IAM 身分驗證,請將
iam:
新增至 Amazon Redshift JDBC URL 的jdbc:redshift:
後方,如下列範例所示。jdbc:redshift:iam://
新增
cluster-name
、region
和account-id
。JDBC 驅動程式會使用您的 IAM 帳戶資訊和叢集名稱來擷取叢集 ID 和 AWS 區域。若要這樣做,您的使用者或角色必須具備為指定叢集呼叫redshift:DescribeClusters
操作的許可。如果您的使用者或角色沒有呼叫redshift:DescribeClusters
作業的權限,請包含叢集 ID、 AWS Region 和連接埠,如下列範例所示。連接埠號碼是選用的。jdbc:redshift:iam://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev
-
新增 JDBC 選項,以提供 IAM 登入資料。您可使用不同的 JDBC 選項組合來提供 IAM 登入資料。如需詳細資訊,請參閱 用於建立資料庫使用者登入資料的 JDBC 和 ODBC 選項。
下面的 URL 指定 AccessKey ID 和 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
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 連線。
-
安裝並設定您的作業系統適用的 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 (連接埠) (選用)
-
資料庫
如果您的使用者或角色具有呼叫
redshift:DescribeClusters
操作的許可,則只需要資料來源名稱和資料庫。Amazon Redshift 使用ClusterId和區域通過調用DescribeCluster
操作來獲取服務器和端口。如果您的使用者或角色不具有呼叫
redshift:DescribeClusters
操作的許可,請指定伺服器和連接埠。 -
-
在 Authentication (身分驗證) 下方,選擇 Auth Type (驗證類型) 的值。
針對每個驗證類型,輸入下列的值:
- AWS 設定檔
-
輸入下列資訊:
-
ClusterID (ClusterID)
-
區域
-
Profile name (設定檔名稱)
在包含 ODBC 連線選項值的 AWS 組態檔中輸入設定檔的名稱。如需詳細資訊,請參閱 使用組態設定檔。
(選用) 提供 ODBC 驅動程式用來呼叫
GetClusterCredentials
API 操作之選項的詳細資訊:-
DbUser
-
使用者 AutoCreate
-
DbGroups
如需詳細資訊,請參閱 用於建立資料庫使用者登入資料的 JDBC 和 ODBC 選項。
-
- IAM 登入資料
-
輸入下列資訊:
-
ClusterID (ClusterID)
-
區域
-
AccessKey身份證和 SecretAccessKey
IAM 資料庫身分驗證所設定之 IAM 角色或使用者的存取金鑰 ID 和私密存取金鑰。
-
SessionToken
SessionToken具有臨時登入資料的 IAM 角色是必需的。如需詳細資訊,請參閱暫時性安全登入資料。
提供 ODBC 驅動程式用來呼叫
GetClusterCredentials
API 操作之選項的詳細資訊:-
DbUser(必填)
-
使用者 AutoCreate (選擇性)
-
DbGroups(可選)
如需詳細資訊,請參閱 用於建立資料庫使用者登入資料的 JDBC 和 ODBC 選項。
-
- 身分提供者:AD FS
-
針對使用 AD FS 的 Windows 整合式身分驗證,請讓 User (使用者) 和 Password (密碼) 保持空白。
提供 IdP 詳細資訊:
-
IdP Host (IdP 主機)
企業身分提供商主機的名稱。該名稱不得包含任何斜線 (/)。
-
IdP Port (IdP 連接埠) (選用)
身分提供者使用的連接埠。預設為 443。
-
Preferred Role (偏好的角色)
IAM 角色的 Amazon Resource Name (ARN),來自 SAML 聲明中
Role
屬性的多值AttributeValue
元素。若要尋找偏好角色適用的值,請洽詢 IdP 管理員。如需詳細資訊,請參閱 設定 IdP 的 SAML 聲明。
(選用) 提供 ODBC 驅動程式用來呼叫
GetClusterCredentials
API 操作之選項的詳細資訊:-
DbUser
-
使用者 AutoCreate
-
DbGroups
如需詳細資訊,請參閱 用於建立資料庫使用者登入資料的 JDBC 和 ODBC 選項。
-
- 身份提供者: PingFederate
-
針對 User (使用者) 和 Password (密碼),輸入 IdP 的使用者名稱和密碼。
提供 IdP 詳細資訊:
-
IdP Host (IdP 主機)
企業身分提供商主機的名稱。該名稱不得包含任何斜線 (/)。
-
IdP Port (IdP 連接埠) (選用)
身分提供者使用的連接埠。預設為 443。
-
Preferred Role (偏好的角色)
IAM 角色的 Amazon Resource Name (ARN),來自 SAML 聲明中
Role
屬性的多值AttributeValue
元素。若要尋找偏好角色適用的值,請洽詢 IdP 管理員。如需詳細資訊,請參閱 設定 IdP 的 SAML 聲明。
(選用) 提供 ODBC 驅動程式用來呼叫
GetClusterCredentials
API 操作之選項的詳細資訊:-
DbUser
-
使用者 AutoCreate
-
DbGroups
如需詳細資訊,請參閱 用於建立資料庫使用者登入資料的 JDBC 和 ODBC 選項。
-
- 身分提供者:Okta
-
針對 User (使用者) 和 Password (密碼),輸入 IdP 的使用者名稱和密碼。
提供 IdP 詳細資訊:
-
IdP Host (IdP 主機)
企業身分提供商主機的名稱。該名稱不得包含任何斜線 (/)。
-
IdP Port (IdP 連接埠)
Okta 不會使用此值。
-
Preferred Role (偏好的角色)
IAM 角色的 Amazon Resource Name (ARN),來自 SAML 聲明中
Role
屬性的AttributeValue
元素。若要尋找偏好角色適用的值,請洽詢 IdP 管理員。如需詳細資訊,請參閱 設定 IdP 的 SAML 聲明。 -
Okta App ID (Okta 應用程式 ID)
Okta 應用程式的 ID。Okta 應用程式嵌入連結中「amazon_aws」後方的 App ID 值。請洽詢 IdP 管理員,以取得此值。
(選用) 提供 ODBC 驅動程式用來呼叫
GetClusterCredentials
API 操作之選項的詳細資訊:-
DbUser
-
使用者 AutoCreate
-
DbGroups
如需詳細資訊,請參閱 用於建立資料庫使用者登入資料的 JDBC 和 ODBC 選項。
-
- 身分提供者:Azure AD
-
針對 User (使用者) 和 Password (密碼),輸入 IdP 的使用者名稱和密碼。
針對叢集 ID 和區域,輸入您的 Amazon Redshift 叢集的叢集 ID 和 AWS 區域。
針對資料庫,輸入您為 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
-
使用者 AutoCreate
-
DbGroups
如需詳細資訊,請參閱 用於建立資料庫使用者登入資料的 JDBC 和 ODBC 選項。
-
-