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

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

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

認証に アイデンティティプロバイダーを使用する場合は、認証情報プロバイダープラグインの名前を指定します。Amazon Redshift JDBC および ODBC ドライバーには、次の SAML ベースの認証情報プロバイダーのプラグインが含まれます。

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

  1. Amazon Redshift での JDBC ドライバーのバージョン 2.1 による接続の構成」ページから最新の Amazon Redshift JDBC ドライバーをダウンロードします。

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

    jdbc:redshift:iam://

    cluster-nameregion、および account-id を追加します。JDBC ドライバーでは IAM アカウント情報とクラスター名を使用することで、クラスター IDおよび AWS リージョンを取得できます。そのためには、IAM ユーザーまたはロールには、指定したクラスターで redshift:DescribeClusters オペレーションを呼び出すアクセス許可が必要です。IAM ユーザーまたはロールで、redshift:DescribeClusters オペレーションを呼び出すアクセス許可がない場合は、次の例に示すように、クラスター ID、AWS リージョン、およびポートを含めます。ポート番号はオプションです。デフォルトのポート番号は 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 オペレーションをプログラムで呼び出す場合、これらのオプションは含めないでください。

    次の例では 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

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

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

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

    重要

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

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

    詳細については、以下のいずれかを参照してください。

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

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

      • データソース名

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

      • ポート (オプション)

      • データベース

      IAM ユーザーまたはロールに redshift:DescribeClusters オペレーションを呼び出す権限がある場合、必要なのは データソース名データベース のみです。Amazon Redshift は ClusterIdリージョン を使用して、DescribeCluster オペレーションを呼び出すことでサーバーとポートを取得します。

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

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

      認証タイプごとに、次のように値を入力します。

      AWS プロファイル

      次の情報を入力します。

      • [ClusterID]

      • [Region] (リージョン)

      • プロファイル名

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

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

      IAM 認証情報

      次の情報を入力します。

      • [ClusterID]

      • [Region] (リージョン)

      • AccessKeyIDSecretAccessKey

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

      • [SessionToken]

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

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

      アイデンティティプロバイダ : AD FS

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

      IdP の詳細を指定します。

      • IdP Host

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

      • IdP Port (任意)

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

      • 優先ロール

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

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

      • [DbUser]

      • User AutoCreate

      • [DbGroups]

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

      ID プロバイダー : PingFederate

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

      IdP の詳細を指定します。

      • IdP Host

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

      • IdP Port (任意)

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

      • 優先ロール

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

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

      • [DbUser]

      • User AutoCreate

      • [DbGroups]

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

      アイデンティティプロバイダー : Okta

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

      IdP の詳細を指定します。

      • IdP Host

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

      • IdP Port

        この値は Okta では使用されません。

      • 優先ロール

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

      • Okta App ID

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

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

      • [DbUser]

      • User AutoCreate

      • [DbGroups]

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

      アイデンティティプロバイダー : Azure AD

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

      クラスター IDリージョンにクラスター ID と Amazon Redshift クラスターの AWS リージョンを入力します。

      データベースに、Amazon Redshift クラスター用に作成したデータベースを入力します。

      IdP の詳細を指定します。

      • IdP Tenant

        Azure AD に使用されるテナント。

      • Azure Client Secret

        Azure の Amazon Redshift エンタープライズアプリのクライアントシークレット。

      • Azure Client ID

        Azure の Amazon Redshift エンタープライズアプリケーションのクライアント ID (アプリケーション ID)。

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

      • [DbUser]

      • User AutoCreate

      • [DbGroups]

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