Redshiftの接続情報
- 22 Apr 2022
- 1 分で読み終わります
-
印刷
-
ダークライト
Redshiftの接続情報
- 更新日 22 Apr 2022
- 1 分で読み終わります
-
印刷
-
ダークライト
概要
Redshiftの接続情報を設定する際のヘルプページとなります。
troccoではRedshiftへのデータ転送を高速に行うため、S3にデータを保存した上で、COPYコマンドでRedshiftにバルクロードを行います。
そのためRedshiftの接続情報ではS3とRedshiftの2つに対して権限設定等を行う必要があります。
IAMユーザー作成
Redshiftへのデータ転送でデータを一時的にS3に保存する場合があります。
その際IAM Userの認証情報を使用しますので、以下権限を持つIAM Userを作成し、AWS Credentialsを入力して下さい。
- s3:GetObject
- s3:PutObject
- s3:DeleteObject
- s3:ListBucket
- sts:GetFederationToken
- s3:GetBucketLocation(リージョンが異なるバケットを利用する場合)
最低限の権限を付与するには、以下のポリシーを参考にしてください。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucketMultipartUploads",
"s3:AbortMultipartUpload",
"sts:GetFederationToken",
"s3:ListBucket",
"s3:DeleteObject",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::<YOUR_DESTINATION_BUCKET_NAME>",
"arn:aws:s3:::<YOUR_DESTINATION_BUCKET_NAME>/*",
"arn:aws:sts::<YOUR_AWS_ACCOUNT_ID>:federated-user/<YOUR_IAM_USER_NAME>"
]
}
]
}
Redshiftユーザー作成・権限設定
下記の権限を有するユーザーを作成する必要があります。
- 転送先スキーマにおけるCREATE/DROP TABLE権限
- 転送先スキーマにおけるCOPYコマンド実行権限
ユーザーに最低限の権限を付与するには、以下のSQLコマンドを参考にしてください。
ALTER DEFAULT PRIVILEGES FOR USER <your_db_user_name> IN SCHEMA <your_destination_schema>
GRANT
SELECT,
INSERT,
DELETE
ON TABLES TO <your_db_user_name>;
GRANT USAGE ON SCHEMA <your_destination_schema> TO <your_db_user_name>
この記事は役に立ちましたか?