

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

# Amazon Redshift Serverless へのアクセス許可の付与
<a name="serverless-security-other-services"></a>

Amazon Redshift Serverless が、他の AWS サービスにアクセスする際には、そのためのアクセス許可が必要です。一部の Amazon Redshift 機能では、ユーザーに代わって Amazon Redshift が他の AWS のサービスにアクセスする必要があります。Amazon Redshift Serverless インスタンスを、ユーザーに代わって動作させるためには、それに対してセキュリティ認証情報を指定します。セキュリティ認証情報を指定する望ましい方法は、AWS Identity and Access Management(IAM) ロールを指定することです。あるいは、Amazon Redshift コンソールから IAM ロールを作成し、デフォルトとして設定することもできます。詳細については、「[Amazon Redshift 用にデフォルトの IAM ロールを作成する](#serverless-default-iam-role)」を参照してください。

他の AWS サービスにアクセスするためには、適切なアクセス許可を持つ IAM ロールを作成します。また、この作成したロールを、Amazon Redshift Serverless と関連付ける必要もあります。さらに、Amazon Redshift コマンドの実行時にロールの Amazon リソースネーム (ARN) を指定するか、`default`キーワードを指定します。

IAM ロールの信頼関係を [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で変更する場合は、`redshift-serverless.amazonaws.com` と `redshift.amazonaws.com` がプリンシパルサービス名として含まれていることを確認します。ユーザーに代わって他の AWS サービスにアクセスするための IAM ロールの管理については、「[ユーザーに代わって Amazon Redshift が他の AWS のサービスにアクセスすることを許可する](authorizing-redshift-service.md)」を参照してください。

## Amazon Redshift 用にデフォルトの IAM ロールを作成する
<a name="serverless-default-iam-role"></a>

Amazon Redshift コンソールから IAM ロールを作成する場合、Amazon Redshift は AWS アカウント 内でロールをプログラム的に作成します。さらに Amazon Redshift では、作成したロールに対し、既存の AWS 管理ポリシーを自動的にアタッチします。このアプローチにより、ロール作成のために IAM コンソールに切り替える必要はなくなり、作業を Amazon Redshift コンソール内で完了できます。

クラスター用としてコンソールから作成する IAM ロールには、`AmazonRedshiftAllCommandsFullAccess` マネージドのポリシーが自動的にアタッチされます。この IAM ロールにより Amazon Redshift は、IAM アカウントにある AWS リソースにおいて、データのコピー、解放、クエリ、および分析を行えるようになります。これに関連するコマンドとしては、COPY、UNLOAD、CREATE EXTERNAL FUNCTION、CREATE EXTERNAL TABLE、CREATE EXTERNAL SCHEMA、CREATE MODEL、CREATE LIBRARY などがあります。Amazon Redshift でのデフォルト使用のために IAM ロールを作成する方法については、「[Amazon Redshift 用にデフォルトの IAM ロールを作成する](#serverless-default-iam-role)」を参照してください。

Amazon Redshift のデフォルトとして IAM ロールを作成するには、AWS マネジメントコンソール を開いて [Amazon Redshift コンソール] を選択します。次に、メニューで **[Redshift Serverless]** を選択します。Serverless ダッシュボードから、新しいワークグループを作成できます。作成手順では、IAM ロールの選択、または新しい IAM ロールの設定を行います。

既に Amazon Redshift Serverless ワークグループがあり、それに対して IAM ロールを設定する場合は、AWS マネジメントコンソール を開きます。[Amazon Redshift コンソール] を選択して、次に **[Redshift Serverless]** を選択します。Amazon Redshift Serverless コンソールで、**[名前空間の設定]** を選択します。**[セキュリティと暗号化]** でアクセス許可を編集できます。

### 名前空間への IAM ロールの割り当て
<a name="serverless-endpoint-iam-role-namespace"></a>

各 IAM ロールは各ロールが AWS で実行できるアクションを決定するアクセス許可ポリシーを持つ AWS ID です。ロールは、それを必要とするすべてのユーザーが引き受け可能です。また、各名前空間は、テーブルやスキーマなどのオブジェクトとユーザーのコレクションです。Amazon Redshift Serverless を使用する場合、複数の IAM ロールを名前空間に関連付けることができます。これにより、データベースオブジェクトのコレクションに対してアクセス許可を適切に構成することが容易になり、ロールは内部データと外部データの両方に対してアクションを実行できます。例えば、Amazon Redshift データベースで `COPY` コマンドを実行し、Amazon S3 からデータを取得して Redshift テーブルに入力するようにできます。

このセクションで前に説明したとおり、コンソールを使用して、複数のロールを名前空間に関連付けることができます。API コマンド `CreateNamespace`、または CLI コマンド `create-namespace` を使用することもできます。API または CLI コマンドを使用すると、1 つ以上のロールで `IAMRoles` を入力することにより、名前空間に IAM ロールを割り当てることができます。具体的には、コレクションに特定のロールの ARN を追加します。

#### 名前空間に関連付けられた IAM ロールの管理
<a name="serverless-endpoint-iam-role-namespace-console"></a>

AWS マネジメントコンソール で、AWS Identity and Access Management のロールに対するアクセス権限ポリシーを管理できます。**[Namespace configuration]** (名前空間の設定) の中の設定を使って、名前空間の IAM ロールを管理できます。Amazon Redshift Serverless での名前空間とその使用の詳細については、「[ワークグループと名前空間](serverless-workgroup-namespace.md)」を参照してください。