Amazon Redshiftコネクタの管理
ユーザーがAmazon Redshiftコネクタを使用するには、成功ファイルおよびエラーファイルが格納されたSecure Agentディレクトリに対するアクセス権がユーザーに与えられていることを組織の管理者が確認する必要があります。このディレクトリパスは、各Secure Agentマシンのランタイム環境で同じである必要があります。組織の管理者は次のタスクを実行する必要もあります。
- •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の設定
Amazon RedshiftへのSSL接続をサポートするようにSecure Agentを設定できます。
2次のコマンドを実行してキーストアに証明書ファイルを追加します。${JAVA_HOME}/bin/keytool –keystore {JAVA_HOME}/lib/security/cacerts -import -alias <string_value> -file <certificate_filepath>
3管理者で、[ランタイム環境]を選択します。
4利用可能なSecure Agentのリストからメモリを増加するSecure Agentを選択します。
5右上隅の[編集]をクリックします。
6[システム構成の詳細]セクションで、[タイプ]を[DTM]に変更します。
7[JVMOption1]の横にある[エージェント設定の編集]アイコンをクリックし、次のコマンドを入力します。- Djavax.net.ssl.trustStore=<keystore_name>
8[JVMOption2]の横にある[エージェント設定の編集]アイコンをクリックし、次のコマンドを追加します。- Djavax.net.ssl.trustStorePassword=<password>
9Amazon Redshift接続のプロパティで指定したJDBC URLに次のパラメータを追加します。ssl=true。例: jdbc:redshift://mycluster.xyz789.us-west- 2.redshift.amazonaws.com:5439/dev?ssl=true
10[OK]をクリックして変更を保存します。
最小の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システムにをインストールします。