Amazon EMR Studio 運作方式 - Amazon EMR

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

Amazon EMR Studio 運作方式

Amazon EMR Studio 是您為使用者團隊建立的 Amazon EMR 資源。每個 Studio 都是獨立的、基於 Web 的整合式開發環境,適用於在 Amazon EMR 叢集上執行的 Jupyter 筆記本。使用者使用公司憑證進行登入。

您建立的每個 EMR Studio 都會使用下列 AWS 資源:

  • 具有子網路的 Amazon 虛擬私有雲端 (VPC) - 使用者在指定 VPC 中的 Amazon EMR 和 Amazon EMR on EKS 叢集上執行 Studio 核心和應用程式。EMR Studio 可以連接到您建立 Studio 時指定之子網路中的任何叢集。

  • IAM 角色和許可政策 - 若要管理使用者許可,可以建立 IAM 許可政策,將其附接至使用者的 IAM 身分或使用者角色。EMR Studio 也使用 IAM 服務角色和安全群組與其他 AWS 服務互通。如需詳細資訊,請參閱存取控制定義安全群組,以控制 EMR Studio 網路流量

  • 安全群組 - EMR Studio 會使用安全群組,在 Studio 和 EMR 叢集之間建立安全的網路通道。

  • Amazon S3 備份位置 - EMR Studio 可將筆記本工作儲存在 Amazon S3 位置中。

以下步驟概述了如何建立和管理 EMR Studio:

  1. 使用 IAM 或 IAM Identity Center 驗證,在您的 AWS 帳戶 中建立一個 Studio。如需說明,請參閱 設定 Amazon EMR Studio

  2. 將使用者和群組指派給您的 Studio。使用許可政策為每個使用者設定精細的許可。如需詳細資訊,請參閱 指派和管理 EMR Studio 使用者 主題。

  3. 開始使用 AWS CloudTrail 事件監控 EMR Studio 動作。如需更多詳細資訊,請參閱 監控 Amazon EMR Studio 動作

  4. 透過叢集範本和 Amazon EMR on EKS 受管端點,為 Studio 使用者提供更多叢集選項。

身分驗證和使用者登入

Amazon EMR Studio 支援兩種身分驗證模式:IAM 身分驗證模式和 IAM Identity Center 身分驗證模式。IAM 模式使用 AWS Identity and Access Management (IAM),而 IAM Identity Center 模式則使用 AWS IAM Identity Center。建立 EMR Studio 時,可以為該 Studio 的所有使用者選擇身分驗證模式。

IAM 身分驗證模式

使用 IAM 身分驗證模式,您可以使用 IAM 身分驗證或 IAM 聯合。

IAM 身分驗證可讓您管理 IAM 身分,例如 IAM 中的使用者、群組和角色。可以使用 IAM 許可政策和屬性型存取控制 (ABAC) 授予使用者對 Studio 的存取權。

IAM 聯合可讓您在第三方身分提供者 (IdP) 和 AWS 之間建立信任,以便透過 IdP 來管理使用者身分。

IAM Identity Center 身分驗證模式

IAM Identity Center 身分驗證模式可讓您為使用者提供對 EMR Studio 的聯合存取權。可以使用 IAM Identity Center 從 IAM Identity Center 目錄、現有的公司目錄或外部 IdP (例如 Azure Active Directory (AD)) 中驗證使用者和群組。然後,使用身分提供者 (IdP) 來管理使用者。

EMR Studio 支援將下列身分提供者用於 IAM Identity Center:

身分驗證如何影響登入和使用者指派

您為 EMR Studio 選擇的身分驗證模式會影響使用者登入 Studio 的方式、將使用者指派給 Studio 的方式以及您授權 (授予許可) 使用者執行動作的方式,例如建立新的 Amazon EMR 叢集。

下表根據身分驗證模式,總結了 EMR Studio 的登入方法。

身分驗證模式的 EMR Studio 登入選項
身分驗證模式 登入方式 描述
  • IAM (身分驗證和聯合)

  • IAM Identity Center

EMR Studio URL

使用者使用 Studio 存取 URL 登入 Studio。例如:https://xxxxxxxxxxxxxxxxxxxxxxx.emrstudio-prod.us-east-1.amazonaws.com

使用者在使用 IAM 身分驗證時輸入 IAM 憑證。當您使用 IAM 聯合或 IAM Identity Center 時,EMR Studio 會將使用者重新導向至身分提供者的登入 URL,以輸入憑證。

如果為聯合身分,此登入選項稱為服務提供者 (SP) 啟動的登入。

  • IAM (聯合)

  • IAM Identity Center

身分提供者 (IdP) 入口網站

使用者登入您的身分提供者的入口網站 (例如 Azure 入口網站),然後啟動 Amazon EMR 主控台。啟動 Amazon EMR 主控台後,使用者可以從 Studio 清單中選取並開啟 Studio。

也可以將 EMR Studio 設定為 SAML 應用程式,讓使用者可以從身分提供者的入口網站登入特定 Studio。如需指示,請參閱在 IdP 入口網站中將 EMR Studio 設定為 SAML 應用程式

如果為聯合身分,此登入選項稱為身分提供者 (IdP) 啟動的登入。

  • IAM (身分驗證)

AWS Management Console 使用者利用 IAM 憑證登入 AWS Management Console,並從 Amazon EMR 主控台的 Studios 清單中開啟 Studio。

下表概述了透過身分驗證模式對 EMR Studio 進行的使用者指派和授權。

透過身分驗證模式進行 EMR Studio 使用者指派和授權
身分驗證模式 使用者指派 使用者授權

IAM (身分驗證和聯合)

允許附接至 IAM 身分 (使用者、群組或角色) 的 IAM 許可政策中的 CreateStudioPresignedUrl 動作。

若為聯合身分使用者,在為用於聯合的 IAM 角色而設定的許可政策中,允許 IAM 中的 CreateStudioPresignedUrl 動作。

使用屬性型存取控制 (ABAC) 來指定使用者可以存取的一個或多個 Studio。

如需說明,請參閱 將使用者或群組指派給 EMR Studio

定義允許某些 EMR Studio 動作的 IAM 許可政策。

若為原生使用者,請將 IAM 許可政策附接至 IAM 身分 (使用者、群組或角色)。若為聯合身分使用者,在為用於聯合的 IAM 角色而設定的許可政策中允許 Studio 動作。

如需更多詳細資訊,請參閱 設定 Amazon EC2 或 Amazon EKS 的 EMR Studio 使用者許可

IAM Identity Center

對於使用 IdCUserAssignment 設定為 REQUIRED 所建立的 Studio,請使用指定的工作階段政策將使用者映射至 Studio。如需更多詳細資訊,請參閱 將使用者或群組指派給 EMR Studio

對於使用 IdCUserAssignment 設定為 OPTIONAL 所建立的 Studio,任何 Identity Center 使用者或群組均可存取 Studio。

選用:定義允許某些 EMR Studio 動作的 IAM 工作階段政策。將使用者指派給 Studio 時,將工作階段政策映射至使用者。

如需更多詳細資訊,請參閱 IAM Identity Center 身分驗證模式的使用者許可

存取控制

在 Amazon EMR Studio 中,可以使用 AWS Identity and Access Management (IAM) 身分型政策來設定使用者授權 (許可)。在這些政策中,可以指定允許的動作和資源,以及在何種條件下允許動作。

IAM 身分驗證模式的使用者許可

若要在針對 EMR Studio 使用 IAM 身分驗證時設定使用者許可,則可以在 IAM 許可政策中允許諸如 elasticmapreduce:RunJobFlow 等動作。可以建立一個或多個許可政策以供使用。例如,可以建立不允許使用者建立新 Amazon EMR 叢集的基礎政策,以及另一個允許建立叢集的政策。如需所有 Studio 動作的清單,請參閱 適用於 EMR Studio 使用者的 AWS Identity and Access Management 許可

IAM Identity Center 身分驗證模式的使用者許可

使用 IAM Identity Center 身分驗證時,可以建立單一 EMR Studio 使用者角色。使用者角色是使用者登入時 Studio 擔任的專用 IAM 角色。

可以將 IAM 工作階段政策附接至 EMR Studio 使用者角色。工作階段政策是一種特殊的 IAM 許可政策,可限制聯合身分使用者在 Studio 登入工作階段期間可執行的操作。工作階段政策可讓您為使用者或群組設定特定許可,而無需為 EMR Studio 建立多個使用者角色。

將使用者和群組指派給 Studio 時,會將工作階段政策映射至該使用者或群組,以套用精細的許可。也可以隨時更新使用者或群組的工作階段政策。Amazon EMR 會儲存您建立的每個工作階段政策映射。

如需有關工作階段政策的詳細資訊,請參閱《AWS Identity and Access Management 使用者指南》中的政策與許可

Workspaces

工作區是 Amazon EMR Studio 的主要構成部分。若要組織筆記本,使用者可以在 Studio 中建立一個或多個工作區。如需更多詳細資訊,請參閱 了解工作區基礎知識

JupyterLab 中的工作區類似,工作區會保留筆記本工作的狀態。不過,作業區使用者介面會使用其他工具來擴充開放原始碼 JupyterLab 介面,讓您能夠建立和附接 EMR 叢集、執行作業、探索範例筆記本以及連結 Git 儲存庫。

下列清單包含 EMR Studio Workspaces 的主要功能:

  • 工作區可見性是以 Studio 為基礎。您在某個 Studio 中建立的工作區在其他 Studio 中不可見。

  • 預設情況下,可共用工作區,所有 Studio 使用者都可以看到它。但是,一次只能有一個使用者在工作區中開啟和工作。若要與其他使用者同時使用,您可以 設定工作區協同合作

  • 當您啟用工作區協同合作時,可以與工作區中的其他使用者同時進行協作。如需更多詳細資訊,請參閱 設定工作區協同合作

  • 工作區中的筆記本可共用相同的 EMR 叢集以執行命令。可以將工作區附接至在 Amazon EC2 上執行的 Amazon EMR 叢集,或附接到 Amazon EMR on EKS 虛擬叢集和受管端點。

  • 工作區可以切換到與 Studio 子網路關聯的另一個可用區域。可以停止並重新啟動工作區,以提示容錯移轉程序。當您重新啟動工作區時,當 Studio 設定為可存取多個可用區域時,EMR Studio 會在 Studio VPC 的不同可用區域中啟動工作區。若 Studio 只有一個可用區域,EMR Studio 會嘗試在不同的子網路中啟動工作區。如需更多詳細資訊,請參閱 解決工作區連線問題

  • 工作區可以連接到與 Studio 相關聯的任何子網路中的叢集。

如需有關建立和設定 EMR Studio Workspaces 的詳細資訊,請參閱 了解工作區基礎知識

Amazon EMR Studio 中的筆記本儲存

當您使用工作區時,EMR Studio 會在與您的 Studio 相關聯的 Amazon S3 位置定期自動儲存筆記本檔案中的儲存格。此備份程序會保留工作階段之間的工作,以供您稍後使用,而不需要將變更遞交至 Git 儲存庫。如需更多詳細資訊,請參閱 儲存工作區內容

當您從工作區刪除筆記本檔案時,EMR Studio 會為您從 Amazon S3 中刪除備份版本。但是,如果在未先刪除其筆記本檔案的情況下刪除工作區,筆記本檔案會保留在 Amazon S3 中,並繼續產生儲存費用。如需進一步了解,請參閱刪除工作區和筆記本檔案