Redshiftの接続情報
  • 22 Apr 2022
  • 1 分で読み終わります
  • ダーク
    ライト

Redshiftの接続情報

  • ダーク
    ライト

概要

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>

この記事は役に立ちましたか?