Amazon Redshift
クラスター管理ガイド

ステップ 5: IAM 認証情報を使用するように JDBC または ODBC 接続を設定する

データベースユーザー認証情報を作成し、SQL クライアントと Amazon Redshift データベース間の接続を確立するプロセスを管理する Amazon Redshift JDBC または ODBC ドライバーを使用して、SQL クライアントを設定できます。

IAM 認証情報を使用するように JDBC 接続を設定するには

  1. JDBC 接続を設定する」ページから最新の Amazon Redshift JDBC ドライバーをダウンロードします。

    重要

    Amazon Redshift JDBC ドライバーはバージョン 1.2.7.1003 以降である必要があります。

  2. 次のいずれかの形式で IAM 認証情報オプションを使用して JDBC URL を作成します。IAM 認証を使用するには、次の例に示すように、jdbc:redshift: に続いて Amazon Redshift JDBC URL に iam: を追加します。

    jdbc:redshift:iam://

    cluster-nameregion、および 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
  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 アクションをプログラムで呼び出す場合、これらのオプションは含めないでください。詳細については、「IAM 認証情報を使用するように JDBC または ODBC 接続を設定する」を参照してください。

    次の例では JDBC GetClusterCredentials オプションを含めています。

    jdbc:redshift:iam://examplecluster:us-west-2/dev?Profile=user2&DbUser=newuser&AutoCreate=true&DbGroups=group1,group2

IAM 認証情報を使用するように ODBC 接続を設定するには

このトピックでは、IAM 認証を設定するステップのみを示します。データベースユーザー名とパスワードを使用して標準認証を使用するステップについては、「ODBC 接続を設定する」を参照してください。

  1. 1.オペレーティングシステム用の最新の Amazon Redshift OBDC ドライバーをインストールおよび設定します。詳細については、「ODBC 接続を設定する」ページを参照してください。

    重要

    Amazon Redshift ODBC ドライバーはバージョン 1.3.6.1000 以降である必要があります。

  2. 接続設定に関するオペレーティングシステムのステップに従います。

    詳細については、次のトピックのいずれかを参照してください。

  3. Microsoft Windows オペレーティングシステムでは、Amazon Redshift ODBC ドライバーの DSN 設定ウィンドウにアクセスします。

    1. [接続設定] で以下の情報を入力します。

      • [Data Source Name (データソース名)]

      • [サーバー] (オプション)

      • [ポート] (オプション)

      • [データベース]

      IAM ユーザーまたはロールに redshift:DescribeClusters アクションを呼び出すアクセス許可がある場合、[Data Source Name (データソース名)] および [データベース] のみが必要です。Amazon Redshift は [ClusterId] および [リージョン] を使用し、DescribeCluster アクションを呼び出してサーバーとポートを取得します。

      IAM ユーザーまたはロールには、redshift:DescribeClusters を呼び出し、[Server (サーバー)] および [Port (ポート)] を指定するアクセス許可はありません。デフォルトのポート番号は 5439 です。

    2. [Authentication (認証)] で、[Auth Type (認証タイプ)] を選択します。

      各認証タイプについて、次に示すように特定のフィールドが表示されます。

      AWS プロファイル

      次の情報を入力します。

      • [ClusterID]

      • [リージョン]

      必要に応じて、GetClusterCredentials API アクションを呼び出すために ODBC ドライバーが使用するオプションの詳細を指定します。

      • [DbUser]

      • [User AutoCreate (ユーザー AutoCreate)]

      • [DbGroups]

      詳細については、「データベースユーザー認証情報を作成するための JDBC および ODBC のオプション」を参照してください。

      • [Profile name (プロファイル名)]

        ODBC 接続オプションの値を含む AWS Config ファイルのプロファイル名を入力します。詳細については、「設定プロファイルを使用する」を参照してください。

      AWS IAM Credentials

      次の情報を入力します。

      • [ClusterID]

      • [リージョン]

      GetClusterCredentials API アクションを呼び出すために ODBC ドライバーが使用するオプションの詳細を指定します。

      • [DbUser] (必須)

      • [User AutoCreate (ユーザー AutoCreate)] (オプション)

      • [DbGroups] (オプション)

      詳細については、「データベースユーザー認証情報を作成するための JDBC および ODBC のオプション」を参照してください。

      • [AccessKeyID] および [SecretAccessKey]

        IAM データベース認証用に設定された IAM ロールまたは IAM ユーザーのアクセスキー ID およびシークレットアクセスキー。

      • [SessionToken]

        [SessionToken] は、一時的認証情報を持つ IAM ロールに必要です。詳細については、 Temporary Security Credentials を参照してください。

      Identity Provider: AD FS

      AD FS を使用した Windows 統合認証の場合、[User (ユーザー)] および [Password (パスワード)] は空白にしておきます。

      必要に応じて、GetClusterCredentials API アクションを呼び出すために ODBC ドライバーが使用するオプションの詳細を指定します。

      • [DbUser]

      • [User AutoCreate (ユーザー AutoCreate)]

      • [DbGroups]

      詳細については、「データベースユーザー認証情報を作成するための JDBC および ODBC のオプション」を参照してください。

      IdP の詳細を指定します。

      • [IdP Host (IdP ホスト)]

        企業 ID プロバイダホストの名前。この名前には、スラッシュ (/) を含めないでください。

      • [IdP Port (IdP ポート)] (オプション)

        ID プロバイダが使用するポート。デフォルトは 443 です。

      • [Preferred Role (優先ロール)]

        SAML アサーションの Role 属性の AttributeValue 要素からのロールの Amazon リソースネーム (ARN)。IdP 管理者と連携して、目的のロールに適した値を見つけます。詳細については、「IdP の SAML アサーションを設定する」を参照してください。

      ID プロバイダー: PingFederate

      [User (ユーザー)] と [Password (パスワード)] に、IdP のユーザー名とパスワードを入力します。

      必要に応じて、GetClusterCredentials API アクションを呼び出すために ODBC ドライバーが使用するオプションの詳細を指定します。

      • [DbUser]

      • [User AutoCreate (ユーザー AutoCreate)]

      • [DbGroups]

      詳細については、「データベースユーザー認証情報を作成するための JDBC および ODBC のオプション」を参照してください。

      IdP の詳細を指定します。

      • [IdP Host (IdP ホスト)]

        企業 ID プロバイダホストの名前。この名前には、スラッシュ (/) を含めないでください。

      • [IdP Port (IdP ポート)] (オプション)

        ID プロバイダが使用するポート。デフォルトは 443 です。

      • [Preferred Role (優先ロール)]

        SAML アサーションの Role 属性の AttributeValue 要素からのロールの Amazon リソースネーム (ARN)。IdP 管理者と連携して、目的のロールに適した値を見つけます。詳細については、「IdP の SAML アサーションを設定する」を参照してください。

      ウェブ ID プロバイダー: Okta

      [User (ユーザー)] と [Password (パスワード)] に、IdP のユーザー名とパスワードを入力します。

      必要に応じて、GetClusterCredentials API アクションを呼び出すために ODBC ドライバーが使用するオプションの詳細を指定します。

      • [DbUser]

      • [User AutoCreate (ユーザー AutoCreate)]

      • [DbGroups]

      詳細については、「データベースユーザー認証情報を作成するための JDBC および ODBC のオプション」を参照してください。

      IdP の詳細を指定します。

      • [IdP Host (IdP ホスト)]

        企業 ID プロバイダホストの名前。この名前には、スラッシュ (/) を含めないでください。

      • [IdP Port (IdP ポート)]

        IdP ポートは Okta では使用されません。

      • [Preferred Role (優先ロール)]

        SAML アサーションの Role 属性の AttributeValue 要素からのロールの Amazon リソースネーム (ARN)。IdP 管理者と連携して、目的のロールに適した値を見つけます。詳細については、「IdP の SAML アサーションを設定する」を参照してください。

      • [Okta App ID (Okta アプリケーション ID)]

        Okta アプリケーションの ID。アプリ ID の値は、Okta アプリケーションの埋め込みリンクの「amazon_aws」に続きます。IdP 管理者と連携して、この値を取得します。以下に、アプリケーション埋め込みリンクの例を示します。

        https://example.okta.com/home/amazon_aws/0oa2hylwrpM8UGehd1t7/272