ステップ 5: IAM 認証情報を使用するように JDBC または ODBC 接続を設定する
Amazon Redshift JDBC または ODBC ドライバーを使用して SQL クライアントを設定できます。このドライバーは、データベースユーザーの認証情報を作成し、SQL クライアントと Amazon Redshift データベース間の接続を確立するプロセスを管理します。
認証に アイデンティティプロバイダーを使用する場合は、認証情報プロバイダープラグインの名前を指定します。Amazon Redshift JDBC および ODBC ドライバーには、次の SAML ベースの認証情報プロバイダーのプラグインが含まれます。
-
Active Directory フェデレーションサービス (AD FS)
-
PingOne
-
Okta
-
Azure Client ID
アイデンティティプロバイダーとして Microsoft Azure AD をセットアップする手順については、Microsoft Azure AD を使用した JDBC または ODBC シングルサインオン認証の設定を参照してください。
IAM 認証情報を使用するように JDBC 接続を設定するには
-
「Amazon Redshift での JDBC ドライバーのバージョン 2.1 による接続の構成」ページから最新の Amazon Redshift JDBC ドライバーをダウンロードします。
-
次のいずれかの形式で IAM 認証情報オプションを使用して JDBC URL を作成します。IAM 認証を使用するには、次の例に示すように、
jdbc:redshift:
に続いて Amazon Redshift JDBC URL にiam:
を追加します。jdbc:redshift:iam://
cluster-name
、region
、およびaccount-id
を追加します。JDBC ドライバーでは IAM アカウント情報とクラスター名を使用することで、クラスター IDおよび AWS リージョンを取得できます。そのためには、ユーザーまたはロールには、指定したクラスターでredshift:DescribeClusters
オペレーションを呼び出すアクセス許可が必要です。ユーザーまたはロールにredshift:DescribeClusters
オペレーションを呼び出すアクセス許可がない場合は、次の例に示すように、クラスター ID、AWS リージョン、およびポートを含めます。ポート番号はオプションです。jdbc:redshift:iam://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev
-
JDBC オプションを追加して IAM 認証情報を提供します。さまざまな組み合わせの JDBC オプションを使用して、IAM 認証情報を提供できます。詳細については、「データベースユーザー認証情報を作成するための JDBC および ODBC のオプション」を参照してください。
次の URL は、ユーザーの 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
-
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 接続の設定を参照してください。
-
オペレーティングシステム用の最新の Amazon Redshift OBDC ドライバーをインストールおよび設定します。詳細については、ODBC 接続の設定 ページを参照してください。
重要
Amazon Redshift ODBC ドライバーはバージョン 1.3.6.1000 以降である必要があります。
-
接続設定に関するオペレーティングシステムのステップに従います。
詳細については、以下のいずれかを参照してください。
-
Microsoft Windows オペレーティングシステムでは、Amazon Redshift ODBC ドライバーの DSN 設定ウィンドウにアクセスします。
-
接続設定で以下の情報を入力します。
-
データソース名
-
サーバー (オプション)
-
ポート (オプション)
-
データベース
ユーザーまたはロールに
redshift:DescribeClusters
オペレーションを呼び出すアクセス許可がある場合は、データソース名とデータベースのみが必要です。Amazon Redshift は ClusterId と リージョン を使用して、DescribeCluster
オペレーションを呼び出すことでサーバーとポートを取得します。ユーザーまたはロールに
redshift:DescribeClusters
オペレーションを呼び出すアクセス許可がない場合は、サーバーとポートを指定します。 -
-
Authentication (認証)で、Auth Type (認証タイプ)の値を選択します。
認証タイプごとに、次のように値を入力します。
- AWS プロファイル
-
次の情報を入力します。
-
[ClusterID]
-
リージョン
-
プロファイル名
ODBC 接続オプションの値を含む AWS 設定ファイルのプロファイル名を入力します。詳細については、「設定プロファイルを使用する」を参照してください。
(任意)
GetClusterCredentials
API オペレーションの呼び出すために ODBC ドライバーが使用するオプションの詳細を指定します。-
[DbUser]
-
User AutoCreate
-
[DbGroups]
詳細については、「データベースユーザー認証情報を作成するための JDBC および ODBC のオプション」を参照してください。
-
- IAM 認証情報
-
次の情報を入力します。
-
[ClusterID]
-
リージョン
-
AccessKeyID と SecretAccessKey
IAM データベース認証用に設定された IAM ロールまたはユーザーのアクセスキー ID とシークレットアクセスキー。
-
[SessionToken]
SessionToken は、一時的認証情報を持つ IAM ロールに必要です。詳細については Temporary Security Credentialsを参照してください。
GetClusterCredentials
API オペレーションを呼び出すために ODBC ドライバーが使用するオプションの詳細を指定します。-
DbUser (必須)
-
User AutoCreate (オプション)
-
DbGroups (オプション)
詳細については、「データベースユーザー認証情報を作成するための JDBC および 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 のオプション」を参照してください。
-
-