Amazon Redshiftの接続情報
  • 15 Nov 2023
  • ダーク
    ライト
  • PDF

Amazon Redshiftの接続情報

  • ダーク
    ライト
  • PDF

Article Summary

概要

Amazon Redshiftの接続情報を設定する際のヘルプページとなります。

転送元に用いる接続情報に必要な権限

下記の権限を有するユーザーを作成する必要があります。

  • 転送元スキーマにおけるSELECT TABLE権限

ユーザーに最低限の権限を付与するには、以下のSQLコマンドを参考にしてください。

ALTER DEFAULT PRIVILEGES FOR USER <your_db_user_name> IN SCHEMA <your_destination_schema>
GRANT
  SELECT
ON TABLES TO <your_db_user_name>;
GRANT USAGE ON SCHEMA <your_destination_schema> TO <your_db_user_name>

転送先に用いる接続情報に必要な権限

troccoではAmazon Redshiftへのデータ転送を高速に行うため、まずAmazon S3にデータを一時保存し、その後COPYコマンドでAmazon Redshiftにデータをバルクロードします。
上記転送プロセスを経るため、転送先Amazon Redshiftに用いる接続情報には、Amazon S3・Amazon Redshiftの両方に権限設定を行う必要があります。

Amazon S3に関する権限設定(IAMユーザーの作成)

Amazon Redshiftへのデータ転送でデータを一時的にAmazon S3に保存する場合があります。
その際に、IAM Userの認証情報を使用します。
以下の権限を持つIAM Userを作成し、AWS Credentialsを入力してください。

最低限の権限を付与するには、以下のポリシーを参考にしてください。

{
     "Version": "2012-10-17",
     "Statement": [
         {
            "Sid": "S3Permissions",
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:DeleteObject",
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListAllMyBuckets",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::<YOUR_DESTINATION_BUCKET_NAME>",
                "arn:aws:s3:::<YOUR_DESTINATION_BUCKET_NAME>/*"
           ]
        },
        {
            "Sid": "STSPermissions",
            "Effect": "Allow",
            "Action": [
                "sts:GetFederationToken"
            ],
            "Resource": "*"
        }
    ]
}

Amazon 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>

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