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

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

DirectoryService 部分

注意

Amazon ParallelCluster版本 3.1.1DirectoryService 中添加了对的Support。

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

Amazon ParallelCluster管理支持多用户通过系统安全服务守护程序 (SSSD) 支持的轻型目录访问协议 (LDAP) Active Directory (AD) 访问集群的权限。有关更多信息,请参阅什么是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.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

有效值:neverallowtrydemandhard

neverallow,即使发现证书有问题,也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,则为每个用户在头节点上首次进行USER_HOME_DIRECTORY/.ssh/id_rsa身份验证后生成 SSH 密钥并将其保存到(如果不存在)。

对于尚未在头节点上进行身份验证的用户,在以下情况下可能会进行首次身份验证:

  • 用户首次使用自己的密码登录头节点。

  • 在头节点中,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=example,DC=com cache_credentials: False

此示例指定了 SSSD 的配置simpleaccess_provider。为EngineeringTeam的用户提供了访问该目录的权限。 DirectoryService在这种情况下,LdapAccessFilter不得设置/。

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

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