DirectoryService 區段 - AWS ParallelCluster

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

DirectoryService 區段

注意

3.1.1 AWS ParallelCluster版中DirectoryService已新增 的支援。

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

AWS ParallelCluster會透過 System Security Services 協助程式 (SSSD) 支援的輕量型目錄存取通訊協定 (LDAP),管理支援多個使用者存取叢集的許可。如需詳細資訊,請參閱《 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)

您用於身分資訊的 Active Directory (AD) 網域。

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

  • FQDN 範例: corp.example.com

  • LDAP DN 範例: DC=corp,DC=example,DC=com

此屬性對應於稱為 的 sssd-ldap 參數ldap_search_base

更新政策:必須停止運算機群,才能變更此設定以進行更新。

DomainAddr (必要String)

指向做為 LDAP 伺服器的 AD 網域控制器的 URI 或 URIs。URI 對應至稱為 的 SSSD-LDAP 參數ldap_uri。此值可以是以逗號分隔的 URIs字串。若要使用 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 進行憑證驗證,URIs必須是主機名稱。

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

使用 LDAP over TLS/SSL (LDAPS) 來避免透過未加密的頻道傳輸密碼和其他敏感資訊。如果AWS ParallelCluster找不到通訊協定,它會ldaps://新增到每個 URI 或主機名稱的開頭。

更新政策:必須停止運算機群,才能變更此設定以進行更新。

PasswordSecretArn (必要String)

包含DomainReadOnlyUser純文字密碼之AWS Secrets Manager秘密的 Amazon Resource Name (ARN)。秘密的內容對應至稱為 的 SSSD-LDAP 參數ldap_default_authtok

注意

當您使用AWS Secrets Manager主控台建立秘密時,請務必選取「其他秘密類型」、選取純文字,並在秘密中只包含密碼文字。

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

當 LDAP 用戶端請求身分資訊DomainReadOnlyUser時,會使用密碼向 AD 網域進行身分驗證。

如果使用者具有 的許可DescribeSecretPasswordSecretArn則會驗證 。如果指定的秘密存在,PasswordSecretArn則 有效。如果使用者 IAM 政策不包含 DescribeSecretPasswordSecretArn則不會驗證 ,並顯示警告訊息。如需詳細資訊,請參閱基本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 用戶端所需的格式指定身分:

  • MicrosoftAD:

    cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=example,dc=com
  • SimpleAD:

    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 Machine Image (AMI),其中包含在前端節點上設定的憑證。

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

更新政策:必須停止運算機群,才能變更此設定以進行更新。

LdapTlsReqCert (選用String)

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

有效值:neverallowtrydemandhard

never即使發現憑證問題, allow、 和 也會try啟用連線以繼續。

demand 如果找不到憑證問題, 和 會hard啟用通訊以繼續。

如果叢集管理員使用不需要憑證驗證才能成功的值,則會傳回警告訊息給管理員。基於安全考量,建議您不要停用憑證驗證。

預設值為 hard

更新政策:必須停止運算機群,才能變更此設定以進行更新。

LdapAccessFilter (選用String)

指定篩選條件,以限制對使用者子集的目錄存取。此屬性對應至稱為 的 SSSD-LDAP 參數ldap_access_filter。您可以使用它來將查詢限制為支援大量使用者的 AD。

此篩選條件可以封鎖使用者存取叢集。不過,這不會影響封鎖使用者的可探索性。

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

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

範例:

"!(cn=SomeUser*)" # denies access to every user with an alias that starts with "SomeUser" "(cn=SomeUser*)" # allows access to every user with alias that starts 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,則在前端節點上進行第一次身分驗證後,每個使用者都會產生 SSH 金鑰並儲存到 。

對於尚未在前端節點上進行身分驗證的使用者,在下列情況下可能會發生第一次身分驗證:

  • 使用者第一次使用自己的密碼登入前端節點。

  • 在前端節點中,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 simple 的組態access_provider。來自 的使用者EngineeringTeam可以存取 目錄。在此情況下LdapAccessFilter,不得設定 DirectoryService /。

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

更新政策:必須停止運算機群,才能變更此設定以進行更新。