Slide 1

Slide 1 text

2023/05/02 JAWS-UG 名古屋 AWS Lake Formationによる データアクセス管理 2023/05/02 JAWS-UG名古屋 Takaki@frommiddle1

Slide 2

Slide 2 text

今日の報告背景 • 2023年の AWS Summit に参加してみて、以下2点を強く感じました。 1. AIを活用した付加価値の創造 - 生成系AI サービス Amazon Bedrock @ 基調講演 2. 非IT産業でのAWSの利活用 -トヨタ CCoE が進めるDeveloper eXperienceのカイゼン -自動車業界の変革を実現する AWS ソリューションと 最新ユースケース • 1. に関連して、データ収集~分析可視化までを目的としたデータパイプライン の重要性も訴えられていました。 その中で目にした LakeFormation に着目してLTしようと思います。 #jawsug #jawsug_Nagoya 2/20

Slide 3

Slide 3 text

今日のLTの目的 • AWS Lake Formation の説明を補助するために、データパイプラインおよび データレイクの簡単な説明を行います。 • AWS Lake Formation のアクセス管理機構で何ができるかを紹介します。 • AWS Lake Formation のアクセス管理機構の動きを確認するための簡単なデ モを行います。 #jawsug #jawsug_Nagoya 3/20

Slide 4

Slide 4 text

データパイプライン データソース 取り込み データストア カタログ化 検索と分析 可視化 データ ベース IoTデバイス DBインポート ストリーム処理 データベース ストレージ データカタログ 前処理 検索 クエリ グラフ化 ダッシュボード モバイル端末 Amazon Kinesis AWS DMS Amazon S3 AWS Glue Amazon Athena Amazon OpenSearch Service Amazon EMR Amazon QuickSight Amazon Managed Grafana • 世の中で発生するデータ量の増加にともない、一元的なデータ処理フローが求められるようになった • この一元的なデータ処理フローをデータパイプラインと呼ぶ セキュリティとモニタリング #jawsug #jawsug_Nagoya 4/20

Slide 5

Slide 5 text

データレイク(LakeFormation) データソース 取り込み データストア カタログ化 検索と分析 可視化 データ ベース IoTデバイス DBインポート ストリーム処理 データベース ストレージ データカタログ 前処理 検索 クエリ グラフ化 ダッシュボード モバイル端末 Amazon Kinesis AWS DMS Amazon S3 AWS Glue Amazon Athena Amazon OpenSearch Service Amazon EMR Amazon QuickSight Amazon Managed Grafana セキュリティとモニタリング AWS Lake Formation ・ストレージ ・ETL ・カタログ ・ブループリント ・セキュリティ • データパイプラインの中で、特にデータを保存し加工する部分をデータレイクと呼ぶ • 今日紹介する LakeFormation はデータパイプラインの中でデータレイクを構築しやすくする技術 今日はアクセス管理回なので こちらにフォーカスしてみます。 #jawsug #jawsug_Nagoya 5/20

Slide 6

Slide 6 text

そもそもデータレイクとは? • 現在を断面的に見てもわからないので、実現方法別に表で比較(参考) 表計算ソフト RDBMS データウェアハウス データレイク AWSサービス EC2 / RDP RDS / Aurora Redshift S3,Glue,Lake Formation データサイズ ~数十 MB 数百GB~1TB TB~数PB PB~EB データ構造 構造化データ 構造化データ 構造化データ 構造化データ 半構造化データ 非構造化データ システム間連携 基本できない 連携コストが高い サイロ化しやすい 連携コストが高い サイロ化しやすい 単一のデータソースを 提供 HW価格 - - 高性能アプライアンス ハイエンドストレージ 安価なストレージを利 用 アーキテクチャ 課題 データサイズ データ共有 データサイズ システム連携の費用 Trueデータのありか 高価なHW データサイズ システム連携の費用 Trueデータのありか データソースのアクセ ス管理 HUB HUB DWH DWH DWH データソース データレイク 分析/可視化 SYS1 SYS2 #jawsug #jawsug_Nagoya 6/20

Slide 7

Slide 7 text

AWS Lake Formationのアクセス管理 #jawsug #jawsug_Nagoya • AWS Lake Formation では独自のアクセス管理機構を持つ • プリンシパルが Data Catalog リソースや検索対象のデータにアクセスする にはIAMとAWS Lake Formation の両方の許可を得る必要がある https://docs.aws.amazon.com/lake-formation/latest/dg/access-control-overview.html より 7/20

Slide 8

Slide 8 text

AWS Lake Formationのアクセス管理 #jawsug #jawsug_Nagoya • IAMと AWS Lake Formation の使い分けには2方式が存在する。 方式 Lake Formation IAM 説明 1 オープン 細かく設定 デフォルトの方式で、AWS Glueとの互換性を持たせている。 IAMポリシーで Data Catalog リソースと、S3へのすべての アクセスを制御する必要がある。 2 細かく設定 粗く設定 AWSではこちらを推奨している。 Data Catalog リソース、Amazon S3 ロケーション、および これらのロケーションにあるデータに対する限定的な Lake Formation 許可を個々のプリンシパルに付与する方式。 • 今日は方式2を利用して、2人のデータアナリストに別々の AWS Lake Formation のアクセス権を付与して挙動を確認します。 今日はこちらで実施してみる。 8/20

Slide 9

Slide 9 text

デモに登場する人物(ペルソナ) #jawsug #jawsug_Nagoya • AWS Lake Formation で権限を管理する際はペルソナを利用します • これから権限設定を調整する対象はデータアナリストです。 ペルソナ 説明 IAM 管理者 (スーパーユーザー) (必須) IAM ユーザーとロールを作成できるユーザーです。 AdministratorAccess AWS マネージドポリシーを持っています。すべての Lake Formation リソースに対するすべての許可を持っています。データレイク管理者 を追加できます。データレイク管理者としても指定されている場合を除き、Lake Formation 許可を付与することはできません。 データレイク管理者 (必須) Amazon S3 ロケーションの登録、Data Catalog へのアクセス、データ ベースの作成、ワークフローの作成と実行、他のユーザーへの Lake Formation 許可の付与、および AWS CloudTrail ログの表示を実行できるユーザーです。 データエンジニア (オプション) データベースの作成、クローラとワークフローの作成と実行、およ びクローラとワークフローが作成する Data Catalog テーブルに対する Lake Formation 許可の付与を実行できるユーザーです。 データアナリスト (オプション) Amazon Athena などを使用して、データレイクに対するクエリを実 行できるユーザーです。クエリを実行するために十分な許可のみを持っています。 ワークフローロール (必須) ユーザーに代わってワークフローを実行するロールです。このロールは、 ブループリントからワークフローを作成するときに指定します。 9/20

Slide 10

Slide 10 text

デモのシナリオ #jawsug #jawsug_Nagoya • これから実施するデモは以下のチュートリアルの内容です。 https://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/cbac-tutorial.html • ユーザの動画のレビューデータへのアクセスコントロールをします。 データイメージ • データアナリスト(日本)にはmarketplace=‘JP’ データアナリスト(米国)にはmarketplace=‘US’ のデータにのみクエリ実行な権限を付与します。 つまり、テーブルに対する行単位でのアクセスを実現します。 10/20

Slide 11

Slide 11 text

デモの概要構成 #jawsug #jawsug_Nagoya • 以下の図が簡易なデモの構成図です • 基本的なインフラはあるものとして、赤字部分をマネコンから設定します。 Amazon Simple Storage Service (Amazon S3) レビュー レビュー レビュー AWS Cloud AWS Glue Amazon Athena AWS Lake Formation AWS Glue Data Catalog DatalakeAdmin DataAnalystJP DataAnalystUS 全ての結果 ref USのみ JPのみ JPに対する 権限付与 USに対す る権限付与 query 11/20

Slide 12

Slide 12 text

デモ補助(1/7) #jawsug #jawsug_Nagoya • 制限を付与していない DatalakeAdmin で国ごとの件数を取得 全ての国で結果 が得られている 12/20

Slide 13

Slide 13 text

デモ補助(2/7) #jawsug #jawsug_Nagoya • AWS LakeFormation でフィルターを作成してAnalystに付与 13/20

Slide 14

Slide 14 text

デモ補助(3/7) #jawsug #jawsug_Nagoya 行に対する条件を記入 (marketplace=‘JP’) 日本向けのフィルタ Amazon_reviews_JP を作成 14/20

Slide 15

Slide 15 text

デモ補助(4/7) #jawsug #jawsug_Nagoya USも同様に作成 15/20

Slide 16

Slide 16 text

デモ補助(5/7) #jawsug #jawsug_Nagoya 作成したフィルターを利用して権限を プリンシパルに付与する 16/20

Slide 17

Slide 17 text

デモ補助(6/7) #jawsug #jawsug_Nagoya プリンシパル DataAnalystJP に 対して ターゲットとなる DB/テーブルを指定して フィルタを適用して Select の操作を許可 17/20

Slide 18

Slide 18 text

デモ補助(7/7) #jawsug #jawsug_Nagoya • DataAnalystJP でクエリを実行すると、JPに対する結果しか返ってこない 18/20

Slide 19

Slide 19 text

まとめ #jawsug #jawsug_Nagoya • AWS Lake Formation の説明を補助するために、データパイプラインおよび データレイクの簡単な説明をしました。 • AWS Lake Formation のアクセス管理機構で何ができるかを紹介しました。 • AWS LakeFormation のアクセス管理機構の動きを確認するための簡単なデ モを行いました。 19/20

Slide 20

Slide 20 text

参考文献 #jawsug #jawsug_Nagoya 1.AWSではじめるデータレイク: クラウドによる統合型データリポジトリ構築入門 2.【AWS Black Belt Online Seminar】 AWS Lake Formation https://d1.awsstatic.com/webinars/jp/pdf/services/20191001_BlackBelt_LakeFormation_A.pdf 3.Developer Guide https://docs.aws.amazon.com/lake-formation/latest/dg/what-is-lake-formation.html 4. AWS Lake Formation の Tutorial の Securing data lakes with row-level access control https://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/cbac-tutorial.html 20/20