DirectoryService 部分 - Amazon ParallelCluster
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

DirectoryService 部分

注意

对该项的支持DirectoryService已添加Amazon ParallelCluster版本 3.1.1.1.1.1.1.1.

(可选)支持多用户访问的集群的目录服务设置。

Amazon ParallelCluster管理支持多用户通过 Active Directory (AD) 通过轻型目录访问协议 (LDAP) 访问集群的权限系统安全服务守护程序 (SSSD). 有关更多信息,请参阅什么是Amazon Directory Service?在里面Amazon Directory Service管理指南.

我们建议您使用 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.pcluster.com

  • LDAP 域名示例:DC=corp,DC=pcluster,DC=com

此属性对应于调用的 sssd-ldap 参数ldap_search_base.

更新策略:必须停止计算队列才能更改此设置以进行更新。

DomainAddr(必需,String)

指向用作 LDAP 服务器的 AD 域控制器的一个或多个 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.pcluster.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 地址。

使用 LDAP over TLS/SSL (LDAPS),以避免通过未加密的通道传输密码和其他敏感信息。如果Amazon ParallelCluster它补充说,找不到协议ldaps://到每个 URI 或主机名的开头。

更新策略:必须停止计算队列才能更改此设置以进行更新。

PasswordSecretArn(必需,String)

的 Amazon Amazon 资源名称 (ARN)Amazon Secrets Manager包含以下内容的秘密DomainReadOnlyUser明文密码。密钥的内容对应于名为 SSSD-LDAP 的参数ldap_default_authtok.

LDAP 客户端使用密码向 AD 域进行身份验证DomainReadOnlyUser请求身份信息时。

如果用户有以下权限DescribeSecret,PasswordSecretArn已验证。PasswordSecretArn如果指定的密钥存在,则有效。如果用户 IAM 策略不包括DescribeSecret,PasswordSecretArn未经过验证,显示警告消息。有关更多信息,请参阅 需要基本用户策略才能调用Amazon ParallelCluster功能

当密钥的值发生变化时,集群不是自动更新。要使用新的密钥值更新集群,必须使用以下命令停止计算队列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=pcluster,dc=com
  • SimpleAd:

    cn=ReadOnlyUser,cn=Users,dc=corp,dc=pcluster,dc=com

更新策略:必须停止计算队列才能更改此设置以进行更新。

LdapTlsCaCert(可选,String)

证书包的绝对路径,该包包含证书链中为域控制器颁发证书的每个证书颁发机构的证书。它对应于名为的 SSSD-LDAP 参数ldap_tls_cacert.

证书包是一个由 PEM 格式的不同证书串联组成的文件,在 Windows 中也称为 DER Base64 格式。它用于验证充当 LDAP 服务器的 AD 域控制器的身份。

Amazon ParallelCluster不负责在节点上初始放置证书。作为集群管理员,您可以在创建集群后在头节点中手动配置证书,也可以使用引导脚本. 或者,您可以使用包含在头节点上配置的证书的 Amazon Machine Image (AMI),其中包含在头节点上配置的证书。

Simple AD不提供 LDAPS 支持。要了解如何将 Simple AD 目录与Amazon ParallelCluster,请参阅如何为简单 AD 配置 LDAPS 端点在里面Amazon安全博客.

更新策略:必须停止计算队列才能更改此设置以进行更新。

LdapTlsReqCert(可选,String)

指定在 TLS 会话中对服务器证书执行哪些检查。它对应于名为 SSSD-LDAP 的参数ldap_tls_reqcert.

有效值:neverallowtrydemandhard

never,allow,以及try即使发现证书问题,也要允许连接继续。

demandhard如果未发现证书问题,则允许继续通信。

如果集群管理员使用的值不需要证书验证即可成功,则会向管理员返回一条警告消息。出于安全原因,我们不建议您禁用证书验证。

默认值为 hard

更新策略:必须停止计算队列才能更改此设置以进行更新。

LdapAccessFilter(可选,String)

指定过滤器以限制对部分用户的目录访问权限。此属性对应于名为的 SSSD-LDAP 参数ldap_access_filter. 您可以使用它来限制对支持大量用户的 AD 的查询。

此过滤器可以阻止用户访问集群。但是,这不会影响被封锁用户的可发现性。

如果设置此属性,则为 SSSD 参数 SSSD 参数access_provider必需设置为ldap内部Amazon 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=pcluster,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 配置如下表所述。

以下配置片段是有效配置的示例AdditionalSssdConfigs.

此示例启用 SSSD 日志的调试级别,将搜索库限制为特定的组织单位,并禁用凭证缓存。

DirectoryService: ... AdditionalSssdConfigs: debug_level: "0xFFF0" ldap_search_base: OU=Users,OU=CORP,DC=corp,DC=myOrg,DC=com cache_credentials: False

此示例指定一个 SSSD 的配置simple access_provider. 来自的用户EngineeringTeam提供此目录的访问权限。DirectoryService/LdapAccessFilter在这种情况下不得设置。

DirectoryService: ... AdditionalSssdConfigs: access_provider: simple simple_allow_groups: EngineeringTeam

更新策略:必须停止计算队列才能更改此设置以进行更新。