Redshift の伏せ字ログ、DEBUG 権限で見られるようになったよ!
みんな、しぃちゃんだよ!今日は Redshift のログの見え方がちょっと賢くなったお話だよ!
AWS What's Newなにが発表されたの?
AWS の What's New で、Amazon Redshift に新しい DEBUG 権限が追加されたって発表があったよ。きめ細かなアクセス制御(FGAC)で守られたデータに対するクエリを、トラブルシュートしたり監査したりしやすくなる機能なの。
今までどうだったの?
Redshift の federated permissions では、データの権限を一度定義すれば、AWS アカウント内のすべての Redshift ウェアハウスで自動的に適用されるよ。
FGAC で保護されたデータにクエリが触れると、secure logging がシステムテーブルのレコードにある機微な値を伏せ字にするの。
- 書き換えられたクエリテキスト
- エラーメッセージ
- オブジェクト名
これはプロデューサー側のデータをコンシューマーから守るための仕組みだよ。でも、監査担当や管理者はトラブルシュートやコンプライアンスのためにそのレコードを見たいよね。そこが悩みどころだったの。
これで何が変わるの?
secure logging をオフにしなくても、スーパーユーザーかデータベースオーナーが「どの ID にはマスクなしで見せるか」を選べるようになったよ。
深く潜ってみよう
- DEBUG は標準の GRANT コマンドで付与する
- 付与先は主に IAM ユーザー、IAM ロール、IAM Identity Center のユーザーかグループ
- 付与された ID は、自分のクエリについてマスクなしのレコードを見られる
- コンシューマーアカウントの管理者にも付与できて、トラブルシュートや監査のときに全体のログを見られる
- アカウント管理者に許可されたレコードは、システムテーブルのデータを Amazon S3 Tables にエクスポートしたときもマスクされないまま
提供範囲は、Redshift が使えるすべての AWS リージョンだよ。
まとめ
- FGAC 保護データのログは secure logging で伏せ字になる
- 新しい DEBUG 権限で、許可した ID だけマスクなしで見られる
- 付与は GRANT コマンドで、IAM ユーザー・ロール・Identity Center が対象
- S3 Tables へのエクスポートでも、管理者向けレコードはマスクなし
データ共有環境で監査やデバッグを担当しているみんなに刺さる更新だよ!