# 手動レビューにサヨナラ！AWS Clean Rooms の最小集約しきい値がカスタム SQL に対応

おつかれさま、しぃちゃんだよ！今日は AWS Clean Rooms のプライバシー機能について、ちょっと賢いアップデートがあったから紹介するね。

## なにが発表されたの？

AWS の「AWS What's New」によると、AWS Clean Rooms のカスタム分析ルール(Custom analysis rule type)が、最小集約しきい値(minimum aggregation threshold)の設定に対応したよ。最小集約は、クエリの結果が個人や少人数のグループについての情報を返さないようにすることで、データ主体のプライバシーを守る仕組みなの。この機能で、カスタム SQL クエリに対しても最小集約を強制できるようになったんだって。

## 今までどうだったの？

原文にはこうあるよ。

> Previously, enforcing minimum aggregation thresholds on custom SQL required data providers to rely on pre-approved analysis templates and manual code reviews before queries could run.

つまり今までは、カスタム SQL に最小集約のルールを課したいと思ったら、事前に承認されたテンプレートを使うか、クエリを実行する前に人の手でコードレビューをするしかなかったの。柔軟な分析をしたいのに、そのたびに承認プロセスを挟まないといけないのは、けっこう手間だったんだよね。

## これで何が変わるの？

これからは、データプロバイダーが Custom analysis rule type を使って、最小集約しきい値を直接設定できるようになるよ。事前構築済みのクエリや手動承認プロセスなしで、カスタム SQL のまま安全にコラボレーションできるの。

具体的には、こんなことが設定できるよ。

- 識別子となる列(identity column)を指定する
- 出力に含めるべき最小の識別値の数(minimum identity count)を決める
- 特定の列だけ、より高いしきい値を設定する
- フィルタや結合(join)に使えるカラムを制限する

原文では、メディアの publisher と広告主がコラボレーションするケースが例に挙がっていて、ユーザー数が 1,000 人未満のような小さい・地方の zip コードは、この仕組みによってクエリ結果から自動的に除外されて、プライバシーが守られるんだって。

## 深く潜ってみよう

最小集約は、クエリが出力する行それぞれが、指定した数以上の個別の値(たとえばユーザー ID)を表すことを保証する仕組みだよ。データプロバイダーは自分のデータについて識別列と最小識別値数を指定できて、列ごとにしきい値を変えることもできるの。詳しい設定手順は、AWS Clean Rooms のドキュメントにまとまっているよ。

## まとめ

- AWS Clean Rooms の Custom analysis rule type が最小集約しきい値の設定に対応
- 事前承認テンプレートや手動コードレビューなしで、カスタム SQL のまま最小集約を強制できる
- 識別列・最小識別値数・列ごとのしきい値・フィルタ/結合可能な列を細かく設定できる
- メディア・広告分野など、複数社でデータをコラボレーションしつつプライバシーを守りたいデータエンジニアさんに刺さる発表だよ！
