本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon EMR 上設定 Kerberos
本節提供使用常見架構設定 Kerberos 的組態詳細資訊和範例。無論您選擇哪個架構,組態基本知識都相同,並以三個步驟完成。如果您使用外部 KDC 或設定跨域信任,您必須確保叢集中的每個節點都有連到外部 KDC 的網路路由,包括設定適用的安全群組,以允許傳入和傳出 Kerberos 流量。
步驟 1:使用 Kerberos 屬性建立安全組態
安全組態指定 Kerberos KDC 的詳細資訊,並允許每次建立叢集時重複使用 Kerberos 組態。您可以使用 Amazon EMR 主控台、 AWS CLI或 EMR API 建立安全組態。安全組態也可以包含其他安全性選項,例如加密。如需建立安全組態以及在建立叢集時指定安全組態的詳細資訊,請參閱 使用安全組態來設定 Amazon EMR 叢集安全性。如需安全組態中 Kerberos 屬性的詳細資訊,請參閱 安全組態的 Kerberos 設定。
步驟 2:建立叢集,並指定叢集特定的 Kerberos 屬性
當您建立叢集時,需指定 Kerberos 安全組態以及叢集特定的 Kerberos 選項。使用 Amazon EMR 主控台時,只能使用與指定之安全組態相容的 Kerberos 選項。當您使用 AWS CLI 或 Amazon EMR API 時,請確定您指定與指定安全組態相容的 Kerberos 選項。例如,如果使用 CLI 建立叢集時,指定了跨域信任的主體密碼,但指定的安全組態並非使用跨域信任參數來設定,就會發生錯誤。如需詳細資訊,請參閱叢集的 Kerberos 設定。
步驟 3:設定叢集主節點
根據您的架構和實作需求,可能需在叢集上進行其他設定。您可以在建立之後再進行設定,或在建立過程中使用步驟或引導操作。
對於每個使用 SSH 連接到叢集的 Kerberos 驗證使用者,您必須確保建立對應到 Kerberos 使用者的 Linux 帳戶。如果使用者主體由 Active Directory 域控制器提供 (以外部 KDC 的形式或透過跨領域信任的方式),Amazon EMR 會自動建立 Linux 帳戶。如果未使用 Active Directory,您必須為每個對應到 Linux 使用者的使用者建立主體。如需詳細資訊,請參閱為經過 Kerberos 驗證的 HDFS 使用者和 SSH 連線設定 Amazon EMR 叢集。
每個使用者還必須擁有自己的 HDFS 使用者目錄,您也必須建立這些目錄。此外,SSH 必須設定為啟用 GSSAPI,以允許來自 Kerberos 驗證使用者的連線。主節點上必須啟用 GSSAPI,且必須設定用戶端 SSH 應用程式為使用 GSSAPI。如需詳細資訊,請參閱為經過 Kerberos 驗證的 HDFS 使用者和 SSH 連線設定 Amazon EMR 叢集。