Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「データレイク」という言葉だけ知ってる人がAWS Lake Formationをはじめてみる/...

maru1981
October 15, 2021
2k

「データレイク」という言葉だけ知ってる人がAWS Lake Formationをはじめてみる/DevelopersIO2021 DECADE Try AWS Lake Formation for the first time

maru1981

October 15, 2021
Tweet

Transcript

  1. 6 なぜデータレイクが必要なのか︖ データからビジネス価値を⽣み出せる企業は、同業他社 よりも優れた業績をあげている • 顧客の獲得と維持 • ⽣産性の向上 • デバイスの事前の保守管理

    • 情報に基づいた意思決定 https://s3-ap-southeast-1.amazonaws.com/mktg-apac/Big+Data+Refresh+Q4+Campaign/Aberdeen+Research+- +Angling+for+Insights+in+Today's+Data+Lake.pdf
  2. 7 データ活⽤における課題 • システム間の調整が⾯倒 • データ複製による共有の限界 • 最新データどれ︖問題 • セキュリティ(データの主権委譲)

    • 共有するためのETLのコスト、リソース • データの蓄積 • コスト、リソース • そもそも、どんなデータがどこにあるのかわからない
  3. 10 データカタログ メタデータの管理台帳 • メタデータ=データに関する情報 • テーブル名 • カラム名 •

    型 • データの場所 • パーティショニング • バージョン • ファイル形式 • 更新⽇ • …etc
  4. 13 AWS Glueの全体像 AWS Glue トリガー クローラー データカタログ サーバレス エンジン

    データソース ターゲット • コネクタ • データクロール • スキーマレジストリ • メタデータを管理 • ジョブ • スケジューラ • ワークフロー • カタログのメタデータ をもとにデータ抽出 • サーバレスエンジンにてジョブ を実⾏し、ターゲットに出⼒
  5. 14 データカタログを⽤いたデータ取得 クローラー データカタログ サーバレス エンジン AWS Glue S3 RDS

    Redshift Spectrum Redshift Athena S3 • サーバレスエンジンにて ジョブを実⾏し、ターゲ ットに出⼒ データアナリストはデータソースではなく、カタ ログを利⽤してS3オブジェクトをテーブルとして 利⽤する アナリスト アナリスト データソース
  6. 24 Lake Formationがあるとき • IAMを拡張したセキュリティモデル • シンプルなGrant/RevokeでLake Formationが⼀元的にア クセス制御が可能 IAMユーザ

    データカタログ IAMロール Lake Formation • Grant/Revoke • Database A • Table A • Permission ü SELECT ü CREATE TABLE S3 Athena Glueジョブ Redshift
  7. 25 Lake Formationセキュリティモデル ユーザー Lake Formation S3 Athena Glue Redshift

    EMR LFで管理された テーブルに対する クエリ テーブルへのアクセスリクエスト テーブルへのアクセスするための ⼀時クレデンシャルを返す LFの⼀時クレデンシャルでテーブルに 含まれるS3オブジェクトにリクエスト クエリ結果を返す Lake Formationに 統合されたサービス 1 2 3 4 5
  8. 26 Lake Formationと統合されたサービス 以下のサービスはLake Formationのアクセス許可を 尊重する • AWS Glue •

    列の権限は未サポート(フィルタリングは統合サービス側に依存する) • Amazon Athena • Amazon Redshift Spectrum • マニフェストを使⽤したクエリは未サポート • Amazon QuickSight Enterprize Edition • Amazon EMR
  9. 28 Lake Formationタグの登場 • 2021年5⽉ Lake Formation タグがGA • クロスアカウントの場合、AWSアカウントのみサポート

    • 現時点でOrganizationやOUには適⽤できない • TBAC のサポートにより新しいリソースが追加されるたびにポリシ ーを更新する必要がなくなる(推奨) IAMユーザ データカタログ IAMロール Lake Formation • Grant/Revoke • TAG: ENV=analyst • Permission ü SELECT Database A Database B Database C New!! ENV=analyst ENV=analyst ENV=secure
  10. 32 Lake Formationのはじめ⽅(例) IAM管理者 • データレイク管理者の作成(IAMユーザ/ロール) • Lake Formation管理者の登録 •

    Lake Formationパススルーの無効化 https://docs.aws.amazon.com/lake-formation/latest/dg/getting-started-setup.html
  11. 39 暗黙的な許可 Lake Formationは以下の暗黙的な許可を付与する • データレイク管理者 • データカタログ内のすべてのリソースのフル読み取り • データベースの作成および、他のユーザへデータベース作成の権限付与

    • 他のデータベース作成者が作成したテーブルの変更/削除するための暗黙的な権限はない • データベース作成者 • 作成したデータベースに対するすべての権限、他のユーザへテーブル作成の権限付与 • 他のテーブル作成者が作成したテーブルに対する暗黙的な許可は持たない • テーブル作成者 • 作成したテーブルに対するすべての権限 https://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/implicit-permissions.html
  12. 41 暗黙的な許可 データレイク管理者 ① データエンジニアはDatabase A を作成。作成したデータベースの CREATE_TABLE権限を暗黙的に 持つ ②

    データエンジニアはDatabase A にTable Aを作成。データエンジ ニアはTable Aに対する全権限を 暗黙的に持つ ③ データエンジニアはデータアナリ ストにTable Aへのアクセス許可 を与える データエンジニア Database A Table A ② ① データアナリスト ③ Database Aの作成者ではないため、 Table Aへの変更/削除権限は暗黙的 には持っていない
  13. 42 暗黙的な許可 データレイク管理者 ① データエンジニアAがデータエン ジニアBにDatabase Aに対する CREATE_TABLE権限を付与 ② データベースエンジニアBは

    Database AにTable Bを作成。デ ータベースエンジニアBはTable B に対する全権限を暗黙的に持つ データエンジニアA Database A Table A データエンジニアB Table Bの作成者ではないため、Table Bへの権限は暗黙的には持っていない Table B ② CREATE_TABLE
  14. 44 Lake Formation まとめ • スワンプにしないためにカタログを持ちましょう • AWSではデータカタログをサーバレスに管理するサービス AWS Glueがあります

    • AWS Glueをベースにセキュリティ&コントロールをシン プルかつ柔軟に利⽤するための拡張機能的なサービスが AWS Lake Formation • Lake FormationはIAMを拡張させたセキュリティモデル を持っている • とはいえ、IAMが無視されるわけではない
  15. 45 Lake Formation まとめ • LFタグによってよりシンプルな管理が可能になった • Lake Formationのセキュリティモデルと連携できるのは 未だ⼀部のサービスのみ

    • Lake Formationパススルーを無効化しないと、IAMによ るパーミッションモデルになる • 暗黙的な許可を理解して、権限を委譲していく • Lake Formation は無料で利⽤できます • ただし、裏で動くGlueやS3で課⾦