

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon EMR on EKS 如何與 AWS Lake Formation 搭配使用
<a name="security_iam_fgac-lf-works"></a>

搭配 Lake Formation 使用 Amazon EMR on EKS 可讓您在每個 Spark 任務上強制執行一層許可，以在 Amazon EMR on EKS 執行任務時套用 Lake Formation 許可控制。Amazon EMR on EKS 使用 [Spark 資源描述](https://spark.apache.org/docs/latest/api/java/org/apache/spark/resource/ResourceProfile.html)檔來建立兩個描述檔，以有效地執行任務。使用者設定檔會執行使用者提供的程式碼，而系統設定檔則會強制執行 Lake Formation 政策。每個已啟用 Lake Formation 的任務都會使用兩個 Spark 驅動程式，一個用於使用者設定檔，另一個用於系統設定檔。如需詳細資訊，請參閱什麼是 [AWS Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/what-is-lake-formation.html)。

以下是 Amazon EMR on EKS 如何存取 Lake Formation 安全政策所保護資料的高階概觀。

![Lake Formation 提供的任務安全](http://docs.aws.amazon.com/zh_tw/emr/latest/EMR-on-EKS-DevelopmentGuide/images/fgac_diagram_eks_spark.png)


下列步驟說明此程序：

1. 使用者將 Spark 任務提交至已啟用 AWS Lake Formation 的 Amazon EMR on EKS 虛擬叢集。

1. Amazon EMR on EKS 服務會設定使用者驅動程式，並在使用者設定檔中執行任務。使用者驅動程式執行精簡版本的 Spark，無法啟動任務、請求執行器、存取 Amazon S3 或 Glue Data Catalog。它只會建置任務計畫。

1. Amazon EMR on EKS 服務會設定第二個名為系統驅動程式的驅動程式，並在系統設定檔 （具有特殊權限身分） 中執行。Amazon EKS 會在兩個驅動程式之間設定加密的 TLS 頻道以進行通訊。使用者驅動程式使用 頻道將任務計劃傳送至系統驅動程式。系統驅動程式不會執行使用者提交的程式碼。它執行完整的 Spark，並與 Amazon S3 和 Data Catalog 通訊以進行資料存取。它請求執行器並將任務計畫編譯為一系列執行階段。

1. 然後，Amazon EMR on EKS 服務會在執行器上執行階段。任何階段的使用者程式碼只會在使用者設定檔執行器上執行。

1. 從受 Lake Formation 保護的資料目錄資料表或套用安全篩選條件的資料表讀取資料的階段，會委派給系統執行器。