

 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 ロールを使用して 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 へのプログラマチックリクエストに署名します。 | 使用するインターフェイスの指示に従ってください。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/copy-unload-iam-role.html) | 
| ワークフォースアイデンティティ<br />(IAM アイデンティティセンターで管理されているユーザー) | 一時的な認証情報を使用して、AWS CLI、AWS SDK、または AWS API へのプログラムによるリクエストに署名します。 | 使用するインターフェイスの指示に従ってください。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/copy-unload-iam-role.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 へのプログラムによるリクエストに署名します。 | 使用するインターフェイスの指示に従ってください。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/copy-unload-iam-role.html) | 

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