本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
DirectoryService
部分
注意
Amazon ParallelCluster版本 3.1.1DirectoryService
中添加了对的Support。
(可选)支持多用户访问的集群的目录服务设置。
Amazon ParallelCluster管理支持多用户通过系统安全服务守护程序 (SSSD) 支持的轻型目录访问协议 (LDAP) Active Directory (AD)
我们建议您使用 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
属性
注意
如果您计划Amazon ParallelCluster在无法访问互联网的单个子网中使用,Amazon ParallelCluster在无法访问 Internet 的单个子网中请参阅,了解其他要求。
DomainName
(必需,String
)-
用于获取身份信息的 Active Directory (AD) 域。
DomainName
同时接受完全限定域名 (FQDN) 和 LDAP 可分辨名称 (DN) 格式。-
FQDN 示例:
corp.
example
.com -
LDAP DN 示例:
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 # Amazon ParallelCluster uses LDAPS by default
如果您使用带证书验证的 LDAPS,则 URI 必须是主机名。
如果您在不进行证书验证或 LDAP 的情况下使用 LDAPS,则 URI 可以是主机名或 IP 地址。
使用 TLS/SSL 上的 LDAP (LDAPS),以避免通过未加密的通道传输密码和其他敏感信息。如果找Amazon ParallelCluster不到协议,它将
ldaps://
添加到每个 URI 或主机名的开头。 PasswordSecretArn
(必需,String
)-
包含
DomainReadOnlyUser
纯文本密码的Amazon Secrets Manager密钥的 Amazon 资源名称(ARN)。密钥的内容对应于调用的 SSSD-LDAP 参数ldap_default_authtok
。LDAP 客户端在请求身份信息
DomainReadOnlyUser
时使用密码对 AD 域进行身份验证。如果用户具有权限,
PasswordSecretArn
则已通过验证。DescribeSecret
PasswordSecretArn
如果指定的密钥存在,则有效。如果用户 IAM 策略不包含DescribeSecret
,则PasswordSecretArn
未经过验证并显示警告消息。有关更多信息,请参阅基本Amazon 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 域控制器的身份。
Amazon ParallelCluster不负责首次将证书放置到节点上。作为集群管理员,您可以在创建集群后在头节点中手动配置证书,也可以使用引导脚本。或者,您可以使用包含在头节点上配置的证书的 Amazon Machine Image (AMI)。
Si@@ mple AD 不提供 LDAPS 支持。要了解如何将 Simple AD 目录与Amazon ParallelCluster Simple AD 集成,请参阅Amazon安全博客中的 “如何为简单 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 参数将由
ldap
内部设置access_provider
为Amazon ParallelCluster,不得由 DirectoryService/AdditionalSssdConfigssettings 修改。如果省略此属性且未在 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
)-
定义集群用户在头节点上进行初始身份验证后是否立即为其Amazon ParallelCluster生成 SSH 密钥。
如果设置为
true
,则为每个用户在头节点上首次进行
身份验证后生成 SSH 密钥并将其保存到(如果不存在)。USER_HOME_DIRECTORY
/.ssh/id_rsa对于尚未在头节点上进行身份验证的用户,在以下情况下可能会进行首次身份验证:
-
用户首次使用自己的密码登录头节点。
-
在头节点中,sudoer 首次切换到用户:
su
USERNAME
-
在头节点中,sudoer 首次以用户身份运行命令:
su -u
USERNAME COMMAND
用户可以使用 SSH 密钥进行后续登录集群头节点和计算节点。使用Amazon ParallelCluster时,按设计禁用密码登录到群集计算节点。如果用户没有登录到头节点,则不会生成 SSH 密钥,用户将无法登录到计算节点。
默认为
true
。 -
AdditionalSssdConfigs
(可选,Dict
)-
包含要写入集群实例上的 SSSD 配置文件的 SSSD 参数和值的键值对的字典。有关 SSSD 配置文件的完整描述,请参阅实例手册页
SSSD
和相关配置文件。SSSD 参数和值必须与Amazon ParallelCluster的 SSSD 配置兼容,如以下列表所述。
-
id_provider
由ldap
内部设置为Amazon ParallelCluster,不得修改。 -
access_provider
在指定 DirectoryService/Amazon ParallelCluster时在ldap
内部设置LdapAccessFilter为,且不得修改此设置。如果省略 DirectoryService/,LdapAccessFilter则也会省略其
access_provider
规范。例如,如果您设置access_provider
为 isimple
n 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
-