Amazon Redshiftコネクタの管理
ユーザーがAmazon Redshiftコネクタを使用するには、成功ファイルおよびエラーファイルが格納されたSecure Agentディレクトリに対するアクセス権がユーザーに与えられていることを組織の管理者が確認する必要があります。このディレクトリパスは、各Secure Agentマシンのランタイム環境で同じである必要があります。組織の管理者は次のタスクを実行する必要もあります。
- •ランタイム環境用のコネクタを有効にしてください。コネクタの有効化の詳細については、Administratorのヘルプの「サービスおよびコネクタの割り当て」を参照してください。
- •Amazon Redshift JDBC URLを取得します。
- •認証を管理します。次の2つの方法のいずれかを使用します。
- - アクセスキーIDとシークレットアクセスキーを作成する。
Amazon Redshift接続を設定する際に、そのアクセスキーIDとシークレットアクセスキーの値を指定します。アクセスキーIDとシークレットアクセスキーの作成の詳細については、AWSのマニュアルを参照してください。
- - AWS Identity and Access Management(IAM)認証を設定してセキュリティを強化する。
IAM認証を使用する場合は、アクセスキーIDとシークレットアクセスキーをAmazon Redshift接続で明示的に指定しないでください。代わりに、RedshiftロールのAmazonリソース名(ARN)を作成し、最小のAmazon IAMポリシーをRedshiftロールのARNに追加して、RedshiftロールのARNをRedshiftクラスタに追加する必要があります。
タスクを作成する場合、UNLOADコマンドとCOPYコマンドのAWS_IAM_ROLEオプションにRedshiftロールのARNを指定します。
接続プロパティのアクセスキーIDとシークレットアクセスキーおよびUNLOADコマンドとCOPYコマンドのAWS_IAM_ROLEの両方を指定した場合は、AWS_IAM_ROLEが優先されます。
顧客マスタキーを使用したIAM認証とサーバーサイド暗号化を使用する場合は、IAM EC2ロールとIAM Redshiftロールを顧客マスタキーに追加する必要があります。
Hosted AgentはIAM認証をサポートしていません。Amazon RedshiftコネクタのIAM認証を設定する方法については、
IAM認証を参照してください。
- •SSL接続をサポートする場合は、Amazon RedshiftをSSL用に設定します。
- •クライアントサイド暗号化を有効にする場合は、マスタ対称キーを作成します。
- •サーバー側の暗号化を有効にする場合は、AWS Key Management Service(AWS KMS)で管理された顧客マスタキーを作成します。
- •Amazon Redshiftコネクタ用に最小のAmazon IAMポリシーを作成します。
- • ローカルステージング領域で更新/挿入、更新、または削除の操作のための一時テーブルを作成するときに、次の形式で一時テーブルを作成する必要があります。
RecordName + "_" + time-stamp + ProcessID + PartitionId
注: デフォルトでは、PUBLICグループのメンバーシップを所有していると一時テーブルを作成する権限があります。権限を拒否するには、PUBLICグループからTEMP権限を取り消し、TEMP権限を特定の個人またはグループの個人に許可します。
SSL用のAmazon Redshiftの設定
SSLを使用してAmazon Redshiftに接続するには、Secure AgentをSSL用に設定し、Amazon Redshift接続プロパティでJDBC URLを介してSSLを有効にする必要があります。
1Amazon RedshiftのSSL証明書をダウンロードします。
2証明書ファイルをキーストアに追加するには、コマンドプロンプトで以下のコマンドを実行します。
${JAVA_HOME}/bin/keytool –keystore {JAVA_HOME}/lib/security/cacerts -import -alias <alias_name> -file <certificate_filepath>
プロンプトが表示されたら、キーストアのパスワードを入力します。
3IDMCアカウントにログインします。
4管理者で、[ランタイム環境]をクリックします。
5Secure Agentを選択し、[アクション]メニューで[Secure Agentの編集] をクリックします。
6[システム構成の詳細]セクションで、次のプロパティを設定します。
- a[サービス]として [データ統合サーバー]を選択します。
- b[タイプ]として[DTM]を選択します。
- c[JVMOption1]の横にある[エージェント設定の編集]アイコンをクリックし、次の値を入力します。
-Djavax.net.ssl.trustStore=<trustore_path>
- d[JVMOption2]の横にある[エージェント設定の編集]アイコンをクリックし、次のコマンドを追加します。
-Djavax.net.ssl.trustStorePassword=<password>
パスワードとしては、手順2で証明書をインポートするときに使用したのと同じものを指定します。
7[保存]をクリックします。
8管理者で、[接続]をクリックします。
9Amazon Redshift接続を編集し、JDBC URLに次のパラメータを追加します: ssl=true。
例: jdbc:redshift://mycluster.xyz789.us-west- 2.redshift.amazonaws.com:5439/dev?ssl=true
10[保存]をクリックします。
最小のAmazon IAMポリシーの作成
Amazon IAMポリシーを作成して、Amazon Redshiftとの間でデータの読み取りと書き込みを行う際にAmazon S3でデータのステージングを実行するために必要なアクセス権限を定義します。
Amazon S3でデータのステージングを実行するには、次の必要な最小の権限を使用します。
- •PutObject
- •GetObject
- •DeleteObject
- •ListBucket
- •GetBucketPolicy
次のサンプルAmazon IAMポリシーを使用できます。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:ListBucket",
"s3:GetBucketPolicy"
],
"Resource": [
"arn:aws:s3:::<bucket_name>/*",
"arn:aws:s3:::<bucket_name>"
]
}
]
}
セッションを正常に実行するには、Amazon S3バケットとAmazon Redshiftクラスタが同じ地域内にあることを確認する必要があります。
サポートされている地域は次のとおりです。
- •アジアパシフィック(ムンバイ)
- •アジアパシフィック(ソウル)
- •アジアパシフィック(シンガポール)
- •アジアパシフィック(シドニー)
- •アジアパシフィック(東京)
- •AWS GovCloud
- •カナダ(中部)
- •中国(北京)
- •欧州(アイルランド)
- •欧州(フランクフルト)
- •南米(サンパウロ)
- •米国東部(バージニア北部)
- •米国東部(オハイオ)
- •米国西部(北カリフォルニア)
- •米国西部(オレゴン)
IAM認証
オプション。Amazon Elastic Compute Cloud(EC2)システムに場合、IAM認証を設定できます。次を実行するときに、Amazon Redshiftリソースへのアクセスを安全に制御するためにIAM認証を使用します。
EC2システムにを実行する場合に、IAM認証を使用します。IAM認証を設定するには、次の手順を実行します。
- 1最小のAmazon IAMポリシーを作成します。詳細については、最小のAmazon IAMポリシーの作成を参照してください。
- 2Amazon EC2ロールを作成します。EC2ロールの作成中に、最小のAmazon IAMポリシーを関連付けます。Amazon EC2ロールは、RedshiftクラスタでEC2システムを作成する場合に使用されます。Amazon EC2ロールの作成の詳細については、AWSのマニュアルを参照してください。
- 3EC2インスタンスを作成します。手順2で作成したAmazon EC2ロールをEC2インスタンスに割り当てます。
- 4Amazon Redshiftリソースへの安全なアクセスのために、Amazon RedshiftロールのARNを作成します。Amazon Redshiftロールの作成中に、最小のAmazon IAMポリシーを関連付けます。UNLOADとCOPYコマンドでAmazon RedshiftロールのARNを使用できます。Amazon RedshiftロールのARNの作成の詳細については、AWSのマニュアルを参照してください。
- 5読み取り操作および書き込み操作を正常に実行するために、Amazon RedshiftロールのARNをAmazon Redshiftクラスタに追加します。Amazon RedshiftクラスタへのAmazon RedshiftロールのARNの追加の詳細については、AWSのマニュアルを参照してください。
- 6EC2システムにをインストールします。