Amazon EMR on EKS と AWS Lake Formation の連携の仕組み
Amazon EMR on EKS と Lake Formation を使用することにより、各 Spark ジョブにアクセス許可のレイヤーを適用して、Amazon EMR on EKS がジョブを実行するときに Lake Formation アクセス許可コントロールを適用できます。Amazon EMR on EKS は、Spark リソースプロファイル
以下は、Amazon EMR on EKS が Lake Formation セキュリティポリシーで保護されたデータにアクセスする方法の概要を示します。
このプロセスのステップを以下に示します:
ユーザーは、AWS Lake Formation 対応の Amazon EMR on EKS 仮想クラスターに Spark ジョブを送信します。
Amazon EMR on EKS サービスはユーザードライバーをセットアップし、ユーザープロファイルでジョブを実行します。ユーザードライバーは、タスクの起動、エグゼキュターのリクエスト、Amazon S3 または Glue データカタログへのアクセスができない Spark のリーンバージョンを実行します。ジョブプランの構築のみを行います。
Amazon EMR on EKS サービスは、システムドライバーと呼ばれる 2 番目のドライバーを設定し、システムプロファイルで (特権 ID を使用して) 実行します。Amazon EKS は、通信用の 2 つのドライバー間に暗号化された TLS チャネルを設定します。ユーザードライバーはチャネルを使用して、ジョブプランをシステムドライバーに送信します。システムドライバーは、ユーザーが送信したコードを実行しません。フル Spark を実行して、データアクセスのために Amazon S3 およびデータカタログと通信します。エグゼキュターをリクエストし、ジョブプランを一連の実行ステージにコンパイルします。
Amazon EMR on EKS サービスは、エグゼキュターでステージを実行します。どのステージのユーザーコードも、ユーザープロファイルのエグゼキュターでのみ実行されます。
Lake Formation で保護されたデータカタログテーブルからデータを読み取るステージ、またはセキュリティフィルターを適用するステージは、システムエグゼキュターに委任されます。