DirectoryService 區段 - AWS ParallelCluster

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

DirectoryService 區段

注意

在 3.1.1 AWS ParallelCluster 版本中添加了 Support。DirectoryService

(選擇性) 支援多重使用者存取之叢集的目錄服務設定。

AWS ParallelCluster 透過系統安全性服務常駐程式 (SSSD) 支援的輕量型目錄存取通訊協定 (LDAP) 來管理支援使用 Active Directory (AD) 的多個使用者存取叢集的權限。如需詳細資訊,請參閱《AWS Directory Service 使用者指南》中的什麼是 AWS Directory Service?

建議您透過 TLS/SSL 使用 LDAP (簡稱為 LDAPS 的縮寫),以確保任何可能的敏感資訊透過加密通道傳輸。

DirectoryService: DomainName: string DomainAddr: string PasswordSecretArn: string DomainReadOnlyUser: string LdapTlsCaCert: string LdapTlsReqCert: string LdapAccessFilter: string GenerateSshKeysForUsers: boolean AdditionalSssdConfigs: dict

更新原則:必須停止運算叢集,才能變更此設定以進行更新。

DirectoryService 屬性

注意

如果您打算 AWS ParallelCluster 在沒有網際網路存取權的單一子網路中使用,請參閱AWS ParallelCluster在無法存取網際網路的單一子網路中以取得其他需求。

DomainName必填String

您用於身分識別資訊的作用中目錄 (AD) 網域。

DomainName同時接受完整網域名稱 (FQDN) 和 LDAP 辨別名稱 (DN) 格式。

  • FQDN 範例:corp.example.com

  • LDAP 網域名稱範例:DC=corp,DC=example,DC=com

此屬性會對應至所呼叫的 sssd-ldap 參數。ldap_search_base

更新原則:必須停止運算叢集,才能變更此設定以進行更新。

DomainAddr必填String

指向做為 LDAP 伺服器之 AD 網域控制站的 URI 或 URI。URI 會對應至所呼叫的 SSSD-LDAP 參數。ldap_uri該值可以是 URI 的逗號分隔字串。若要使用 LDAP,您必須新增ldap://至每個 URI 的開頭。

範例值:

ldap://192.0.2.0,ldap://203.0.113.0 # LDAP ldaps://192.0.2.0,ldaps://203.0.113.0 # LDAPS without support for certificate verification ldaps://abcdef01234567890.corp.example.com # LDAPS with support for certificate verification 192.0.2.0,203.0.113.0 # AWS ParallelCluster uses LDAPS by default

如果您將 LDAPS 與憑證驗證搭配使用,則 URI 必須是主機名稱。

如果您在沒有憑證驗證或 LDAP 的情況下使用 LDAPS,則 URI 可以是主機名稱或 IP 位址。

使用透過 TLS/SSL (LDAPS) 進行的 LDAP,以避免透過未加密的通道傳輸密碼和其他敏感資訊。如果找 AWS ParallelCluster 不到協議,它將添加ldaps://到每個 URI 或主機名的開頭。

更新原則:必須停止運算叢集,才能變更此設定以進行更新。

PasswordSecretArn必填String

包含DomainReadOnlyUser純文本密碼的 AWS Secrets Manager 密碼的 Amazon 資源名稱(ARN)。密碼的內容對應於所謂的 SSSD-LDAP 參數。ldap_default_authtok

注意

使用 AWS Secrets Manager 控制台創建密碼時,請務必選擇「其他類型的密碼」,選擇純文本,並且僅在密碼中包含密碼文本。

如需如何使用建立密碼 AWS Secrets Manager 的詳細資訊,請參閱建立 AWS Secrets Manager 密碼

LDAP 用戶端會在要求身分識別資訊DomainReadOnlyUser時,使用密碼來驗證 AD 網域。

如果使用者具有的權限 DescribeSecretPasswordSecretArn則會驗證。 PasswordSecretArn如果指定的密碼存在,則為有效。如果使用者 IAM 政策不包含DescribeSecret,則PasswordSecretArn不會驗證並顯示警告訊息。如需詳細資訊,請參閱 基本 AWS ParallelCluster pcluster使用者原則

當密碼的值變更時,叢集會自動更新。若要更新新密碼值的叢集,您必須使用pcluster update-compute-fleet命令停止計算叢集,然後從頭節點內執行下列命令。

$ sudo /opt/parallelcluster/scripts/directory_service/update_directory_service_password.sh

更新原則:必須停止運算叢集,才能變更此設定以進行更新。

DomainReadOnlyUser必填String

驗證叢集使用者登入時,用來查詢 AD 網域以取得身分識別資訊的識別碼。它對應於所謂的 SSSD-LDAP 參數。ldap_default_bind_dn針對此值使用您的 AD 身分識別資訊。

在節點上的特定 LDAP 用戶端所需的表單中指定識別碼:

  • 微軟體:

    cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=example,dc=com
  • 簡單鉛:

    cn=ReadOnlyUser,cn=Users,dc=corp,dc=example,dc=com

更新原則:必須停止運算叢集,才能變更此設定以進行更新。

LdapTlsCaCert可選String

憑證服務包的絕對路徑,其中包含憑證鏈結中為網域控制站發行憑證之每個憑證授權單位的憑證。它對應於所呼叫的 SSSD-LDAP 參數。ldap_tls_cacert

證書包是由 PEM 格式的不同證書串聯組成的文件,在 Windows 中也被稱為 DER Base64 格式。它是用來驗證做為 LDAP 伺服器之 AD 網域控制站的識別碼。

AWS ParallelCluster 不負責將憑證的初始放置到節點上。身為叢集管理員,您可以在建立叢集之後,在頭節點中手動設定憑證,也可以使用啟動程序指令碼。或者,您可以使用 Amazon 機器映像 (AMI),其中包含在頭節點上設定的憑證。

S@@ imple AD 不提供 LDAPS 支援。若要瞭解如何將 Simple AD 目錄與整合 AWS ParallelCluster,請參閱AWS 安全性部落格中的如何為 Simple AD 設定 LDAPS 端點

更新原則:必須停止運算叢集,才能變更此設定以進行更新。

LdapTlsReqCert可選String

指定要對 TLS 工作階段中的伺服器憑證執行哪些檢查。它對應於所謂的 SSSD-LDAP 參數。ldap_tls_reqcert

有效值:neverallowtrydemandhard

neverallow,並try啟用連線,即使發現憑證有問題,仍可繼續執行。

demand並在找不到憑證問題時hard啟用通訊以繼續。

如果叢集管理員使用的值不需要憑證驗證成功,系統管理員會傳回警告訊息。基於安全理由,我們建議您不要停用憑證驗證。

預設值為 hard

更新原則:必須停止運算叢集,才能變更此設定以進行更新。

LdapAccessFilter可選String

指定篩選器,以限制對使用者子集的目錄存取。此內容會對應至所呼叫的 SSSD-LDAP 參數。ldap_access_filter您可以使用它將查詢限制為支援大量使用者的 AD。

此篩選器可以封鎖使用者對叢集的存取權。但是,它不會影響被阻止用戶的可發現性。

如果設定此屬性,SSSD 參數access_provider會由ldap內部設定, AWS ParallelCluster 且不得由 DirectoryService/AdditionalSssdConfigs設定修改。

如果省略此屬性,且未在 DirectoryService/中指定自訂使用者存取權 AdditionalSssdConfigs,則目錄中的所有使用者都可以存取叢集。

範例:

"!(cn=SomeUser*)" # denies access to every user with alias starting with "SomeUser" "(cn=SomeUser*)" # allows access to every user with alias starting with "SomeUser" "memberOf=cn=TeamOne,ou=Users,ou=CORP,dc=corp,dc=example,dc=com" # allows access only to users in group "TeamOne".

更新原則:必須停止運算叢集,才能變更此設定以進行更新。

GenerateSshKeysForUsers可選Boolean

定義叢集使用者在頭節點上的初始驗證之後,是否立即為叢集使用者 AWS ParallelCluster 產生 SSH 金鑰。

如果設定為true,則會為每個使用者在頭節點上進行首次驗證後產生並儲存 SSH 金鑰 (如果不存在)。USER_HOME_DIRECTORY/.ssh/id_rsa

對於尚未在 head 節點上進行身份驗證的用戶,在以下情況下可能會發生第一次身份驗證:

  • 用戶首次使用自己的密碼登錄到頭節點。

  • 在頭節點中,sudoer 首次切換到用戶:su USERNAME

  • 在頭節點中,sudoer 首次以用戶身份運行命令:su -u USERNAME COMMAND

使用者可以在後續登入叢集頭節點和計算節點時使用 SSH 金鑰。使用時 AWS ParallelCluster,叢集運算節點的密碼登入會停用設計。如果使用者尚未登入頭節點,則不會產生 SSH 金鑰,且使用者將無法登入計算節點。

預設值為 true

更新原則:必須停止運算叢集,才能變更此設定以進行更新。

AdditionalSssdConfigs可選Dict

鍵值對的字典,其中包含 SSSD 參數和值,以寫入叢集執行個體上的 SSSD 配置檔案。如需 SSSD 組態檔的完整說明,請參閱執行個體線上手冊頁面以SSSD及相關的設定檔。

SSSD 參數和值必須與下列清單中所述 AWS ParallelCluster的 SSSD 組態相容。

下列組態程式碼片段是的有效組態範例AdditionalSssdConfigs

此範例會啟用 SSSD 記錄檔的偵錯層級、將搜尋基礎限制為特定組織單位,以及停用認證快取。

DirectoryService: ... AdditionalSssdConfigs: debug_level: "0xFFF0" ldap_search_base: OU=Users,OU=CORP,DC=corp,DC=example,DC=com cache_credentials: False

此範例指定 SSSD simpleaccess_provider的組態。提供來自的EngineeringTeam使用者對目錄的存取權。 DirectoryService在這種情況下,不得設置/LdapAccessFilter

DirectoryService: ... AdditionalSssdConfigs: access_provider: simple simple_allow_groups: EngineeringTeam

更新原則:必須停止運算叢集,才能變更此設定以進行更新。