認証情報とアクセス許可 - Amazon Redshift

認証情報とアクセス許可

Amazon S3、Amazon DynamoDB、Amazon EMR、または Amazon EC2 など他の AWS リソースを使用してデータをロードまたはアンロードする際、クラスターにはそのリソースにアクセスし、データ処理のアクションを実行するためのアクセス許可が必要です。例えば、Amazon S3 からデータをロードする場合、COPY はバケットへの LIST アクセスとバケットオブジェクトへの GET アクセスが必要です。

リソースにアクセスする許可を取得するには、クラスターが認証される必要があります。ロールベースのアクセスコントロールまたはキーに基づくアクセスコントロールのいずれかを選択できます。このセクションは 2 つの方法の概要を示します。詳細と例については、他の AWS リソースにアクセスするアクセス許可 を参照してください。

ロールベースアクセスコントロール

ロールベースのアクセスコントロールを使用する場合、クラスターはユーザーに代わって、一時的な AWS Identity and Access Management IAM ロールを引き受けます。その後、そのロールに付与された承認内容に基づいて、クラスターは必要な AWS のリソースにアクセスできるようになります。

ロールベースのアクセスコントロールの利用をお勧めします。これにより、AWS 認証情報が保護されるだけでなく、AWS のリソースと機密性のあるユーザーデータに対するアクセスがより安全になり、きめ細やかなコントロールが行われます。

ロールベースのアクセスコントロールを使用するには、Amazon Redshift サービスロールタイプを使用して IAM ロールを作成してから、クラスターにロールをアタッチする必要があります。ロールは、少なくとも COPY、UNLOAD、CREATE LIBRARY のための IAM のアクセス許可 に示されたアクセス権限が必要です。IAM ロールを作成してクラスターにアタッチする手順については、「Amazon Redshift 管理ガイド」の「Amazon Redshift クラスターによって AWS のサービスへのアクセスを許可する IAM ロールを作成する」を参照してください。

クラスターにロールを追加するか、Amazon Redshift マネジメントコンソール、CLI、または API を使用してクラスターに関連付けられるロールを表示できます。詳細については、「Amazon Redshift 管理ガイド」の「IAM ロールを使用した COPY および UNLOAD オペレーションの認可」を参照してください。

IAM ロールを作成する場合、IAM はロールの Amazon リソースネーム (ARN) を返します。IAM ロールを使用して COPY コマンドを実行するには、IAM_ROLE パラメータまたは CREDENTIALS パラメータを介してロールの ARN を指定します。

次の COPY コマンドの例では、ロール MyRedshiftRole を指定した IAM_ROLE パラメータを認証に使用します。

copy customer from 's3://mybucket/mydata' iam_role 'arn:aws:iam::12345678901:role/MyRedshiftRole';

AWS ユーザーは、少なくとも COPY、UNLOAD、CREATE LIBRARY のための IAM のアクセス許可 に示されたアクセス許可が必要です。

キーベースのアクセスコントロール

キーベースのアクセスコントロールでは、データがある AWS リソースへのアクセスを許可されたユーザーのアクセスキー ID とシークレットアクセスキーを指定します。 

注記

プレーンテキストのアクセスキー ID とシークレットアクセスキーを指定する代わりに、認証のために IAM ロールを使用することを強くお勧めします。キーベースのアクセスコントロールを選択する場合は、AWSアカウント (ルート) 認証情報を使用しないでください。常に IAM ユーザーを作成し、そのユーザーのアクセスキー ID とシークレットアクセスキーを指定します。IAM ユーザーを作成する手順については、「AWS アカウントでの IAM ユーザーの作成」を参照してください。