クエリをスケジュールするアクセス許可の設定
クエリをスケジュールするには、スケジュールを定義する AWS Identity and Access Management (IAM) ユーザーとスケジュールに関連付けられている IAM ロールが Amazon EventBridge と Amazon Redshift Data API を使用する IAM アクセス許可で設定されている必要があります。スケジュールされたクエリから E メールを受信するには、オプションで指定する Amazon SNS 通知も設定する必要があります。
以下では、AWS マネージドポリシーを使用してアクセス許可を付与するタスクについて説明しますが、環境によっては、許可されるアクセス許可の範囲の絞り込みが必要な場合があります。
クエリエディタ v2 にログインしている IAM ユーザーの場合は、IAM コンソール (https://console.aws.amazon.com/iam/
-
Amazon Redshift とクエリエディタ v2 のオペレーションを実行するアクセス許可に加えて、IAM ユーザーに
AmazonEventBridgeFullAccess
およびAmazonRedshiftDataFullAccess
AWS マネージドポリシーをアタッチします。 -
または、ロールにアクセス許可を割り当て、そのロールをユーザーに割り当てます。
スケジュールされたクエリを定義するときに指定する IAM ロールのリソース ARN に
sts:AssumeRole
アクセス許可を与えるポリシーをアタッチします。ロールの引き受けについての詳細は、IAM ユーザーガイドの「ロールを切り替えるアクセス許可をユーザーに付与する」を参照してください。次の例では、アカウント
123456789012
で IAM ロールmyRedshiftRole
を引き受けるアクセス許可ポリシーを示します。IAM ロールmyRedshiftRole
は、スケジュールされたクエリを実行するクラスターまたはワークグループにアタッチする IAM ロールでもあります。{ "Version": "2012-10-17", "Statement": [ { "Sid": "AssumeIAMRole", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": [ "arn:aws:iam::
123456789012
:role/myRedshiftRole
" ] } ] }クエリのスケジュールに使用する IAM ロールの信頼ポリシーを更新して、IAM ユーザーがロールを引き受けられるようにします。
{ "Sid": "AssumeRole", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:user/myIAMusername
" }, "Action": "sts:AssumeRole" } ] }
スケジュールされたクエリの実行を許可するように指定した IAM ロールについては、IAM コンソール (https://console.aws.amazon.com/iam/
-
AmazonRedshiftDataFullAccess
およびAmazonEventBridgeFullAccess
AWS マネージドポリシーを IAM ロールにアタッチします。AmazonRedshiftDataFullAccess
マネージドポリシーは、キーRedshiftDataFullAccess
でタグ付けされた Redshift Serverless ワークグループに対してのみredshift-serverless:GetCredentials
アクセス許可を付与します。