ステップ 3: クエリエディタの 1 つにアクセス許可を付与しクエリを実行する - Amazon Redshift

ステップ 3: クエリエディタの 1 つにアクセス許可を付与しクエリを実行する

Amazon Redshift クラスターによってホストされているデータベースをクエリする方法は 2 つあります。

  1. クラスターに接続し、いずれかのクエリエディタを使用して、AWS Management Console に対してクエリを実行します。

    いずれかのクエリエディタを使用すれば、SQL クライアントアプリケーションをダウンロードしてセットアップする必要はありません。

  2. SQL Workbench/J などの SQL クライアントツールを介してクラスターに接続します。SQL Workbench/J の使用に関する詳細については、「Amazon Redshift 管理ガイド」の「SQL Workbench/J を使用してクラスターに接続する」を参照してください。

Amazon Redshift クラスターによってホストされているデータベースでクエリを実行するには、Amazon Redshift のクエリエディタの 1 つを使用することが最も簡単な方法です。クラスターを作成した後、Amazon Redshift コンソールを使用して、すぐにクエリを実行できます。Amazon Redshift クエリエディタを使用する場合の詳しい考慮事項については、「Amazon Redshift 管理ガイド」の「クエリエディタを使用してデータベースをクエリする」を参照してください。

管理者が AWS アカウントのために最初にクエリエディタ v2 を設定するときは、クエリエディタ v2 のリソースを暗号化するために使用する AWS KMS key を選択します。デフォルトでは、AWS 所有キーは、リソースを暗号化するために使用されます。または、管理者は、設定ページでキーの Amazon リソースネーム (ARN) を選択することで、カスタマー管理キーを使用できます。アカウントの設定後は、AWS KMS を使用した暗号化の設定は変更できません。詳細については、「AWS アカウント の設定」を参照してください。

クエリエディタ v2 にアクセスするには、アクセス許可が必要です。管理者は、以下のいずれかの AWS マネージドポリシーを IAM ロールまたはユーザーにアタッチして、アクセス許可を付与できます。これらのAWS管理ポリシーは、リソースのタグ付けでクエリを共有する方法を制御するさまざまなオプションを使用して記述されます。IAM コンソール (https://console.aws.amazon.com/iam/) を使用して IAM ポリシーをアタッチできます。

また、提供された管理ポリシーで許可もしくは拒否されたアクセス権限に基づいて、独自のポリシーを作成することもできます。IAM コンソールのポリシーエディタを使用して独自のポリシーを作成する場合は、ビジュアルエディタでポリシーを作成する対象のサービスとして、[SQL Workbench] を選択します。クエリエディタ v2 では、ビジュアルエディタ および IAM Policy Simulator の中で、サービス名として AWS SQL Workbench を使用します。

詳細については、「クエリエディタ v2 へのアクセス」を参照してください。

データベースのクエリにクエリエディタ v2 を使用する場合は、「クエリエディタ v2 の操作」を参照してください。

Amazon Redshift クエリエディタを使用するには、アクセス許可が必要です。アクセスを設定するには、AmazonRedshiftQueryEditor および AmazonRedshiftReadOnlyAccess IAM ポリシーを IAM ロールにアタッチし、次にこのロールをクラスターにアクセスするために使用するユーザーにアタッチします。

クエリエディタに必要な IAM ポリシーをアタッチするには
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. [ロール] を選択します。

  3. クエリエディタへのアクセスが必要なロールを選択します。

  4. [許可] タブで、[アクセス許可を追加] を選択します。

  5. [ポリシーのアタッチ] を選択します。

  6. [ポリシー名] で、AmazonRedshiftQueryEditorAmazonRedshiftReadOnlyAccess を選択します。

  7. [Add permissions (許可の追加)] を選択します。

ユーザーに代わって Amazon Redshift クラスターが他の AWS サービスと通信することを許可する IAM ロールを作成するには、次の手順を実行します。このセクションで使用する値は例であり、必要に応じて値を選択できます。

Amazon Redshift が AWS サービスにアクセスすることを許可する IAM ロールを作成するには
  1. IAM コンソールを開きます。

  2. ナビゲーションペインで [ロール] を選択します。

  3. ロールの作成を選択します。

  4. AWS サービスRedshiftの順にクリックします。

  5. ユースケースの選択で、Redshift - カスタマイズ可能次へ : 許可の順に選択します。アクセス権限ポリシーをアタッチする ページが表示されます。

  6. AmazonRedshiftQueryEditor アクセス許可と AmazonRedshiftReadOnlyAccess アクセス許可を追加します。

    次へ: タグを選択します。

  7. タグの追加 ページが表示されます。必要に応じてタグを追加できます。次へ: レビューを選択します。

  8. ロール名で、 RedshiftQueryEditorAccessなどのロール名を入力します。ロールの作成を選択します。

  9. 新しいロールは、そのロールを使用するクラスターのすべてのユーザーが利用できます。特定のクラスターの特定のユーザーのみ、または特定のリージョンのクラスターのみにアクセスを制限するには、ロールの信頼関係を編集します。詳細については、「Amazon Redshift 管理ガイド」の「IAM ロールへのアクセスの制限」を参照してください。

  10. ロールとクラスターを関連付けます。クラスターの作成時に IAM ロールをクラスターに関連付けるか、既存クラスターにロールを追加できます。詳細については、「Amazon Redshift 管理ガイド」の「IAM ロールをクラスターと関連付ける」を参照してください。

    注記

    特定のデータへのアクセスを制限するには、必要な最小限の権限を付与する IAM ロールを使用します。

クエリエディタを使用してデータベースをクエリする場合は、「クエリエディタを使用してデータベースのクエリを実行する」を参照してください。