Amazon Redshift
クラスター管理ガイド (API バージョン 2012年12月1日)

ステップ 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. [Connection Settings] で以下の情報を入力します。

      • データソース名

      • [Server] (オプション)

      • [Port] (オプション)

      • データベース

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

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

    2. [Authentication] で、[Auth Type] を選択します。

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

      AWS プロファイル

      次の情報を入力します。

      • ClusterID

      • リージョン

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

      • DbUser

      • User AutoCreate

      • DbGroups

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

      • Profile name

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

      AWS IAM Credentials

      次の情報を入力します。

      • ClusterID

      • リージョン

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

      • DbUser (必須)

      • User 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

      • DbGroups

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

      IdP の詳細を指定します。

      • IdP Host

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

      • IdP Port (オプション)

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

      • Preferred Role

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

      ID プロバイダ: PingFederate

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

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

      • DbUser

      • User AutoCreate

      • DbGroups

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

      IdP の詳細を指定します。

      • IdP Host

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

      • IdP Port (オプション)

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

      • Preferred Role

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

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

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

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

      • DbUser

      • User AutoCreate

      • DbGroups

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

      IdP の詳細を指定します。

      • IdP Host

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

      • IdP Port

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

      • 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