本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
DirectoryService
區段
注意
DirectoryService
3.1.1 AWS ParallelCluster 版中已新增 的支援。
(選用) 支援多個使用者存取之叢集的目錄服務設定。
AWS ParallelCluster 管理許可,透過 System Security Services Daemon () 支援的輕量型目錄存取通訊協定 (LDAP),支援多個使用者透過 Active Directory (AD) 存取叢集。 SSSD
建議您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 網域驗證為 。如果使用者具有 的許可
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
會由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對於尚未在主機節點上進行身分驗證的使用者,在下列情況下可能會發生第一次身分驗證:
-
使用者第一次使用自己的密碼登入主機節點。
-
在主節點中,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
當指定 / 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
-