CI部の古川(智)です。Amazon Redshift Serverless(以下、Redshift Serverless)のパブリックプレビュー版を触る機会があったのですが、IAM権限周りで色々はまってしまったので2022年2月7日時点で分かったことをブログに残しておきます。
はじめに
本ブログはRedshift Serverlessを作成し、クエリを投げるために必要となるIAM権限について記述しています。
Amazon Redshift Serverlessとは
Amazon Redshift Serverlessは、2021年11月30日(米国時間)にパブリックプレビューとして発表されたサービスです。
大きな特徴としては以下かなと思います。
- クラスターのセットアップや管理が不要。
- データウェアハウスを使用している時間のみ秒単位で課金。
プレビュー段階なので、まだまだドキュメントもブログも少ないです。
必要な権限
Redshift Serverlessを作成し、クエリを投げるために必要となる権限は以下となります。
- Redshift用のポリシー
- Redshift Serverless用のポリシー
- Redshift クエリエディタ v2用のポリシー
Redshift用のポリシー
これはAWS管理ポリシーである「AmazonRedshiftFullAccess」を付ければOKです。
Redshift Serverlessの公式ドキュメントには以下の記載があります。(日本語に訳しています。)
Amazon Redshift Serverlessの使用を開始し、初めてserverless endpointコンソールでserverless endpointを作成するには、IAMユーザーまたはIAMロールを使用します。このユーザーまたはロールが、管理者権限arn:aws:iam::aws:policy/AdministratorAccessまたはAmazon Redshiftフル権限のarn:aws:iam::aws:policy/AmazonRedshiftFullAccessを持つことを確認します。
参考:
Working with Amazon Redshift Serverless (preview) - Amazon Redshift
こう書かれていたので、てっきりAmazonRedshiftFullAccessポリシーのみで足りていると思いきや、Redshift Serverless用のポリシーも必要でした…
それが次のものになります。
Redshift Serverless用のポリシー
Redshift Serverless用のAWS管理ポリシーは無いので、自分でポリシーを作成する必要があります。
ポリシーの内容は以下です。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "redshift-serverless:*", "Resource": "*" } ] }
このポリシーについては、ドキュメントの最初のほうに記載がありました、、、見逃していました。Working with Amazon Redshift Serverless (preview) - Amazon Redshift
これでようやくRedshift Serverlessを使えるぞ!と思っていたのにまだ足りていませんでした。
Redshift クエリエディタ v2用のポリシー
Redshift Serverlessの「Query editor」を押すと、以下のエラーが表示されてしまう事象が発生しました。
Account information couldn't be retrieved.
そしてなぜかConfigure accountと書かれたページに飛ばされます。
これはクエリエディタ v2を使うための権限が不足していることが原因です。
今回はAWS管理ポリシーの「AmazonRedshiftQueryEditorV2FullAccess」をIAMユーザーに付与することで解決しました。
参考: Configuring your AWS account - Amazon Redshift
おわりに
GAのサービスになれば、いい感じのRedshift Serverless用AWS管理ポリシーが作成されるはずです。たぶん。
古川智絵 (執筆記事の一覧)
2020年新卒入社 技術課(SRE1課)に所属 好きな食べ物はみそ汁