步驟 5:設定 JDBC 或 ODBC 連線使用 IAM 登入資料 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

步驟 5:設定 JDBC 或 ODBC 連線使用 IAM 登入資料

您可以使用 Amazon Redshift JDBC 或 ODBC 驅動程序設定您的 SQL 用戶端。此驅動程式會管理建立資料庫使用者憑證,然後在 SQL 用戶端與 Amazon Redshift 資料庫之間建立連線的程序。

如果您使用身分提供者進行身分驗證,請指定登入資料供應商外掛程式的名稱。Amazon Redshift JDBC 和 ODBC 驅動程式包含下列以 SAML 為基礎之身分提供者的外掛程式:

設定 JDBC 連線使用 IAM 登入資料
  1. 設定 Amazon Redshift JDBC 驅動程式 2.1 版的連線 頁面下載最新的 Amazon Redshift JDBC 驅動程式。

  2. 使用下列其中一種格式的 IAM 登入資料選項建立 JDBC URL。若要使用 IAM 身分驗證,請將 iam: 新增至 Amazon Redshift JDBC URL 的 jdbc:redshift: 後方,如下列範例所示。

    jdbc:redshift:iam://

    新增 cluster-nameregionaccount-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
  3. 新增 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
  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 Driver DSN Setup 視窗。

    1. Connection Settings (連線設定) 下,輸入下列資訊:

      • Data Source Name (資料來源名稱)

      • Server (伺服器) (選用)

      • Port (連接埠) (選用)

      • 資料庫

      如果您的使用者或角色具有呼叫 redshift:DescribeClusters 操作的許可,則只需要資料來源名稱資料庫。Amazon Redshift 使用ClusterId區域通過調用DescribeCluster操作來獲取服務器和端口。

      如果您的使用者或角色不具有呼叫 redshift:DescribeClusters 操作的許可,請指定伺服器連接埠

    2. Authentication (身分驗證) 下方,選擇 Auth Type (驗證類型) 的值。

      針對每個驗證類型,輸入下列的值:

      AWS 設定檔

      輸入下列資訊:

      • ClusterID (ClusterID)

      • 區域

      • Profile name (設定檔名稱)

        在包含 ODBC 連線選項值的 AWS 組態檔中輸入設定檔的名稱。如需詳細資訊,請參閱 使用組態設定檔

      (選用) 提供 ODBC 驅動程式用來呼叫 GetClusterCredentials API 操作之選項的詳細資訊:

      IAM 登入資料

      輸入下列資訊:

      • ClusterID (ClusterID)

      • 區域

      • AccessKey身份證SecretAccessKey

        IAM 資料庫身分驗證所設定之 IAM 角色或使用者的存取金鑰 ID 和私密存取金鑰。

      • SessionToken

        SessionToken具有臨時登入資料的 IAM 角色是必需的。如需詳細資訊,請參閱暫時性安全登入資料

      提供 ODBC 驅動程式用來呼叫 GetClusterCredentials API 操作之選項的詳細資訊:

      身分提供者: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 選項