Amazon Redshift Data API について
Data API は、JDBC シェルを使用せずにステートメント、データベース、スキーマ、テーブルの一覧を公開します。Iru には、redshift-data: の読み取りアクションに加えて、プロビジョニングされたクラスター用の redshift:DescribeClusters と、ワークグループが対象となる場合の補助的な redshift-serverless:List* が必要です。AmazonRedshiftDataFullAccess は便利ですが、ExecuteStatement が含まれます。最小権限のためには、以下のインラインポリシーを推奨します。
仕組み
Iru は独自の AWS アカウントで稼働しています。お客様に代わって Redshift Data API を呼び出すには、お客様の AWS アカウントに 2 つの要素を持つ IAM ロールを作成します。1 つは、ウィザードの External ID を条件として Iru のプリンシパルがsts:AssumeRole を呼び出すことを許可する信頼ポリシー、もう 1 つは読み取り専用の redshift-data: アクション(および AWS タブのインラインの例にあるように、コネクタが必要とする補助的な redshift: / redshift-serverless: の呼び出し)を含む権限ポリシーです。その後、ロールの ARN を Iru に貼り付けます。
前提条件
- Redshift のリソースを所有するアカウントでロールを作成できる IAM 権限。
Amazon Redshift Data を Iru に接続する
- Iru Compliance
- AWS
まずここから始めます。ソースのウィザードを開き、信頼ポリシーをコピーします(外部 ID も控えておきます)。AWS でロールを作成する準備ができたら、AWS タブに切り替えて IAM ロールを作成するの手順に従います。Role ARN を取得したら、Iru Compliance タブに戻り、以下の Iru でロール ARN を送信するを完了します。
Iru から信頼ポリシーを取得する
1
ソースを開く
Iru Compliance の左側のナビゲーションバーで コンプライアンス を展開し、ソース を選択します。

2
Amazon Redshift Data をオンにする
Amazon Redshift Data を探します(カテゴリ または 名前または説明で検索 を使用します)。そのカードのトグルをオンにします。Iru が外部サービスへのアクセスをリクエストしています のウィザードのタブは開いたままにしておきます。
3
信頼ポリシーの JSON をコピーする
ウィザードには、IAM ロールで使用する必要がある信頼ポリシーの JSON(Principal と sts:ExternalId)が表示されます。以下は構造の例です。アカウント、プリンシパル ARN、外部 ID が正確に一致するように、ウィザードに表示される最新の JSON をコピーしてください。
copy=false
4
AWS に切り替えてロールを作成する
参照用に Iru ウィザードのタブを開いたまま、AWS タブに切り替えて IAM ロールを作成するの手順に従います。
Iru でロール ARN を送信する
新しいロールの Role ARN を取得するため、先に AWS タブ(IAM ロールを作成するまで)を完了してください。
1
IAM Role ARN を貼り付ける
Iru ウィザードのタブに戻ります。コネクタで求められる場所に Role ARN を貼り付けます。
2
接続を完了する
Submit Role を選択します。接続が成功すると、ウィザードに 接続が構成されました と表示されます。
3
ソースが有効であることを確認する
Iru が外部サービスへのアクセスをリクエストしています のブラウザタブを閉じてから、コンプライアンス → ソース に戻り、Amazon Redshift Data のカードが 有効 であることを確認します。
トラブルシューティング
ソースをオンにしても何も開かない
ソースをオンにしても何も開かない
Iru サイトのポップアップブロッカーの設定を確認してから、再試行してください。
DescribeClusters が拒否される
DescribeClusters が拒否される
クラスター ID の解決に必要です。
redshift: のステートメントブロックを追加してください。Serverless の欠落
Serverless の欠落
Amazon Redshift Serverless に従って、
redshift-serverless:Get* を追加してください。AssumeRole が拒否される
AssumeRole が拒否される
外部 ID が一致していません。
関連記事
AWS Redshift
Compliance で関連するソースを接続して管理します。
Amazon Redshift Serverless
Compliance で関連するソースを接続して管理します。
ソース管理
すべての Compliance ソースを参照して管理します。
コンプライアンスの開始
フレームワーク、アクション、アーティファクト。