

 Amazon Redshift は、2026 年 6 月 30 日以降、Python UDF の使用をサポートしなくなります。これは段階的に実施されます。Python のサポート終了と移行オプションの詳細については、2025 年 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 ロールを使用して COPY、UNLOAD、CREATE EXTERNAL FUNCTION、CREATE EXTERNAL SCHEMA オペレーションを承認する
<a name="copy-unload-iam-role"></a>

[COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) コマンドを使用してデータを Amazon Redshift にロード (またはインポート) および [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) コマンドを使用してデータを Amazon Redshift からアンロード (またはエクスポート) できます。CREATE EXTERAL FUNCTION コマンドを使用して、 AWS Lambdaから関数を呼び出すユーザー定義関数を作成できます。

Amazon Redshift Spectrum を使用する場合、 [CREATE EXTERNAL SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html) コマンドを使用してデータを含む Amazon S3 バケットの場所を指定します。COPY、UNLOAD、CREATE EXTERNAL SCHEMA コマンドを実行するときは、セキュリティ認証情報を指定する必要があります。これらの認証情報により、Amazon S3 バケットなどのターゲット宛先との間でデータを読み書きする権限が Amazon Redshift クラスターに付与されます。

CREATE EXTERNAL FUNCTION を実行するときは、IAM ロールパラメータを使用してセキュリティ認証情報を指定します。これらの認証情報により、Amazon Redshift クラスターがAWS Lambdaから Lambda 関数を呼び出すことが許可されます。セキュリティ認証情報を指定する望ましい方法は、AWS Identity and Access Management (IAM) ロールを指定することです。COPY と UNLOAD では、一時的な認証情報を指定できます。IAM ロールの作成の詳細については、 [ユーザーに代わって Amazon Redshift が他の AWS のサービスにアクセスすることを許可する](authorizing-redshift-service.md)を参照してください。

AWS マネジメントコンソール の外部で AWS を操作するには、プログラマチックアクセス権が必要です。プログラムによるアクセス権を付与する方法は、AWS にアクセスしているユーザーのタイプによって異なります。

ユーザーにプログラムによるアクセス権を付与するには、以下のいずれかのオプションを選択します。



| プログラムによるアクセス権を必要とするユーザー | 目的 | 方法 | 
| --- | --- | --- | 
| IAM | (推奨) 一時的な認証情報としてコンソール認証情報を使用して、AWS CLI、AWS SDK、または AWS API へのプログラマチックリクエストに署名します。 | 使用するインターフェイスの指示に従ってください。+  AWS CLI については、「*AWS Command Line Interface ユーザーガイド*」の「[AWS ローカル開発用のログイン](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html)」を参照してください。 <br />+  AWS SDK については、「*AWS SDK およびツールリファレンスガイド*」の「[AWS ローカル開発用のログイン](https://docs.aws.amazon.com/sdkref/latest/guide/access-login.html)」を参照してください。  | 
| ワークフォースアイデンティティ<br />(IAM アイデンティティセンターで管理されているユーザー) | 一時的な認証情報を使用して、AWS CLI、AWS SDK、または AWS API へのプログラムによるリクエストに署名します。 | 使用するインターフェイスの指示に従ってください。+  AWS CLI については、「*AWS Command Line Interface ユーザーガイド*」の「[AWS IAM アイデンティティセンター を使用するための AWS CLI の設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html)」を参照してください。 <br />+  AWS SDK、ツール、および AWS API については、*AWS SDK とツールリファレンスガイド*の「[IAM アイデンティティセンター認証](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html)」を参照してください。  | 
| IAM | 一時的な認証情報を使用して、AWS CLI、AWS SDK、または AWS API へのプログラムによるリクエストに署名します。 | IAM ユーザーガイドの「[AWS リソースでの一時的な認証情報の使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)」の指示に従ってください。 | 
| IAM | (非推奨)長期的な認証情報を使用して、AWS CLI、AWS SDK、または AWS API へのプログラムによるリクエストに署名します。 | 使用するインターフェイスの指示に従ってください。+  AWS CLI については、「*AWS Command Line Interface ユーザーガイド*」の「[IAM ユーザー認証情報を使用した認証](https://docs.aws.amazon.com/cli/latest/userguide/cli-authentication-user.html)」を参照してください。 <br />+  AWS SDK とツールについては、「*AWS SDK とツールリファレンスガイド*」の「[長期認証情報を使用して認証する](https://docs.aws.amazon.com/sdkref/latest/guide/access-iam-users.html)」を参照してください。 <br />+  AWS API については、「*IAM ユーザーガイド*」の「[IAM ユーザーのアクセスキーの管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)」を参照してください。  | 

IAM ロールを使用する手順は次のとおりです。
+ Amazon Redshift クラスターで使用する IAM ロールを作成します。
+ IAM ロールをクラスターに関連付けます。
+ COPY、UNLOAD、CREATE EXTERNAL SCHEMA または CREATE EXTERNAL FUNCTION コマンドを呼び出す場合、IAM ロールの ARN を含めます。