本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
DirectoryService
區段
注意
在 3.1.1 AWS ParallelCluster 版本中添加了 Support。DirectoryService
(選擇性) 支援多重使用者存取之叢集的目錄服務設定。
AWS ParallelCluster 透過系統安全性服務常駐程式 (SSSD) 支援的輕量型目錄存取通訊協定 (LDAP) 來管理支援使用 Active Directory (
建議您透過 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 網域。如果使用者具有的權限
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 用戶端所需的表單中指定識別碼:
-
微軟體:
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
有效值:
never
、allow
、try
、demand
和hard
。never
、allow
,並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 組態相容。
-
id_provider
由ldap
內部設定, AWS ParallelCluster 且不得修改。 -
access_provider
在指定 DirectoryService/ AWS ParallelCluster 時設定LdapAccessFilter為ldap
內部,且不得修改此設定。如果省LdapAccessFilter略 DirectoryService/,它的
access_provider
規格也被省略。例如,如果您設access_provider
定為simple
in 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
使用者對目錄的存取權。 DirectoryService在這種情況下,不得設置/LdapAccessFilter。DirectoryService: ... AdditionalSssdConfigs: access_provider: simple simple_allow_groups: EngineeringTeam
-