IAM ロールを使用して COPY、UNLOAD、CREATE EXTERNAL FUNCTION、CREATE EXTERNAL SCHEMA オペレーションを承認する
COPY コマンドを使用してデータを Amazon Redshift にロード (またはインポート) および UNLOAD コマンドを使用してデータを Amazon Redshift からアンロード (またはエクスポート) できます。CREATE EXTERAL FUNCTION コマンドを使用して、 AWS Lambdaから関数を呼び出すユーザー定義関数を作成できます。
Amazon Redshift Spectrum を使用する場合、 CREATE EXTERNAL SCHEMA コマンドを使用してデータを含む 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 のサービスにアクセスすることを許可するを参照してください。
AWS Management Console の外部で AWS を操作するには、ユーザーはプログラムによるアクセスが必要です。プログラマチックアクセス権を付与する方法は、AWS にアクセスしているユーザーのタイプによって異なります。
ユーザーにプログラマチックアクセス権を付与するには、以下のいずれかのオプションを選択します。
プログラマチックアクセス権を必要とするユーザー | 目的 | 方法 |
---|---|---|
ワークフォースアイデンティティ (IAM アイデンティティセンターで管理されているユーザー) |
一時的な認証情報を使用して、AWS CLI、AWS SDK、または AWS API へのプログラマチックリクエストに署名します。 |
使用するインターフェイス用の手引きに従ってください。
|
IAM | 一時的な認証情報を使用して、AWS CLI、AWS SDK、または AWS API へのプログラムによるリクエストに署名します。 | 「IAM ユーザーガイド」の「AWS リソースでの一時的な認証情報の使用」の指示に従ってください。 |
IAM | (非推奨) 長期的な認証情報を使用して、AWS CLI、AWS SDK、AWS API へのプログラムによるリクエストに署名します。 |
使用するインターフェイス用の手順に従ってください。
|
IAM ロールを使用する手順は次のとおりです。
-
Amazon Redshift クラスターで使用する IAM ロールを作成します。
-
IAM ロールをクラスターに関連付けます。
-
COPY、UNLOAD、CREATE EXTERNAL SCHEMA または CREATE EXTERNAL FUNCTION コマンドを呼び出す場合、IAM ロールの ARN を含めます。