本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
DirectoryService 區段
注意
3.1.1 AWS ParallelCluster 版中DirectoryService已新增 的支援。
(選用) 支援多個使用者存取之叢集的目錄服務設定。
AWS ParallelCluster 會透過 System Security Services 協助程式 (SSSD
我們建議您透過 TLS/SSL 使用 LDAP (簡短的縮寫 LDAPS),以確保透過加密管道傳輸任何潛在的敏感資訊。
DirectoryService: DomainName:stringDomainAddr:stringPasswordSecretArn:stringDomainReadOnlyUser:stringLdapTlsCaCert:stringLdapTlsReqCert:stringLdapAccessFilter:stringGenerateSshKeysForUsers:booleanAdditionalSssdConfigs: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)-
指向做為 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 網域進行身分驗證。如果使用者具有 的許可
DescribeSecret,PasswordSecretArn則會驗證 。如果指定的秘密存在,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 用戶端所需的格式指定身分:
-
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。有效值:
never、allow、try、demand和hard。never即使發現憑證有問題,allow、 和 也會try啟用連線以繼續。demand如果找不到憑證問題, 和 會hard啟用通訊以繼續。如果叢集管理員使用不需要憑證驗證才能成功的值,則會傳回警告訊息給管理員。基於安全考量,建議您不要停用憑證驗證。
預設值為
hard。 LdapAccessFilter(選用,String)-
指定篩選條件,以限制對使用者子集的目錄存取。此屬性對應至稱為 的 SSSD-LDAP 參數
ldap_access_filter。您可以使用它來將查詢限制為支援大量使用者的 AD。此篩選條件可以封鎖使用者存取叢集。不過,這不會影響封鎖使用者的可探索性。
如果設定此屬性,則 SSSD 參數
access_provider會由 AWS ParallelClusterldap內部設定為 ,且不得由 / 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 金鑰不存在,則在前端節點上進行第一次身分驗證後,每個使用者都會產生 SSH 金鑰並儲存到 。USER_HOME_DIRECTORY/.ssh/id_rsa對於尚未在前端節點上進行身分驗證的使用者,在下列情況下可能會發生第一次身分驗證:
-
使用者第一次使用自己的密碼登入前端節點。
-
在前端節點中,sudoer 第一次切換到使用者:
suUSERNAME -
在前端節點中,sudoer 第一次以使用者身分執行命令:
su -uUSERNAME COMMAND
使用者可以使用 SSH 金鑰來後續登入叢集前端節點和運算節點。使用 時 AWS ParallelCluster,設計會停用叢集運算節點的密碼登入。如果使用者尚未登入前端節點,則不會產生 SSH 金鑰,而且使用者將無法登入運算節點。
預設值為
true。 -
AdditionalSssdConfigs(選用,Dict)-
索引鍵/值對的字典,其中包含要寫入叢集執行個體上 SSSD 組態檔案的 SSSD 參數和值。如需 SSSD 組態檔案的完整說明,請參閱
SSSD和相關組態檔案的執行個體手冊頁面。SSSD 參數和值必須與 SSSD AWS ParallelCluster組態相容,如下列清單所述。
-
id_provider由ldap內部設定為 AWS ParallelCluster ,且不得修改。 -
access_provider當指定 / AWS ParallelCluster 時, LdapAccessFilter 會在ldap內部設定為 DirectoryService ,且不得修改此設定。如果LdapAccessFilter省略 DirectoryService /,也會省略其
access_provider規格。例如,如果您在simple中access_provider將 設定為 AdditionalSssdConfigs,則LdapAccessFilter不得指定 DirectoryService /。
下列組態程式碼片段是 有效組態的範例
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 -