DirectoryService 區段 - AWS ParallelCluster

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

DirectoryService 區段

注意

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

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

AWS ParallelCluster 管理許可,透過 System Security Services Daemon () 支援的輕量型目錄存取通訊協定 (LDAP),支援多個使用者透過 Active Directory (AD) 存取叢集。 SSSD如需詳細資訊,請參閱《AWS Directory Service 使用者指南》中的什麼是 AWS Directory Service?

建議您LDAP透過 TLS/SSL (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

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

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

DomainAddr必要 String

URI 或 URIs 指向用作LDAP伺服器的 AD 網域控制器。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必須是主機名稱。

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

使用 LDAP 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

neverallowtry啟用連線以繼續,即使發現憑證有問題。

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,如果金鑰不存在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

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