

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# クエリをスケジュールするアクセス許可の設定
<a name="query-editor-v2-schedule-query-permissions"></a>

クエリをスケジュールするには、スケジュールを定義する 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/](https://console.aws.amazon.com/iam/)) を使用して IAM ユーザーを編集します。
+ Amazon Redshift とクエリエディタ v2 のオペレーションを実行するアクセス許可に加えて、IAM ユーザーに `AmazonEventBridgeFullAccess` および `AmazonRedshiftDataFullAccess` AWS マネージドポリシーをアタッチします。
+ または、ロールにアクセス許可を割り当て、そのロールをユーザーに割り当てます。

  スケジュールされたクエリを定義するときに指定する IAM ロールのリソース ARN に `sts:AssumeRole` アクセス許可を与えるポリシーをアタッチします。ロールの引き受けについての詳細は、*IAM ユーザーガイド*の「[ロールを切り替えるアクセス許可をユーザーに付与する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_permissions-to-switch.html)」を参照してください。

  次の例では、アカウント `123456789012` で IAM ロール `myRedshiftRole` を引き受けるアクセス許可ポリシーを示します。IAM ロール `myRedshiftRole` は、スケジュールされたクエリを実行するクラスターまたはワークグループにアタッチする IAM ロールでもあります。

------
#### [ JSON ]

****  

  ```
  {
      "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/](https://console.aws.amazon.com/iam/)) を使用して IAM ロールを編集します。
+ `AmazonRedshiftDataFullAccess` および `AmazonEventBridgeFullAccess` AWS マネージドポリシーを IAM ロールにアタッチします。`AmazonRedshiftDataFullAccess` マネージドポリシーは、キー `RedshiftDataFullAccess` でタグ付けされた Redshift Serverless ワークグループに対してのみ `redshift-serverless:GetCredentials` アクセス許可を付与します。