DirectoryService 區段 - AWS ParallelCluster

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

DirectoryService 區段

注意

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

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

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

我們建議您使用 LDAP over 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)

URIs 指向用作 URI 伺服器的 AD 網域控制器的 Word 或 LDAP。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 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 秘密

請求身分資訊DomainReadOnlyUser時,LDAP 用戶端會使用密碼向 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_providerldap由 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,如果 Word 金鑰不存在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

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