本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
DirectoryService
部分
注意
中添加DirectoryService
了对 Support 的支持 AWS ParallelCluster 版本 3.1.1。
(可选)支持多用户访问的集群的目录服务设置。
AWS ParallelCluster 管理支持多用户通过系统安全服务守护程序 () 支持的轻型目录访问协议 () 访问具有 Active Directory (ADLDAP) 的集群的权限 (SSSD)
我们建议您使用 ov LDAP erTLS/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 -
LDAPDN 示例:
DC=
corp
,DC=example
,DC=com
此属性对应于名为
ldap_search_base
的 sssd-ldap 参数。 -
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 地址。
使用 o TLS v LDAP er/SSL(LDAPS) 可避免通过未加密的通道传输密码和其他敏感信息。如果 AWS ParallelCluster 找不到协议,它会
ldaps://
添加到每个协议URI或主机名的开头。 PasswordSecretArn
(必需,String
)-
的亚马逊资源名称 (ARN) AWS Secrets Manager 包含
DomainReadOnlyUser
明文密码的密钥。密钥的内容对应于被调用的 SSSD-LDAP 参数ldap_default_authtok
。注意
使用创建密钥时 AWS Secrets Manager 控制台务必选择 “其他类型的密钥”,选择纯文本,并且仅在密钥中包含密码文本。
有关如何使用的更多信息 AWS Secrets Manager 要创建密钥,请参阅创建 AWS Secrets Manager 秘密
LDAP客户端使用密码向 AD 域进行身份验证,就像
DomainReadOnlyUser
请求身份信息一样。如果用户拥有
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
。证书包是由不同格式的证书串联组成的文件,在 Windows 中也称为 DER Base64 PEM 格式。它用于验证充当LDAP服务器的 AD 域控制器的身份。
AWS ParallelCluster 不负责将证书初始放置到节点上。作为集群管理员,您可以在创建集群后在头节点中手动配置证书,也可以使用引导脚本。或者,您可以使用包含在头节点上配置的证书的 Amazon 系统映像 (AMI)。
S@@ imple AD 不提供LDAPS支持。学习如何将 Simple AD 目录与集成 AWS ParallelCluster,请参阅中的 “如何为 Simple AD 配置LDAPS终端节点
” AWS 安全博客。 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。此筛选器可阻止用户访问集群。但它不影响被阻止用户的可发现性。
如果设置了此属性,
access_provider
则该SSSD参数在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
在ldap
内部设置为 AWS ParallelCluster 当指定了 DirectoryService/LdapAccessFilter时,且不得修改此设置。如果省略 DirectoryService/LdapAccessFilter,则也将省略其指定的
access_provider
。例如,如果您在 AdditionalSssdConfigs 中将access_provider
设置为simple
,则不得指定 DirectoryService/LdapAccessFilter。
以下配置代码段是
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
-