

 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/)を参照してください。

# IAM ロールへのアクセスの制限
<a name="authorizing-redshift-service-database-users"></a>

デフォルトでは、Amazon Redshift クラスターに使用できる IAM ロールはそのクラスターですべてのユーザーが利用できます。特定のクラスターの特定の Amazon Redshift データベースユーザーまたは特定のリージョンに IAM ロールを制限することもできます。

IAM ロールの使用を特定のデータベースユーザーのみに許可するには、次の手順に従います。<a name="identify-db-users-for-iam-role"></a>

**IAM ロールへのアクセス権を持つ特定のデータベースユーザーを特定する**

1. Amazon Redshift クラスターでデータベースユーザーの Amazon リソースネーム (ARN) を特定します。データベースユーザーの ARN は形式: `arn:aws:redshift:region:account-id:dbuser:cluster-name/user-name`になります。

   Amazon Redshift Serverless の場合は、次の ARN 形式を使用します。`arn:aws:redshift:region:account-id:dbuser:serverless-account-id-workgroup-id/user-name`

1. [IAM コンソール](https://console.aws.amazon.com/iam/home?#home)を開きます。

1. ナビゲーションペインで **[ロール]** を選択します。

1. 特定の Amazon Redshift データベースユーザーに制限する IAM ロールを選択します。

1. **信頼関係** タブを選択し、 **信頼関係の編集**を選択します。ユーザーに代わって Amazon Redshift が他の AWS サービスにアクセスすることを許可する新しい IAM ロールには、次のような信頼関係があります。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "redshift.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. 指定した値に `sts:AssumeRole` フィールドを制限する信頼関係のセクションの `sts:ExternalId` アクションに条件を追加します。ロールへのアクセスを許可する各データベースユーザーの ARN を含めます。外部 ID には、任意の一意の文字列を指定できます。

   たとえば、次の信頼関係では、 `user1` リージョンの `user2` クラスターで `my-cluster` と `us-west-2` データベースユーザーのみがこの IAM ロールを使用するアクセス許可を持つよう指定されます。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
     {
       "Effect": "Allow",
       "Principal": { 
         "Service": "redshift.amazonaws.com" 
       },
       "Action": "sts:AssumeRole",
       "Condition": {
         "StringEquals": {
           "sts:ExternalId": [
             "arn:aws:redshift:us-west-2:123456789012:dbuser:my-cluster/user1",
             "arn:aws:redshift:us-west-2:123456789012:dbuser:my-cluster/user2"
           ]
         }
       }
     }]
   }
   ```

------

1. **信頼ポリシーの更新**を選択します。