Amazon Redshift データベースの通常のユーザーに、自分のクラスターの他のユーザーからのシステムテーブルのデータを見る許可を与えるにはどうすればよいですか?

最終更新日: 2022 年 11 月 7 日

Amazon Redshift クラスターのシステムテーブルで他のユーザーが生成したデータを表示できません。テーブルを表示するにはどうしたらいいですか?

簡単な説明

デフォルトでは、Amazon Redshift の通常のユーザーには他のユーザーのデータを表示する許可がありません。Amazon Redshift データベーススーパーユーザーのみが、すべてのデータベースを閲覧する許可を持っています。

解決方法

SYSLOG ACCESS パラメータに UNRESTRICTED アクセス権限を追加すると、通常のユーザーがシステムテーブル内の他のユーザーによって生成されたデータを表示できるようになります。

注:SYSLOG ACCESS を使用する通常のユーザーは、スーパーユーザーテーブルを表示できません。スーパーユーザーだけが他のスーパーユーザーテーブルを表示できます。

1.    Amazon Redshift データベースにスーパーユーザーとして接続します。

2.    次のような SQL コマンド ALTER USER を実行します。

test=# ALTER USER testuser WITH SYSLOG ACCESS UNRESTRICTED;
ALTER USER

:ALTER USER に必要な許可は、スーパーユーザー、ALTER USER 権限を持つユーザー、および自分のパスワードを変更したいユーザーです。

これで、通常のユーザーは無制限の SYSLOG アクセスが可能になりました。

3.    スーパーユーザーとして Amazon Redshift データベースとの接続を切断します。

4.    無制限アクセスで SYSLOG アクセスを持つ通常のユーザーとして Amazon Redshift データベースに接続します。

5.    次のような SQL コマンドを実行して、一般ユーザーのアクセスをテストします。

test=> select * from stv_inflight;
-[ RECORD 1 ]--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
userid                     | 100
slice                      | 12811
query                      | 3036
label                      | default                                  
xid                        | 35079530
pid                        | 1073746910
starttime                  | 2022-09-15 07:09:15.894317
text                       | select * from my_schema.dw_lu_tiers_test a, my_schema.dw_lu_tiers_test;                         
       
suspended                  | 0
insert_pristine            | 0
concurrency_scaling_status | 0
-[ RECORD 2 ]--------------+---------------------------------------------------------------------------------------------------------------------------------------------------
userid                     | 181
slice                      | 12811
query                      | 3038
label                      | default
xid                        | 35079531
pid                        | 1073877909
starttime                  | 2022-09-15 07:09:17.694285
text                       | select * from stv_inflight;                                       
                                     
suspended                  | 0
insert_pristine            | 0
concurrency_scaling_status | 0

出力例で、通常のユーザーが別のユーザーテーブルを表示できるようになったことに注意してください。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?