はじめに
こんにちは。
AWS Clean RoomsがGA版となりました。気になっていたサービスなのでサービス内容を調査して概要を纏めました。
詳細な検証は実施していないため間違った点がある場合はご容赦ください。
Clean Roomsの概要
Clean Roomsはパートナー間(AWSアカウント間)でのデータ共有・利用を支援するサービスです。
例えば以下の様な要件がある場合、AWS Clean Roomsを利用することで簡単、安全、高速にデータの共有と利用が可能です。
- 自社、パートナーともにAWSアカウントを持っている
- 自社のデータとパートナーのデータを組み合わせて知見を得たい
- 全てではなく一部のデータのみ共有したい
- 集計したデータは許可するがローデータにはアクセスさせたくない
- テーブルの一部のカラムのみ利用を許可したい
- データを暗号化することでセキュアにデータを共有したい
- データを移動させずに共有したい
- 共有用のデータを別途作成したくない
Clean Roomsの主要キーワード
Clean Roomsの全体イメージは以下となります
-
Collaboration
- データの提供と利用を行うセキュアな論理空間のこと
- データの共有と利用のためCollaborationにMemberを招待する
- データ提供MemberはCollaborationに参加しデータを共有する
- クエリ実行可能Memberは共有されたデータに対してクエリを実行する
-
Collaboration creator
- Collaborationの作成者(管理者)のこと
- Collaboration creatorはMemberの削除が可能
-
Member(Membership)
- Collaborationに参加する主体(AWSアカウント)のこと
- クエリ実行可能Member:関連付けられたテーブル(共有されたデータ)へクエリが可能。Collaborationに参加しているMemberのうち1名のみがクエリ実行可能メンバーとなる
- データ提供Member:その他メンバー。Collaborationにテーブルを関連づけてデータを共有する
- 招待されたMemberはMembershipを作成してCollaborationに参加する
- Collaborationに参加する主体(AWSアカウント)のこと
-
Configured table
- AWS Clean Rooms用に構成されたGlueテーブルのこと
-
Analytics rules
- Configured tableに紐付けるクエリ制限のこと
- クエリに利用できるカラムや集計結果の粒度を設定することができる
- Aggregation analysis rule:集計のみを許可するテーブルに紐づけるルール
- List analysis rule:ローデータの利用を許可するテーブルに紐付けるルール
- テーブルがクエリされた時にルールが適用され制限される
- 例えば、許可されていないカラムをSelectするとエラーになる
-
C3R
- AWS Clean roomsで利用可能なデータ暗号化・複合化の仕組みのこと
- C3Rクライアントを利用してローカルでデータファイルへ暗号化•複合化を行う
- Clean Roomsの利用において必須ではなく、必要な場合に使用する
- 「Cryptographic Computing for Clean Rooms」の略
Clean Roomsの利用の流れ
-
Collaboration creator
- Collaborationを作成する
- Collaborationに参加して欲しいMember(AWS Account)を招待する
-
Member
- Membershipを作成してCollaborationに参加する
- Collaborationに提供するデータを準備する
- S3ファイルをソースとしたGlueテーブルが対象
- 準備したデータ(Glueテーブル)をConfigured tableとして登録する
- Configured tableにAnalytics rulesを適用する
- Analytics rulesが適用されたConfigured tableをCollaborationに関連付ける
-
クエリ実行可能Member
- Collaborationに関連付けられたConfigured tableに対してクエリを実行する
- クエリされたConfigured tableはAnalytics rulesで制限される
- 必要に応じてクエリ結果をS3に保存する
- S3に保存されたデータをAthenaやQuicksightで参照する
- Collaborationに関連付けられたConfigured tableに対してクエリを実行する
-
その他
- C3Rによる暗号化を利用する場合は以下の手順も必要
- Collaboration creatorは、C3Rに対応した形でCollaborationを作成する
- データ提供Memberは、C3Rクライアントを利用してデータファイルを暗号化する。暗号化したデータファイルをソースとしてGlueテーブルを作成する。後は通常の手順と同じ
- クエリ実行可能Memberは、C3Rクライアントを利用してクエリ結果の保存ファイルを複合化する
- C3Rクライアントでの暗号化、複合化には秘密鍵が必要。秘密鍵を作成してMember間共通で利用する
終わりに
データを移動せずに、パートナー(AWSアカウント)間で簡単にデータの共有ができるのは良いですね。
弊社でもお客様とデータのやり取りはよく発生します。簡単かつ安全にデータを共有できるので活用の機会はありそう!と思いました。
参照
AWS公式ドキュメント
株式会社ジールでは、「ITリテラシーがない」「初期費用がかけられない」「親切・丁寧な支援がほしい」「ノーコード・ローコードがよい」「運用・保守の手間をかけられない」などのお客様の声を受けて、オールインワン型データ活用プラットフォーム「ZEUSCloud」を月額利用料にてご提供しております。
ご興味がある方は是非下記のリンクをご覧ください: