vSphere身份验证2020年4月02日VMwarevSphere7.
0VMwareESXi7.
0vCenterServer7.
0您可以从VMware网站下载最新的技术文档:https://docs.
vmware.
com/cn/.
如果您对本文档有任何意见或建议,请将反馈信息发送至:docfeedback@vmware.
comVMware,Inc.
3401HillviewAve.
PaloAlto,CA94304www.
vmware.
com威睿信息技术(中国)有限公司北京办公室北京市朝阳区新源南路8号启皓北京东塔8层801www.
vmware.
com/cn上海办公室上海市淮海中路333号瑞安大厦804-809室www.
vmware.
com/cn广州办公室广州市天河路385号太古汇一座3502室www.
vmware.
com/cn版权所有2019-2020VMware,Inc.
保留所有权利.
版权和商标信息vSphere身份验证VMware,Inc.
2目录关于vSphere身份验证61证书管理和身份验证入门8vSphere证书管理和身份验证概览8管理证书9从vSphereClient管理证书10使用脚本管理证书10管理身份验证服务11从vSphereClient管理身份验证服务11使用脚本管理身份验证服务12管理vCenterServer12使用管理界面管理vCenterServer13从vCenterServerShell管理vCenterServer13将vCenterServer添加到ActiveDirectory域132vSphere安全证书15不同解决方案途径的证书要求16证书管理概览19证书替换概述21vSphere用户证书的位置23VMCA和VMware核心标识服务25VMwareEndpoint证书存储概述26管理证书吊销27大型部署中的证书替换27使用vSphereClient管理证书28从vSphereClient浏览证书存储29为vCenter证书过期警告设置阈值30从vSphereClient使用新的VMCA签名证书续订VMCA证书30将系统设置为使用自定义证书31使用vSphereCertificateManager实用程序管理证书34本文档中的CertificateManager选项和工作流35重新生成新的VMCA根证书并替换所有证书36将VMCA设为中间证书颁发机构(CertificateManager)37将所有证书替换为自定义证书(CertificateManager)41通过重新发布旧证书恢复上次执行的操作44重置所有证书44手动证书替换44VMware,Inc.
3了解服务停止和启动44将现有VMCA签名证书替换为新的VMCA签名证书45使用VMCA作为中间证书颁发结构54在vSphere中使用自定义证书633使用CLI命令管理服务和证书67运行CLI所需的特权68更改certool配置选项68certool初始化命令参考69certool管理命令参考72vecs-cli命令参考74dir-cli命令参考794使用vCenterSingleSign-On进行vSphere身份验证86如何使用vCenterSingleSign-On保护您的环境87了解vCenterServer身份提供程序联合90vCenterServer身份提供程序联合的工作原理90vCenterServer身份提供程序联合和增强型链接模式91vCenterServer身份提供程序局限性和互操作性93vCenterServer身份提供程序联合生命周期94配置vCenterServer身份提供程序联合95vCenterServer身份提供程序联合配置过程流95配置vCenterServer身份提供程序联合97了解vCenterSingleSign-On101vCenterSingleSign-On组件101通过vSphere使用vCenterSingleSign-On101vCenterSingleSign-On域中的组103配置vCenterSingleSign-On标识源105vCenterServer和vCenterSingleSign-On的标识源105设置vCenterSingleSign-On的默认域106添加或编辑vCenterSingleSign-On标识源106vCenterSingleSign-On使用Windows会话身份验证110管理SecurityTokenService110在设备上生成新的STS签名证书111刷新SecurityTokenService证书112确定LDAPSSSL证书的过期日期112管理vCenterSingleSign-On策略113编辑vCenterSingleSign-On密码策略113编辑vCenterSingleSign-On锁定策略114编辑vCenterSingleSign-On令牌策略115编辑ActiveDirectory(集成Windows身份验证)用户的密码过期通知116vSphere身份验证VMware,Inc.
4管理vCenterSingleSign-On用户和组116添加vCenterSingleSign-On用户117禁用和启用vCenterSingleSign-On用户117删除vCenterSingleSign-On用户118编辑vCenterSingleSign-On用户119添加vCenterSingleSign-On组119向vCenterSingleSign-On组添加成员120从vCenterSingleSign-On组中移除成员121更改vCenterSingleSign-On密码121了解其他身份验证选项122智能卡身份验证登录123配置和使用智能卡身份验证123设置RSASecurID身份验证131管理登录消息132管理登录消息133vCenterSingleSign-On安全性最佳做法1335对身份验证进行故障排除135确定LookupService错误的原因135无法使用ActiveDirectory域身份验证进行登录136由于用户帐户被锁定,vCenterServer登录失败138VMwareDirectoryService复制需要较长时间138导出vCenterServer支持包139身份验证服务日志参考139vSphere身份验证VMware,Inc.
5关于vSphere身份验证vSphere身份验证文档提供的信息可帮助您执行诸如证书管理和vCenterSingleSign-On配置等常见任务.
vSphere身份验证介绍了如何管理vCenterServer和相关服务的证书,以及如何使用vCenterSingleSign-On设置身份验证.
表1-1.
《vSphere身份验证》内容要点主题内容要点身份验证入门n管理身份验证服务.
n使用vCenterServer管理界面管理vCenterServer.
vSphere安全证书n证书模型和用于替换证书的选项.
n从UI替换证书(简单情况).
n使用CertificateManager实用程序替换证书.
n使用CLI替换证书(复杂情况).
n证书管理CLI参考.
使用vCenterSingleSign-On进行vSphere身份验证n身份验证过程的架构.
n如何添加标识源,以便域中的用户可以进行身份验证.
n双因素身份验证.
n管理用户、组和策略.
PlatformServicesController发生了什么情况从vSphere7.
0开始,部署新的vCenterServer或升级到vCenterServer7.
0需要使用vCenterServerAppliance,它是针对运行vCenterServer而优化的预配置虚拟机.
新的vCenterServer包含所有PlatformServicesController服务,同时保留功能和工作流,包括身份验证、证书管理、标记和许可.
不再需要也无法部署和使用外部PlatformServicesController.
所有PlatformServicesController服务都已整合到vCenterServer中,并且简化了部署和管理.
由于这些服务现在是vCenterServer的一部分,因此不再将其描述为PlatformServicesController的一部分.
在vSphere7.
0中,vSphere身份验证出版物替换了PlatformServicesController管理出版物.
新出版物包含有关身份验证和证书管理的完整信息.
有关从使用现有外部PlatformServicesController的vSphere6.
5和6.
7部署迁移到使用vCenterServerAppliance的vSphere7.
0的信息,请参见vSphere升级文档.
VMware,Inc.
6相关文档相关文档vSphere安全性介绍可用安全功能以及为保护您的环境免受攻击可采取的措施.
该文档还说明了如何设置权限,并包括对特权的引用.
除上述文档外,VMware还针对每个vSphere版本发布了《vSphere安全性配置指南》(以前称为强化指南),网址为:http://www.
vmware.
com/security/hardening-guides.
html.
《vSphere安全性配置指南》中包含有关以下安全设置的准则:客户可以或应设置的安全设置,以及VMware提供且应由客户审核以确保仍设置为默认值的安全设置.
目标读者本信息面向需要配置vCenterServer身份验证以及管理证书的管理员.
本信息的目标读者为熟悉虚拟机技术和数据中心操作且具有丰富经验的Linux系统管理员.
vSphere身份验证VMware,Inc.
7证书管理和身份验证入门1vCenterServer为vSphere环境提供了通用基础架构服务,包括vCenterSingleSign-On的证书管理和身份验证.
本章讨论了以下主题:nvSphere证书管理和身份验证概览n管理证书n管理身份验证服务n管理vCenterServervSphere证书管理和身份验证概览vSphere提供了一些服务,可帮助您执行vCenterServer和ESXi组件的证书管理任务,并通过vCenterSingleSign-On配置身份验证.
vSphere证书管理概览默认情况下,vSphere支持使用VMwareCertificateAuthority(VMCA)证书置备vCenterServer组件和ESXi主机.
也可以使用自定义证书,这些证书存储在VMware端点证书存储(VECS)中.
vCenterSingleSign-On概述vCenterSingleSign-On允许vSphere组件通过安全的令牌机制相互通信.
vCenterSingleSign-On使用一些必须了解的特定术语和定义.
表1-1.
vCenterSingleSign-On术语表术语定义主体可以对其进行身份验证的实体,例如用户.
身份提供程序管理标识源和对主体进行身份验证的服务.
示例:MicrosoftActiveDirectory联合身份验证服务(ADFS)和vCenterSingleSign-On.
标识源(目录服务)存储和管理主体.
主体包含有关用户或服务帐户的属性集合,例如名称、地址、电子邮件和组成员资格.
示例:MicrosoftActiveDirectory和VMwareDirectoryService(vmdir).
VMware,Inc.
8表1-1.
vCenterSingleSign-On术语表(续)术语定义身份验证确定某人或某物实际上是否是将其自身声明为的人或物的方法.
例如,用户在提供凭据(如智能卡、用户名和正确密码等)时对其进行身份验证.
授权验证主体有权访问哪些对象的过程.
令牌包含给定主体标识信息的签名数据集合.
令牌可能不仅包括有关主体的基本信息(如电子邮件地址和全名),还包括主体的组和角色,具体取决于令牌类型.
vmdirVMwareDirectoryService.
vCenterServer中的内部(本地)LDAP存储库,包含用户身份、组和配置数据.
OpenIDConnect(OIDC)基于OAuth2的身份验证协议.
在与ActiveDirectory联合身份验证服务(ADFS)交互时,vCenterServer使用OIDC功能.
vCenterSingleSign-On身份验证类型vCenterSingleSign-On使用不同类型的身份验证,具体取决于是涉及内置vCenterServer身份提供程序还是外部身份提供程序.
表1-2.
vCenterSingleSign-On身份验证类型身份验证类型作为身份提供程序的服务vCenterServer是否处理密码描述基于令牌的身份验证外部身份提供程序.
例如,ADFS.
否vCenterServer通过特定协议访问外部身份提供程序,并获取表示特定用户身份的令牌.
简单身份验证vCenterServer是用户名和密码直接传递到vCenterServer,以便通过其标识源验证凭据.
管理证书从vSphereClient管理证书,也可以使用API、脚本或CLI管理证书.
您可以使用不同界面管理证书.
表1-3.
用于管理证书的界面接口描述vSphereClientWeb界面(基于HTML5的客户端).
请参见使用vSphereClient管理证书.
vSphereAutomationAPI请参见《VMwarevSphereAutomationSDK编程指南》.
vSphere身份验证VMware,Inc.
9表1-3.
用于管理证书的界面(续)接口描述证书管理实用程序支持证书签名请求(CSR)生成和证书替换的命令行工具.
请参见使用vSphereCertificateManager实用程序管理证书.
用于管理证书和目录服务的CLI用于管理证书、VMwareEndpoint证书存储(VECS)和VMwareDirectoryService(vmdir)的一组命令.
请参见第3章使用CLI命令管理服务和证书.
从vSphereClient管理证书您可以从vSphereClient管理证书.
步骤1在本地vCenterSingleSign-On域中,以拥有管理员特权的用户身份登录到vCenterServer.
默认域为vsphere.
local.
2选择管理.
3在证书下,单击证书管理.
将显示"计算机SSL证书"和"可信根证书"面板.
4执行证书任务,例如查看证书详细信息、续订计算机SSL证书、添加可信根证书等.
使用脚本管理证书vCenterServer包括用于生成证书签名请求(CSR)、管理证书和管理服务的脚本.
例如,您可以使用certool实用程序生成CSR并替换证书.
请参见使用vSphereCertificateManager实用程序管理证书.
使用CLI执行vSphereClient不支持的管理任务,或者为环境创建自定义脚本.
表1-4.
用于管理证书和关联服务的CLICLI描述链接certool生成并管理证书和密钥.
VMwareCertificateAuthority(VMCA)的一部分.
certool初始化命令参考vecs-cli管理VMware证书存储实例的内容.
属于VMwareAuthenticationFramework守护进程(VMAFD)vecs-cli命令参考dir-cli在VMwareDirectoryService中创建并更新证书.
属于VMAFD.
dir-cli命令参考sso-config更新安全令牌服务(STS)证书.
刷新SecurityTokenService证书service-control用于启动、停止和列出服务的命令.
在运行其他CLI命令之前,运行此命令以停止服务.
vSphere身份验证VMware,Inc.
10前提条件启用SSH,以通过SSH登录到vCenterServer.
请参见使用管理界面管理vCenterServer.
步骤1登录vCenterServershell.
通常情况下,您必须是root或管理员用户.
有关详细信息,请参见运行CLI所需的特权.
2在以下默认位置之一访问CLI.
所需特权取决于要执行的任务.
有时,为了保护敏感信息,系统会提示您输入两次密码.
/usr/lib/vmware-vmafd/bin/vecs-cli/usr/lib/vmware-vmafd/bin/dir-cli/usr/lib/vmware-vmca/bin/certool/opt/vmware/binservice-control命令不要求您指定路径.
管理身份验证服务可以通过vSphereClient或使用CLI管理身份验证服务.
还可以使用API管理vCenterServer身份提供程序联合配置过程.
可以使用不同的接口管理身份验证.
表1-5.
用于管理身份验证服务的界面接口描述vSphereClientWeb界面(基于HTML5的客户端).
API管理vCenterServer身份提供程序联合配置过程.
sso-config用于配置vCenterServer内置身份提供程序的命令行实用程序.
从vSphereClient管理身份验证服务可以从vSphereClient管理vCenterServer身份验证服务.
步骤1在本地vCenterSingleSign-On域中,以拥有管理员特权的用户身份登录到vCenterServer.
默认域为vsphere.
local.
2选择管理.
3在SingleSignOn下,单击配置以管理身份提供程序并配置密码和锁定策略.
vSphere身份验证VMware,Inc.
11使用脚本管理身份验证服务vCenterServer包含一个用于管理身份验证服务的实用程序sso-config.
可以使用sso-config实用程序执行vSphereClient不支持的管理任务,或者为环境创建自定义脚本.
表1-6.
用于管理身份验证和关联服务的CLICLI描述链接sso-config用于配置vCenterServer内置身份提供程序的命令行实用程序.
要参考sso-config帮助,请运行sso-config.
sh-help,或者参见VMware知识库文章(网址为https://kb.
vmware.
com/s/article/67304),获得用法示例.
service-control用于启动、停止和列出服务的命令.
在运行其他CLI命令之前,运行此命令以停止服务.
前提条件启用SSH,以通过SSH登录到vCenterServer.
请参见使用管理界面管理vCenterServer.
步骤1登录vCenterServershell.
通常情况下,您必须是root或管理员用户.
有关详细信息,请参见运行CLI所需的特权.
2在以下默认位置访问sso-config实用程序.
所需特权取决于要执行的任务.
有时,为了保护敏感信息,系统会提示您输入两次密码.
/opt/vmware/bin/sso-config.
shservice-control命令不要求您指定路径.
管理vCenterServer您可以从vCenterServer管理界面或vCenterServershell管理vCenterServer.
有关管理vCenterServer的详细信息,请参见vCenterServer配置.
表1-7.
用于管理vCenterServer的界面接口描述vCenterServer管理界面使用此界面重新配置系统设置.
请参见使用管理界面管理vCenterServer.
vCenterServershell使用此命令行界面可以在VMCA、VECS和VMDIR上执行服务管理操作.
请参见使用vSphereCertificateManager实用程序管理证书和第3章使用CLI命令管理服务和证书.
vSphere身份验证VMware,Inc.
12使用管理界面管理vCenterServer您可以使用vCenterServer管理界面来配置系统设置.
这些设置包括时间同步、网络设置以及SSH登录设置.
您也可以更改root密码,将设备加入ActiveDirectory域,以及退出ActiveDirectory域.
步骤1在浏览器中,转至Web界面,网址为https://vcenter_server_ip:5480.
2如果显示有关SSL证书不可信的警告消息,请根据公司安全策略以及正在使用的浏览器解决此问题.
3以root用户身份登录.
默认root密码是您在部署vCenterServer时设置的root密码.
结果您将看到vCenterServer管理界面的摘要页面.
从vCenterServerShell管理vCenterServer可以从vCenterServerShell使用服务管理实用程序和CLI.
可以使用TTY1登录控制台,或者使用SSH连接到Shell.
步骤1如果需要,请启用SSH登录.
a登录到vCenterServer管理界面,网址为https://vcenter_server_ip:5480.
b在导航器中,选择访问,然后单击编辑.
c切换到启用SSH登录,然后单击确定.
按照同样的步骤也可启用vCenterServer的BashShell.
2访问Shell.
n如果可以直接访问vCenterServer控制台,请选择登录,然后按Enter.
n要远程连接,请使用SSH或其他远程控制台连接启动与vCenterServer的会话.
3以root用户身份及最初部署vCenterServer时设置的密码登录.
如果已更改root密码,请使用新密码.
将vCenterServer添加到ActiveDirectory域如果要将ActiveDirectory标识源添加到vCenterServer,必须将vCenterServer加入ActiveDirectory域.
如果无法使用vCenterServer身份提供程序联合或基于LDAPS的ActiveDirectory,则vCenterServer支持集成Windows身份验证(IWA).
要使用IWA,必须将vCenterServer加入ActiveDirectory域.
vSphere身份验证VMware,Inc.
13步骤1在本地vCenterSingleSign-On域(默认为vsphere.
local)中,以拥有管理员特权的用户身份使用vSphereClient登录到vCenterServer.
2选择管理.
3展开单点登录,然后单击配置.
4在身份提供程序选项卡下,单击ActiveDirectory域.
5单击加入AD,输入域、可选的组织单位以及用户名和密码,然后单击加入.
6重新启动vCenterServer.
后续步骤要附加已加入的ActiveDirectory域中的用户和组,请将已加入的域添加为vCenterSingleSign-On标识源.
请参见添加或编辑vCenterSingleSign-On标识源.
vSphere身份验证VMware,Inc.
14vSphere安全证书2vSphere通过使用证书来加密通信,对服务进行身份验证,以及对令牌进行签名来提供安全性.
vSphere使用证书:n对两个节点(例如vCenterServer和ESXi主机)之间的通信进行加密.
n对vSphere服务进行身份验证.
n执行内部操作,如对令牌进行签名.
vSphere的内部证书颁发机构VMwareCertificateAuthority(VMCA)提供vCenterServer和ESXi所需的所有证书.
每一个vCenterServer主机上均安装了VMCA,其可立即确保解决方案的安全,而不进行任何其他修改.
保留此默认配置可为证书管理提供最低操作开销.
vSphere提供了一种机制,用于在这些证书过期时进行续订.
vSphere还提供了一种机制,用于将某些证书替换为您自己的证书.
但是,仅替换在节点之间提供加密的SSL证书,以保持较低的证书管理开销.
建议使用以下选项管理证书.
表2-1.
建议用于管理证书的选项模式描述优势VMCA默认证书VMCA为vCenterServer和ESXi主机提供所有证书.
最简单和最低开销.
VMCA可以管理vCenterServer和ESXi主机的证书生命周期.
使用外部SSL证书的VMCA默认证书(混合模式)替换vCenterServer的SSL证书,并允许VMCA管理解决方案用户和ESXi主机的证书.
(可选)对于安全性很重要的部署,还可以替换ESXi主机的SSL证书.
简单且安全.
VMCA会管理内部证书,但您可以获得使用企业批准的SSL证书,并让浏览器信任这些证书的好处.
VMware建议,既不要替换解决方案用户证书或STS证书,也不要使用辅助CA取代VMCA.
如果选择任意一种选项,您都可能会遇到很大复杂性和对安全产生负面影响的可能性,以及不必要地提高操作风险.
有关管理vSphere环境内的证书的更多信息,请参见标题为NewProductWalkthrough-HybridvSphereSSLCertificateReplacement的博客帖子,网址为http://vmware.
com/go/hybridvmca.
可以使用以下选项替换现有证书.
VMware,Inc.
15表2-2.
不同的证书替换方法选项请参见使用vSphereClient.
使用vSphereClient管理证书使用vSphereAutomationAPI管理证书的生命周期.
《VMwarevSphereAutomationSDK编程指南》从命令行使用vSphereCertificateManager实用程序.
使用vSphereCertificateManager实用程序管理证书使用CLI命令执行手动证书替换.
第3章使用CLI命令管理服务和证书本章讨论了以下主题:n不同解决方案途径的证书要求n证书管理概览n使用vSphereClient管理证书n使用vSphereCertificateManager实用程序管理证书n手动证书替换不同解决方案途径的证书要求证书要求取决于是使用VMCA作为中间CA,还是使用自定义证书.
对于计算机证书,要求也有所不同.
在开始之前,请确保环境中所有节点的时间都已同步.
对所有已导入证书的要求n密钥大小:2048位(最小值)到16384位(最大值)(PEM编码)nPEM格式.
VMware支持PKCS8和PKCS1(RSA密钥).
将密钥添加到VECS时,它们将转换为PKCS8.
nx509版本3nSubjectAltName必须包含DNSName=machine_FQDNnCRT格式n包含以下密钥用法:数字签名、密钥加密.
n"增强型密钥用法"可以为空或包含服务器身份验证.
VMCA不支持以下证书.
n使用通配符的证书.
n不建议使用的算法包括md2WithRSAEncryption1.
2.
840.
113549.
1.
1.
2、md5WithRSAEncryption1.
2.
840.
113549.
1.
1.
4和sha1WithRSAEncryption1.
2.
840.
113549.
1.
1.
5.
n不支持OID为1.
2.
840.
113549.
1.
1.
10的算法RSASSA-PSS.
vSphere身份验证VMware,Inc.
16证书符合RFC2253规范证书必须符合RFC2253规范.
如果不使用CertificateManager生成CSR,请确保CSR包括以下字段.
StringX.
500AttributeTypeCNcommonNameLlocalityNameSTstateOrProvinceNameOorganizationNameOUorganizationalUnitNameCcountryNameSTREETstreetAddressDCdomainComponentUIDuserid如果使用CertificateManager生成CSR,系统会提示您输入以下信息,然后CertificateManager将对应的字段添加到CSR文件.
nadministrator@vsphere.
local用户的密码或者要连接到的vCenterSingleSign-On域的管理员的密码.
nCertificateManager存储在certool.
cfg文件中的信息.
对于大多数字段,可以接受默认值或提供特定于站点的值.
计算机的FQDN为必需值.
nadministrator@vsphere.
local的密码n两个字母组成的国家/地区代码n公司名称n组织名称n组织单位n省/市/自治区n地区nIP地址(可选)n电子邮件n主机名,即要替换证书的计算机的完全限定域名.
如果主机名与FQDN不匹配,则证书替换无法正确完成,且环境可能最终会处于不稳定状态.
n在其上运行证书管理器的vCenterServer节点的IP地址.
使用VMCA作为中间CA时的要求当您将VMCA用作中间CA时,证书必须满足以下要求.
vSphere身份验证VMware,Inc.
17证书类型证书要求根证书n可以使用vSphereCertificateManager创建CSR.
请参见使用vSphereCertificateManager生成CSR并准备根证书(中间CA).
n如果希望手动创建CSR,则发送以进行签名的证书必须满足以下要求:n密钥大小:2048位(最小值)到16384位(最大值)(PEM编码)nPEM格式.
VMware支持PKCS8和PKCS1(RSA密钥).
密钥添加到VECS后,会转换为PKCS8.
nx509版本3n对于根证书,CA扩展必须设置为true,并且证书签名必须在要求列表中.
例如:basicConstraints=critical,CA:truekeyUsage=critical,digitalSignature,keyCertSignn必须启用CRL签名.
n"增强型密钥用法"可以为空或包含服务器身份验证.
n对证书链的长度没有明确限制.
VMCA使用OpenSSL默认设置,即10个证书.
n不支持包含通配符或多个DNS名称的证书.
n不能创建VMCA的附属CA.
有关使用Microsoft证书颁发机构的示例,请参见VMware知识库文章《在vSphere6.
x中创建Microsoft证书颁发机构模板以创建SSL证书》,网址为http://kb.
vmware.
com/kb/2112009.
计算机SSL证书可以使用vSphereCertificateManager创建CSR,或者手动创建CSR.
如果手动创建CSR,它必须满足前面在对所有已导入证书的要求下列出的要求.
您还必须为主机指定FQDN.
解决方案用户证书可以使用vSphereCertificateManager创建CSR,或者手动创建CSR.
注您必须为每个解决方案用户的名称使用不同的值.
如果手动生成证书,可能会在主体下显示为CN,具体取决于使用的工具.
如果使用vSphereCertificateManager,该工具将提示您输入每个解决方案用户的证书信息.
vSphereCertificateManager将信息存储在certool.
cfg中.
请参见CertificateManager提示输入的信息.
对自定义证书的要求当您希望使用自定义证书时,这些证书必须满足以下要求.
vSphere身份验证VMware,Inc.
18证书类型证书要求计算机SSL证书每个节点上的计算机SSL证书必须包含来自第三方或企业CA的单独证书.
n您可以使用vSphereClient或vSphereCertificateManager生成CSR,或手动创建CSR.
CSR必须满足前面在对导入的所有证书的要求下列出的要求.
n对于大多数字段,可以接受默认值或提供特定于站点的值.
计算机的FQDN为必需值.
解决方案用户证书每个节点上的每个解决方案用户必须具有来自第三方或企业CA的单独证书.
n您可以使用vSphereCertificateManager生成CSR,或自己准备CSR.
CSR必须满足前面在对导入的所有证书的要求下列出的要求.
n如果使用vSphereCertificateManager,该工具将提示您输入每个解决方案用户的证书信息.
vSphereCertificateManager将信息存储在certool.
cfg中.
请参见CertificateManager提示输入的信息.
注您必须为每个解决方案用户的名称使用不同的值.
手动生成的证书可能会在主体下显示为CN,具体取决于使用的工具.
稍后将解决方案用户证书替换为自定义证书时,请提供第三方CA的完整签名证书链.
注不要在任何自定义证书中使用CRL分发点、授权信息访问或证书模板信息.
证书管理概览设置或更新证书基础架构所需的工作取决于您的环境中的要求.
必须考虑执行全新安装还是升级,以及考虑使用ESXi还是vCenterServer.
未替换VMware证书的管理员VMCA可以处理所有证书管理.
VMCA使用将VMCA用作根证书颁发机构的证书置备vCenterServer组件和ESXi主机.
如果要从之前版本的vSphere升级到vSphere6,所有自签名证书都会替换为由VMCA签名的证书.
如果您当前未替换VMware证书,环境将开始使用VMCA签名的证书而非自签名证书.
将VMware证书替换为自定义证书的管理员对于全新安装,如果公司策略需要第三方或企业CA签名的证书或需要自定义证书信息,则您有以下几种选择.
n由第三方CA或企业CA签发VMCA根证书.
将VMCA根证书替换为该签名证书.
在这种情况下,VMCA证书是中间证书.
VMCA使用包含完整证书链的证书置备vCenterServer组件和ESXi主机.
n如果公司策略不允许证书链中出现中间证书,可以明确替换这些证书.
可以使用vSphereClient、vSphereCertificateManager实用程序,或使用证书管理CLI手动替换证书.
vSphere身份验证VMware,Inc.
19升级使用自定义证书的环境时,可以保留某些证书.
nESXi主机在升级过程中保留其自定义证书.
确保vCenterServer升级过程将所有相关根证书添加到vCenterServer上的VECS中的TRUSTED_ROOTS存储.
升级到vSphere6.
0或更高版本之后,可以将证书模式设置为自定义.
如果证书模式是默认的VMCA,且用户从vSphereClient执行证书刷新,VMCA签名证书将替换自定义证书.
n如果将简单vCenterServer安装升级为嵌入式部署,vCenterServer将保留自定义证书.
升级后,环境的运行方式不变.
将保留现有vCenterServer和vCenterSingleSign-On证书.
这些证书将用作计算机SSL证书.
此外,VMCA将VMCA签名证书分配给每个解决方案用户(vCenter服务的集合).
解决方案用户仅使用此证书对vCenterSingleSign-On进行身份验证.
公司策略通常不要求替换解决方案用户证书.
对于大多数证书管理任务,您可以使用命令行实用程序vSphereCertificateManager.
vSphere证书界面对于vCenterServer,可以使用以下工具和界面查看和替换证书.
表2-3.
用于管理vCenterServer证书的界面接口适用情况vSphereClient使用图形用户界面执行常见证书任务.
vSphereAutomationAPI请参见《VMwarevSphereAutomationSDK编程指南》.
CertificateManager实用程序从vCenterServer安装的命令行执行常见证书替换任务.
证书管理CLI使用dir-cli、certool和vecs-cli执行所有证书管理任务.
sso-config实用程序从vCenterServer安装的命令行执行STS证书管理.
对于ESXi,从vSphereClient执行证书管理.
VMCA会置备证书并将其存储在ESXi主机本地.
VMCA不将ESXi主机证书存储在VMDIR或VECS中.
请参见vSphere安全性文档.
受支持的vCenter证书对于vCenterServer以及相关的计算机和服务,支持以下证书:n由VMwareCertificateAuthority(VMCA)生成和签名的证书.
n自定义证书.
n从内部PKI生成的企业证书.
n由外部PKI(如Verisign、GoDaddy等)生成的第三方CA签名证书.
使用不包含根CA的OpenSSL创建的自签名证书不受支持.
vSphere身份验证VMware,Inc.
20证书替换概述可以根据公司策略和正配置的系统的要求来执行不同类型的证书替换.
可以使用vSphereCertificateManager实用程序从vCenterServer执行证书替换,也可以通过使用安装中包含的CLI手动执行证书替换.
VMCA包含在每个vCenterServer部署中.
VMCA使用由VMCA作为证书颁发机构签名的证书置备每个节点、每个vCenterServer解决方案用户和每个ESXi主机.
可以替换默认证书.
对于vCenterServer组件,可以使用安装中包含的一组命令行工具.
您具有多个选择.
替换为VMCA签名的证书如果VMCA证书过期或由于其他原因要对其进行替换,可以使用证书管理CLI执行此过程.
默认情况下,VMCA根证书有效期为十年,且VMCA签名的所有证书都会在根证书过期时过期,即有效期最长为十年.
图2-1.
由VMCA签名的证书存储在VECS中CA证书VECS计算机证书已签名VMCA您可以使用以下vSphereCertificateManager选项:n将计算机SSL证书替换为VMCA证书n将解决方案用户证书替换为VMCA证书有关手动证书替换,请参见将现有VMCA签名证书替换为新的VMCA签名证书.
使VMCA成为中间CA您可以将VMCA根证书替换为由企业CA或第三方CA签名的证书.
VMCA在每次置备证书时都会签署自定义根证书,从而使VMCA成为中间CA.
注如果执行包含vCenterServer的全新安装,请在添加ESXi主机之前替换VMCA根证书.
如果这样做,则VMCA会对整个链进行签名,且不必生成新证书.
vSphere身份验证VMware,Inc.
21图2-2.
由第三方或企业CA签名的证书使用VMCA作为中间CACA证书VECS计算机证书已签名VMwarevSphereVMCA根CA证书企业CA证书已签名已签名您可以使用以下vSphereCertificateManager选项:n将VMCA根证书替换为自定义签名证书并替换所有证书n将计算机SSL证书替换为VMCA证书(多节点增强型链接模式部署)n将解决方案用户证书替换为VMCA证书(多节点增强型链接模式部署)有关手动证书替换,请参见使用VMCA作为中间证书颁发结构.
不要使用VMCA,使用自定证书进行置备您可以将现有的VMCA签名证书替换为自定义证书.
如果使用此方法,则您必须负责置备和监控所有证书.
图2-3.
外部证书直接存储在VECS中未使用VECS计算机证书VMwarevSphereVMCA外部CA(商业或企业)已签名vSphere身份验证VMware,Inc.
22您可以使用以下vSphereCertificateManager选项:n将计算机SSL证书替换为自定义证书n将解决方案用户证书替换为自定义证书有关手动证书替换,请参见在vSphere中使用自定义证书.
您还可以使用vSphereClient为计算机SSL证书生成CSR(自定义),并在CA返回CSR后替换证书.
请参见使用vSphereClient为计算机SSL证书生成证书签名请求(自定义证书).
混合部署您可以让VMCA提供一些证书,但对基础架构的其他部分使用自定义证书.
例如,由于解决方案用户证书仅用于对vCenterSingleSign-On进行身份验证,请考虑让VMCA置备这些证书.
将计算机SSL证书替换为自定义证书以确保所有SSL流量的安全.
公司策略通常不允许使用中间CA.
在这些情况下,混合部署是一种有效的解决方案.
它会最大程度地减少要替换的证书数量并确保所有流量的安全.
混合部署只保留内部流量,即解决方案用户流量,以便使用默认的VMCA签名证书.
ESXi证书替换对于ESXi主机,您可以从vSphereClient更改证书置备行为.
有关详细信息,请参见vSphere安全性文档.
表2-4.
ESXi证书替换选项选项描述VMwareCertificateAuthority模式(默认值)从vSphereClient续订证书时,VMCA将为主机颁发证书.
如果已将VMCA根证书更改为包含证书链,则主机证书将包含完整链.
自定义证书颁发机构模式允许您手动更新和使用未签名或由VMCA颁发的证书.
指纹模式可用于在刷新期间保留5.
5证书.
仅在调试情况下临时使用此模式.
vSphere用户证书的位置VMwareCertificateAuthority(VMCA)会为您的环境置备证书.
证书包括用于安全连接的计算机SSL证书,对vCenterSingleSign-On进行服务身份验证的解决方案用户证书,以及ESXi主机的证书.
以下证书正在使用中.
表2-5.
vSphere中的证书证书已置备备注ESXi证书VMCA(默认)存储在ESXi主机本地.
计算机SSL证书VMCA(默认)存储在VECS中.
解决方案用户证书VMCA(默认)存储在VECS中.
vSphere身份验证VMware,Inc.
23表2-5.
vSphere中的证书(续)证书已置备备注vCenterSingleSign-OnSSL签名证书在安装期间置备.
从命令行管理此证书.
注请勿在文件系统中更改此证书,否则可能导致不可预知的行为结果.
VMwareDirectoryService(VMDIR)SSL证书在安装期间置备.
从vSphere6.
5开始,计算机SSL证书将被用作vmdir证书.
ESXiESXi证书存储在每个主机本地中的/etc/vmware/ssl目录下.
默认情况下,ESXi证书由VMCA置备,但也可以使用自定义证书.
当首次将主机添加到vCenterServer时以及当主机重新连接时,会置备ESXi证书.
计算机SSL证书每个节点的计算机SSL证书用于在服务器端上创建SSL套接字.
SSL客户端连接到SSL套接字.
该证书用于服务器验证和安装通信,如HTTPS或LDAPS.
每个vCenterServer节点都有自己的计算机SSL证书.
vCenterServer节点上正在运行的所有服务均使用该计算机SSL证书公开其SSL端点.
以下服务使用该计算机SSL证书.
n反向代理服务.
与各个vCenter服务的SSL连接始终会转到反向代理.
流量不会转到服务自身.
nvCenterServer服务(vpxd).
nVMwareDirectoryService(vmdir).
VMware产品使用标准X.
509版本3(X.
509v3)证书来加密会话信息.
会话信息通过组件之间的SSL发送.
解决方案用户证书解决方案用户封装一个或多个vCenterServer服务.
每个解决方案用户都必须对vCenterSingleSign-On进行身份验证.
解决方案用户通过SAML令牌交换使用证书对vCenterSingleSign-On进行身份验证.
在首次必须进行身份验证时,在重新引导后以及在超时结束后,解决方案用户向vCenterSingleSign-On提供证书.
可以在vSphereClient中设置超时(密钥所有者超时),默认值为2592000秒(30天).
例如,在连接到vCenterSingleSign-On时,vpxd解决方案用户向vCenterSingleSign-On提供其证书.
vpxd解决方案用户从vCenterSingleSign-On收到一个SAML令牌,然后使用该令牌对其他解决方案用户和服务进行身份验证.
VECS中包含以下解决方案用户证书存储:nmachine:由LicenseServer和日志记录服务使用.
注Machine解决方案用户证书与计算机SSL证书没有任何关系.
计算机解决方案用户证书用于进行SAML令牌交换.
计算机SSL证书用于计算机的安全SSL连接.
vSphere身份验证VMware,Inc.
24nvpxd:vCenter服务守护进程(vpxd)存储.
vpxd使用存储在此存储中的解决方案用户证书对vCenterSingleSign-On进行身份验证.
nvpxd-extension:vCenter扩展存储.
包括AutoDeploy服务、InventoryService以及不属于其他解决方案用户的其他服务.
nvsphere-webclient:vSphereClient存储.
还包括其他一些服务,例如性能图表服务.
nwcp:vSphere(含Kubernetes)存储.
内部证书vCenterSingleSign-On证书未存储在VECS中,并且未使用证书管理工具进行管理.
一般说来,无需进行更改,但在特殊情况下,可以替换这些证书.
vCenterSingleSign-On签名证书vCenterSingleSign-On服务包括身份提供程序服务,该提供程序可发布用于在整个vSphere进行身份验证的SAML令牌.
SAML令牌表示用户的身份,还包含组成员资格信息.
在vCenterSingleSign-On发布SAML令牌时,它将使用其签名证书对每个令牌进行签名,以便vCenterSingleSign-On的客户端可以验证SAML令牌是否来自可信源.
可以从CLI替换此证书.
请参见刷新SecurityTokenService证书.
VMwareDirectoryServiceSSL证书从vSphere6.
5开始,计算机SSL证书将被用作VMware目录证书.
对于vSphere的早期版本,请参见相应的文档.
vSphere虚拟机加密证书vSphere虚拟机加密解决方案与外部密钥管理服务器(KMS)连接.
根据该解决方案对KMS进行身份验证的方式,可能会生成证书并将其存储在VECS中.
请参见vSphere安全性文档.
VMCA和VMware核心标识服务核心标识服务是每个vCenterServer系统的一部分.
VMCA是每个VMware核心标识服务组的一部分.
使用管理CLI和vSphereClient与这些服务进行交互.
VMware核心标识服务包括多个组件.
表2-6.
核心标识服务服务描述VMwareDirectoryService(vmdir)处理SAML证书管理以进行vCenterSingleSign-On身份验证的标识源.
VMwareCertificateAuthority(VMCA)颁发VMware解决方案用户的证书、正在运行服务的计算机的计算机证书以及ESXi主机证书.
VMCA可以立即使用或作为中间证书颁发机构.
VMCA仅会对可以在同一域中对vCenterSingleSign-On进行身份验证的客户端颁发证书.
VMwareAuthenticationFramework守护进程(VMAFD)包括VMwareEndpoint证书存储(VECS)和其他一些身份验证服务.
VMware管理员与VECS进行交互.
在内部使用其他服务.
vSphere身份验证VMware,Inc.
25VMwareEndpoint证书存储概述VMwareEndpoint证书存储(VECS)充当可以存储在密钥库中的证书、专用密钥以及其他证书信息的本地(客户端)存储库.
可以选择不使用VMCA作为证书颁发机构和证书签名者,但必须使用VECS存储所有vCenter证书、密钥等.
ESXi证书存储在每个本地主机中,而不是VECS中.
VECS作为VMwareAuthenticationFramework守护进程(VMAFD)的一部分运行.
VECS在每个vCenterServer节点上运行,并保留包含证书和密钥的密钥库.
VECS会定期轮询VMwareDirectoryService(vmdir),以获取对受信任的根存储的更新.
还可以使用vecs-cli命令显式管理VECS中的证书和密钥.
请参见vecs-cli命令参考.
VECS包括以下库.
表2-7.
VECS中的库库描述计算机SSL库(MACHINE_SSL_CERT)n由每个vSphere节点上的反向代理服务使用.
n由VMwareDirectoryService(vmdir)在每个vCenterServer节点上使用.
vSphere6.
0及更高版本中的所有服务通过使用计算机SSL证书的反向代理进行通信.
为了实现向后兼容性,5.
x服务仍使用特定端口.
因此,某些服务(如vpxd)仍使其自身的端口处于打开状态.
解决方案用户库nmachinenvpxdnvpxd-extensionnvsphere-webclientnwcpVECS为每个解决方案用户提供一个库.
每个解决方案用户证书的主体必须是唯一的,例如machine证书不能具有与vpxd证书相同的主体.
解决方案用户证书用于对vCenterSingleSign-On进行身份验证.
vCenterSingleSign-On会检查证书是否有效,但不检查其他证书属性.
VECS中包含以下解决方案用户证书存储:nmachine:由LicenseServer和日志记录服务使用.
注Machine解决方案用户证书与计算机SSL证书没有任何关系.
计算机解决方案用户证书用于进行SAML令牌交换.
计算机SSL证书用于计算机的安全SSL连接.
nvpxd:vCenter服务守护进程(vpxd)存储.
vpxd使用存储在此存储中的解决方案用户证书对vCenterSingleSign-On进行身份验证.
nvpxd-extension:vCenter扩展存储.
包括AutoDeploy服务、InventoryService以及不属于其他解决方案用户的其他服务.
nvsphere-webclient:vSphereClient存储.
还包括其他一些服务,例如性能图表服务.
nwcp:vSphere(含Kubernetes)存储.
每个vCenterServer节点包含一个machine证书.
受信任的根存储(TRUSTED_ROOTS)包含所有受信任的根证书.
vSphere身份验证VMware,Inc.
26表2-7.
VECS中的库(续)库描述vSphereCertificateManager实用程序备份库(BACKUP_STORE)由VMCA(VMwareCertificateManager)用来支持证书恢复.
仅将最近的状态存储为备份,无法返回多个步骤.
其他库解决方案可能会添加其他库.
例如,VirtualVolumes解决方案会添加SMS库.
请勿修改这些库中的证书,除非VMware文档或VMware知识库文章要求进行此类修改.
注删除TRUSTED_ROOTS_CRLS存储可能会损坏证书基础架构.
请勿删除或修改TRUSTED_ROOTS_CRLS存储.
vCenterSingleSign-On服务会在磁盘上存储令牌签名证书及其SSL证书.
可以从CLI更改令牌签名证书.
某些证书在启动期间可以临时或永久存储在文件系统中.
请勿更改文件系统上的证书.
注请勿更改磁盘上的任何证书文件,除非VMware文档或知识库文章要求这样做.
否则,可能会导致不可预知的行为.
管理证书吊销如果怀疑您的其中一个证书已受到影响,请替换所有现有证书,包括VMCA根证书.
vSphere支持替换证书,但不会强制吊销ESXi主机或vCenterServer系统的证书.
从所有节点中移除已吊销证书.
如果未移除已吊销证书,则中间人攻击可能会通过模拟帐户凭据而感染系统.
大型部署中的证书替换在具有大量vCenterServer主机的部署中替换证书时,可以使用vSphereCertificateManager实用程序进行替换,也可以手动替换证书.
一些最佳做法可指导您选择的过程.
在具有多个vCenterServer节点的环境中替换计算机SSL证书如果您的环境包含多个vCenterServer节点,则可以使用vSphereClient或vSphereCertificateManager实用程序替换证书,也可以使用ESXCLI命令手动替换证书.
vSphereCertificateManager在每台计算机上运行vSphereCertificateManager.
根据您所执行的任务,也可能提示您输入证书信息.
手动证书替换对于手动证书替换,可以在每台计算机上运行证书替换命令.
有关详细信息,请参见以下主题:n将计算机SSL证书替换为VMCA签名证书n替换计算机SSL证书(中间CA)n将计算机SSL证书替换为自定义证书vSphere身份验证VMware,Inc.
27在具有多个处于增强型链接模式的vCenterServer系统的环境中替换解决方案用户证书如果您的环境包含多个处于增强型链接模式的vCenterServer系统,请按照以下步骤替换证书.
注在大型部署中列出解决方案用户证书时,dir-clilist的输出包括所有节点的所有解决方案用户.
运行vmafd-cliget-machine-id--server-namelocalhost以查找每个主机的本地计算机ID.
每个解决方案用户名称均包括计算机ID.
vSphereCertificateManager在每台计算机上运行vSphereCertificateManager.
根据您所执行的任务,也可能提示您输入证书信息.
手动证书替换1生成或请求证书.
需要以下证书:n每个vCenterServer上计算机解决方案用户的证书.
n每个节点上以下每个解决方案用户的证书:nvpxd解决方案用户nvpxd-extension解决方案用户nvsphere-webclient解决方案用户nwcp解决方案用户2在每个节点上替换证书.
确切过程取决于您将执行的证书替换类型.
请参见使用vSphereCertificateManager实用程序管理证书.
有关详细信息,请参见以下主题:n将解决方案用户证书替换为新的VMCA签名证书n替换解决方案用户证书(中间CA)n将解决方案用户证书替换为自定义证书在包含外部解决方案的环境中替换证书某些解决方案(如VMwarevCenterSiteRecoveryManager或VMwarevSphereReplication)始终安装在不同于vCenterServer系统的计算机上.
如果替换vCenterServer系统上的默认计算机SSL证书,当解决方案尝试连接到vCenterServer系统时,会出现连接错误.
您可以通过运行ls_update_certs脚本解决此问题.
有关详细信息,请参见VMware知识库文章,网址为http://kb.
vmware.
com/kb/2109074.
使用vSphereClient管理证书可以使用vSphereClient来查看和管理证书.
也可以使用vSphereCertificateManager实用程序执行许多证书管理任务.
使用vSphereClient可执行以下管理任务.
n查看可信根证书和计算机SSL证书.
vSphere身份验证VMware,Inc.
28n续订现有证书或替换证书.
n为计算机SSL证书生成自定义证书签名请求(CSR)并在证书颁发机构返回CSR时替换证书.
大多数证书替换工作流在vSphereClient中完全受支持.
要为计算机SSL证书生成CSR,您可以使用vSphereClient或证书管理实用程序.
支持的工作流安装vCenterServer后,默认情况下该节点上的VMwareCertificateAuthority为环境中的所有其他节点置备证书.
有关管理证书的当前建议,请参见第2章vSphere安全证书.
可以使用以下工作流之一续订或替换证书.
续订证书可以让VMCA从vSphereClient续订环境中的SSL证书和解决方案用户证书.
使VMCA成为中间CA可以使用vSphereCertificateManager实用程序生成CSR.
然后,可以编辑从CSR接收的证书以将VMCA添加到链中,然后向环境添加证书链和专用密钥.
之后续订所有证书时,VMCA将为所有计算机和解决方案用户置备已对整个链签名的证书.
将证书替换为自定义证书如果不希望使用VMCA,可以为要替换的证书生成CSR.
CA将为每个CSR返回根证书和签名证书.
可以从vCenterServer上载根证书和自定义证书.
注如果使用VMCA作为中间CA或使用自定义证书,复杂性可能会显著提高,安全可能会受到负面影响,运营风险可能会不必要地提高.
有关管理vSphere环境内的证书的更多信息,请参见标题为NewProductWalkthrough-HybridvSphereSSLCertificateReplacement的博客帖子,网址为http://vmware.
com/go/hybridvmca.
从vSphereClient浏览证书存储每个vCenterServer节点上都包括一个VMware端点证书存储(VECS)实例.
可以从vSphereClient浏览VMwareEndpoint证书存储内部的不同存储.
有关VECS内部不同存储的详细信息,请参见VMwareEndpoint证书存储概述.
前提条件对于大多数管理任务,必须具有本地域帐户administrator@vsphere.
local的管理员密码;或者如果在安装期间更改了此域,则必须具有其他域的管理员密码.
步骤1使用vSphereClient登录vCenterServer.
2为administrator@vsphere.
local或vCenterSingleSign-On管理员组的其他成员指定用户名和密码.
如果在安装时指定了不同的域,请以administrator@mydomain身份登录.
vSphere身份验证VMware,Inc.
293导航到证书管理UI.
a在主页菜单中,选择系统管理.
b在证书下,单击证书管理.
4如果系统出现提示,请输入vCenterServer的凭据.
5浏览VMwareEndpoint证书存储(VECS)内存储的证书.
VMwareEndpoint证书存储概述介绍了各个存储中的具体内容.
6要查看某证书的详细信息,请选择该证书,然后单击查看详细信息.
7使用操作菜单续订或替换证书.
例如,如果替换现有证书,则稍后可以移除旧根证书.
仅当确定证书不再使用时才将其移除.
为vCenter证书过期警告设置阈值vCenterServer可监控VMware端点证书存储(VECS)中的所有证书,并在证书离过期还有30天或少于30天时发出警报.
可以使用vpxd.
cert.
threshold高级选项更改向您发出警告的时间.
步骤1登录到vSphereClient.
2选择vCenterServer对象,然后单击配置.
3单击高级设置.
4单击编辑设置,然后针对阈值进行筛选.
5将vpxd.
cert.
threshold的设置更改为所需值,然后单击保存.
从vSphereClient使用新的VMCA签名证书续订VMCA证书可以将所有的VMCA签名证书替换为新的VMCA签名证书.
此过程称为续订证书.
可以从vSphereClient续订所选证书或环境中的所有证书.
前提条件要管理证书,您必须提供本地域管理员(默认为administrator@vsphere.
local)的密码.
如果要为vCenterServer系统续订证书,则您还必须为对vCenterServer系统具有管理员特权的用户提供vCenterSingleSign-On凭据.
步骤1使用vSphereClient登录vCenterServer.
2为administrator@vsphere.
local或vCenterSingleSign-On管理员组的其他成员指定用户名和密码.
如果在安装时指定了不同的域,请以administrator@mydomain身份登录.
vSphere身份验证VMware,Inc.
303导航到证书管理UI.
a在主页菜单中,选择系统管理.
b在证书下,单击证书管理.
4如果系统出现提示,请输入vCenterServer的凭据.
5续订本地系统的VMCA签名计算机SSL证书.
a选择计算机SSL证书.
b单击操作>续订.
c单击续订.
vCenterServer服务将自动重新启动.
您必须重新登录,因为重新启动服务会结束UI会话.
将系统设置为使用自定义证书可以将环境设置为使用自定义证书.
使用CertificateManager实用程序,可以为每个计算机和每个解决方案用户生成证书签名请求(CSR).
使用vSphereClient您还可以为每台计算机生成CSR并在收到来自第三方CA的证书时进行替换.
将CSR提交给内部或第三方CA时,CA返回已签名证书和根证书.
可以从vCenterServerUI同时上载根证书和已签名证书.
使用vSphereClient为计算机SSL证书生成证书签名请求(自定义证书)计算机SSL证书由每个vCenterServer节点上的反向代理服务使用.
每台计算机都必须拥有可用于与其他服务进行安全通信的计算机SSL证书.
可以使用vSphereClient为计算机SSL证书生成证书签名请求(CSR),并在准备就绪后替换该证书.
前提条件证书必须满足以下要求:n密钥大小:2048位(最小值)到16384位(最大值)(PEM编码)nCRT格式nx509版本3nSubjectAltName必须包含DNSName=.
n包含以下密钥用法:数字签名、不可否认性、密钥加密注不要在任何自定义证书中使用CRL分发点、授权信息访问或证书模板信息.
步骤1使用vSphereClient登录vCenterServer.
2为administrator@vsphere.
local或vCenterSingleSign-On管理员组的其他成员指定用户名和密码.
如果在安装时指定了不同的域,请以administrator@mydomain身份登录.
vSphere身份验证VMware,Inc.
313导航到证书管理UI.
a在主页菜单中,选择系统管理.
b在证书下,单击证书管理.
4输入您的vCenterServer凭据.
5生成CSR.
a在计算机SSL证书下,针对要替换的证书单击操作>生成证书签名请求(CSR).
b输入证书信息,然后单击下一步.
注使用vCenterServer生成密钥大小为16384位的CSR时,生成需要几分钟才能完成,因为该操作具有CPU密集型特性.
c复制或下载CSR.
d单击完成.
e向证书颁发机构提供CSR.
后续步骤当证书颁发机构返回证书时,替换证书存储中的现有证书.
请参见添加自定义证书.
使用vSphereCertificateManager生成证书签名请求(自定义证书)您可以使用vSphereCertificateManager生成证书签名请求(CSR),然后可以将其用于企业CA或发送给外部证书颁发机构.
您可以通过受支持的不同证书替换流程使用证书.
可以按如下方式从命令行运行CertificateManager工具:/usr/lib/vmware-vmca/bin/certificate-manager前提条件vSphereCertificateManager会提示您输入信息.
提示信息取决于您的环境以及要替换的证书类型.
n生成任何CSR时,系统会提示您输入administrator@vsphere.
local用户的密码,或当前所连接的vCenterSingleSign-On域的管理员的密码.
n系统将提示您输入vCenterServer的主机名或IP地址.
n要为计算机SSL证书生成CSR,您需要按提示提供证书属性,这些属性存储在certool.
cfg文件中.
对于大多数字段,可以接受默认值或提供特定于站点的值.
计算机的FQDN为必需值.
步骤1在环境中的每个计算机上,启动vSphereCertificateManager并选择选项1.
2按照提示提供密码和vCenterServer的IP地址或主机名.
3选择选项1以生成CSR,按提示提供信息,然后退出CertificateManager.
在此流程中,您还必须提供一个目录.
CertificateManager将证书和密钥文件放在此目录中.
vSphere身份验证VMware,Inc.
324如果还希望替换所有解决方案用户证书,请重新启动CertificateManager.
5选择选项5.
6按照提示提供密码和vCenterServer的IP地址或主机名.
7选择选项1以生成CSR,按提示提供信息,然后退出CertificateManager.
在此流程中,您还必须提供一个目录.
CertificateManager将证书和密钥文件放在此目录中.
后续步骤执行证书替换.
将可信根证书添加到证书存储如果要在您的环境中使用第三方证书,则必须将可信根证书添加到证书存储.
前提条件从第三方或内部CA获取自定义根证书.
步骤1使用vSphereClient登录vCenterServer.
2为administrator@vsphere.
local或vCenterSingleSign-On管理员组的其他成员指定用户名和密码.
如果在安装时指定了不同的域,请以administrator@mydomain身份登录.
3导航到证书管理UI.
a在主页菜单中,选择系统管理.
b在证书下,单击证书管理.
4如果系统出现提示,请输入vCenterServer的凭据.
5在可信根证书下,单击添加.
6单击浏览并选择证书链的位置.
可以使用CER、PEM或CRT类型的文件.
7单击添加.
证书将添加到存储中.
添加自定义证书可以将自定义计算机SSL证书添加到证书存储.
通常,替换每个组件的计算机SSL证书就已满足要求.
前提条件为要替换的每个证书生成证书签名请求(CSR).
可以使用CertificateManager实用程序生成CSR.
您还可以使用vSphereClient为计算机SSL证书生成CSR.
在vCenterServer可以访问的位置中放置证书和专用密钥.
vSphere身份验证VMware,Inc.
33步骤1使用vSphereClient登录vCenterServer.
2为administrator@vsphere.
local或vCenterSingleSign-On管理员组的其他成员指定用户名和密码.
如果在安装时指定了不同的域,请以administrator@mydomain身份登录.
3导航到证书管理UI.
a在主页菜单中,选择系统管理.
b在证书下,单击证书管理.
4如果系统出现提示,请输入vCenterServer的凭据.
5在计算机SSL证书下,针对要替换的证书,单击操作>导入并替换证书.
6单击适当的证书替换选项,然后单击下一步.
选项描述替换为VMCA创建VMCA生成的CSR以替换当前证书.
替换为从vCenterServer生成的证书使用通过vCenterServer生成的CSR签名的证书替换当前证书.
替换为外部CA证书(需要私钥)使用外部CA签名的证书替换当前证书.
7输入CSR信息,或上载相应的证书.
8单击替换.
vCenterServer服务将自动重新启动.
使用vSphereCertificateManager实用程序管理证书vSphereCertificateManager实用程序可用于以交互方式从命令行执行大多数证书管理任务.
vSphereCertificateManager会提示您输入要执行的任务、证书位置以及其他信息(根据需要),然后停止并启动服务,以及为您替换证书.
如果使用vSphereCertificateManager,则无需替换VECS(VMwareEndpoint证书存储)中的证书,且无需启动和停止服务.
在运行vSphereCertificateManager之前,请确保熟悉替换过程并获取您要使用的证书.
小心vSphereCertificateManager支持一个恢复级别.
如果运行两次vSphereCertificateManager并发现环境无意中遭到损坏,则该工具无法恢复前两次运行中的第一次运行.
CertificateManager实用程序位置可以按如下方式在命令行上运行该工具:/usr/lib/vmware-vmca/bin/certificate-managervSphere身份验证VMware,Inc.
34本文档中的CertificateManager选项和工作流您可以按顺序运行CertificateManager选项以完成工作流.
一些选项(例如生成CSR)在不同的工作流中使用.
将VMCA根证书替换为自定义签名证书并替换所有证书此单选项工作流(选项2)可以单独使用,也可以在中间证书工作流中使用.
请参见重新生成新的VMCA根证书并替换所有证书.
将VMCA作为中间证书颁发机构要将VMCA作为中间CA,您必须多次运行CertificateManager.
该工作流提供了替换计算机SSL证书和解决方案用户证书的完整步骤.
1要生成CSR,请选择选项2"将VMCA根证书替换为自定义签名证书并替换所有证书".
接下来,您可能必须提供有关证书的一些信息.
再次提示选择一个选项时,选择选项1.
将CSR提交到外部或企业CA.
您将从CA收到签名证书和根证书.
2将VMCA根证书与CA根证书合并,然后保存文件.
3选择选项2"将VMCA根证书替换为自定义签名证书并替换所有证书".
此过程会替换本地计算机上的所有证书.
4当多个vCenterServer实例以增强型链接模式配置进行连接时,必须替换每个节点上的证书.
a首先将计算机SSL证书替换为(新)VMCA证书(选项3)b然后将解决方案用户证书替换为(新)VMCA证书(选项6)请参见将VMCA设为中间证书颁发机构(CertificateManager).
将所有证书替换为自定义证书要将所有证书替换为自定义证书,您必须多次运行CertificateManager.
该工作流提供了替换计算机SSL证书和解决方案用户证书的完整步骤.
1在每台计算机上分别为计算机SSL证书和解决方案用户证书生成证书签名请求.
a要为计算机SSL证书生成CSR,请选择选项1.
b如果公司策略要求您替换所有证书,则还要选择选项5.
2从CA收到签名证书和根证书后,使用选项1在每台计算机上替换计算机SSL证书.
3如果您还想替换解决方案用户证书,请选择选项5.
4最后,当多个vCenterServer实例以增强型链接模式配置进行连接时,必须在每个节点上重复该过程.
vSphere身份验证VMware,Inc.
35请参见将所有证书替换为自定义证书(CertificateManager).
注运行CertificateManager实用程序时会显示以下提示:EnterpropervalueforVMCA'Name':请输入运行证书配置的计算机的完全限定域名,以响应提示.
重新生成新的VMCA根证书并替换所有证书可以重新生成VMCA根证书,并将本地计算机SSL证书和本地解决方案用户证书替换为VMCA签名证书.
当多个vCenterServer实例连接到增强型链接模式配置时,必须替换每个vCenterServer上的证书.
将现有计算机SSL证书替换为新的VMCA签名证书时,vSphereCertificateManager会提示您输入信息,并将除vCenterServer密码和IP地址以外的所有值输入到certool.
cfg文件.
nadministrator@vsphere.
local的密码n两个字母组成的国家/地区代码n公司名称n组织名称n组织单位n省/市/自治区n地区nIP地址(可选)n电子邮件n主机名,即要替换证书的计算机的完全限定域名.
如果主机名与FQDN不匹配,则证书替换无法正确完成,且环境可能最终会处于不稳定状态.
nvCenterServer的IP地址.
nVMCA名称,即,运行证书配置的计算机的完全限定域名.
前提条件在使用此选项运行vSphereCertificateManager时,您必须了解以下信息.
nadministrator@vsphere.
local的密码.
n要为其生成新的VMCA签名证书的计算机的FQDN.
所有其他属性默认设置为预定义的值,但可以更改.
步骤1在vCenterServer上启动vSphereCertificateManager.
2选择选项4.
vSphere身份验证VMware,Inc.
363对提示做出响应.
CertificateManager将基于您输入的内容生成新的VMCA根证书并替换运行CertificateManager的系统上的所有证书.
在证书管理器重新启动服务后,替换过程即完成.
4要替换计算机SSL证书,请使用选项3ReplaceMachineSSLcertificatewithVMCACertificate运行vSphereCertificateManager.
5要替换解决方案用户许可证,请使用选项6ReplaceSolutionusercertificateswithVMCAcertificates运行CertificateManager.
将VMCA设为中间证书颁发机构(CertificateManager)可以根据CertificateManager实用程序的提示,将VMCA设为中间CA.
完成此过程后,VMCA会对整个链中的所有证书进行签名.
如果需要,可以使用CertificateManager将所有现有证书替换为VMCA签名的新证书.
VMware建议,既不要替换STS证书,也不要使用辅助CA取代VMCA.
如果选择任意一种选项,您都可能会遇到很大复杂性和对安全产生负面影响的可能性,以及不必要地提高操作风险.
有关管理vSphere环境内的证书的详细信息,请参见标题为"NewProductWalkthrough-HybridvSphereSSLCertificateReplacement"的博客帖子,网址为http://vmware.
com/go/hybridvmca.
要将VMCA作为中间CA,您必须多次运行CertificateManager.
该工作流提供了替换计算机SSL证书的完整步骤.
1要生成CSR,请选择选项1"将计算机SSL证书替换为自定义证书",然后再次选择选项1.
您将从CA收到签名证书和根证书.
2将VMCA根证书与CA根证书合并,然后保存文件.
3选择选项2"将VMCA根证书替换为自定义签名证书并替换所有证书".
此过程会替换本地计算机上的所有证书.
使用vSphereCertificateManager生成CSR并准备根证书(中间CA)您可以使用vSphereCertificateManager生成证书签名请求(CSR).
将这些CSR提交到企业CA或外部证书颁发机构进行签名.
您可以通过受支持的不同证书替换流程使用签名证书.
n可以使用vSphereCertificateManager创建CSR.
n如果希望手动创建CSR,则发送以进行签名的证书必须满足以下要求:n密钥大小:2048位(最小值)到16384位(最大值)(PEM编码)nPEM格式.
VMware支持PKCS8和PKCS1(RSA密钥).
密钥添加到VECS后,会转换为PKCS8.
nx509版本3n对于根证书,CA扩展必须设置为true,并且证书签名必须在要求列表中.
例如:basicConstraints=critical,CA:truekeyUsage=critical,digitalSignature,keyCertSignvSphere身份验证VMware,Inc.
37n必须启用CRL签名.
n"增强型密钥用法"可以为空或包含服务器身份验证.
n对证书链的长度没有明确限制.
VMCA使用OpenSSL默认设置,即10个证书.
n不支持包含通配符或多个DNS名称的证书.
n不能创建VMCA的附属CA.
有关使用Microsoft证书颁发机构的示例,请参见VMware知识库文章《在vSphere6.
x中创建Microsoft证书颁发机构模板以创建SSL证书》,网址为http://kb.
vmware.
com/kb/2112009.
前提条件vSphereCertificateManager会提示您输入信息.
提示信息取决于您的环境以及要替换的证书类型.
生成任何CSR时,系统会提示您输入administrator@vsphere.
local用户的密码,或当前所连接的vCenterSingleSign-On域的管理员的密码.
步骤1运行vSphereCertificateManager.
/usr/lib/vmware-vmca/bin/certificate-manager2选择选项2.
首先,使用此选项生成CSR,而不是替换证书.
3按照提示提供密码和vCenterServer的IP地址或主机名.
4选择选项1以生成CSR并按提示提供信息.
在此流程中,您还必须提供一个目录.
CertificateManager会将要签名的证书(*.
csr文件)和相应密钥文件(*.
key文件)放入该目录中.
5命名证书签名请求(CSR)root_signing_cert.
csr.
6将CSR发送到您的企业或外部CA进行签名,并命名生成的签名证书root_signing_cert.
cer.
7在文本编辑器中,按如下方式合并证书.
-----BEGINCERTIFICATE-----SignedVMCArootcertificate-----ENDCERTIFICATE----------BEGINCERTIFICATE-----CAintermediatecertificates-----ENDCERTIFICATE----------BEGINCERTIFICATE-----RootcertificateofenterpriseorexternalCA-----ENDCERTIFICATE-----8将文件保存为root_signing_chain.
cer.
vSphere身份验证VMware,Inc.
38后续步骤将现有根证书替换为链式根证书.
请参见将VMCA根证书替换为自定义签名证书并替换所有证书.
将VMCA根证书替换为自定义签名证书并替换所有证书可以使用vSphereCertificateManager生成CSR并将该CSR发送到企业或第三方CA进行签名.
然后,可以将VMCA根证书替换为自定义签名证书,并将所有现有证书替换为自定义CA签名的证书.
在vCenterServer上运行vSphereCertificateManager以将VMCA根证书替换为自定义签名证书.
前提条件n生成证书链.
n可以使用vSphereCertificateManager创建CSR,或者手动创建CSR.
n从第三方或者企业CA收到签名证书后,将它与初始VMCA根证书组合在一起以创建完整链.
有关证书要求以及组合证书的过程,请参见使用vSphereCertificateManager生成CSR并准备根证书(中间CA).
n收集所需的信息.
nadministrator@vsphere.
local的密码n有效的自定义根证书(.
crt文件)n根的有效自定义密钥(.
key文件)步骤1启动vCenterServer主机上的vSphereCertificateManager并选择选项2.
2再次选择选项2,开始证书替换并根据提示提供信息.
a出现提示后指定根证书的完整路径.
b如果是首次替换证书,则系统将提示您输入用于计算机SSL证书的信息.
此信息包括计算机所需的FQDN并存储在certool.
cfg文件中.
将计算机SSL证书替换为VMCA证书(中间CA)将VMCA用作中间CA时,可以明确替换计算机SSL证书.
首先替换vCenterServer上的VMCA根证书,然后可以替换将由VMCA的新根签名的计算机SSL证书.
您也可以使用此选项替换已损坏或即将过期的计算机SSL证书.
将现有计算机SSL证书替换为新的VMCA签名证书时,vSphereCertificateManager会提示您输入信息,并将除vCenterServer密码和IP地址以外的所有值输入到certool.
cfg文件.
nadministrator@vsphere.
local的密码n两个字母组成的国家/地区代码n公司名称n组织名称vSphere身份验证VMware,Inc.
39n组织单位n省/市/自治区n地区nIP地址(可选)n电子邮件n主机名,即要替换证书的计算机的完全限定域名.
如果主机名与FQDN不匹配,则证书替换无法正确完成,且环境可能最终会处于不稳定状态.
nvCenterServer的IP地址.
nVMCA名称,即,运行证书配置的计算机的完全限定域名.
前提条件n您必须了解以下信息才能使用此选项运行CertificateManager.
nadministrator@vsphere.
local的密码.
n要为其生成新的VMCA签名证书的计算机的FQDN.
所有其他属性默认设置为预定义的值,但可以更改.
nvCenterServer系统的主机名或IP地址.
步骤1启动vSphereCertificateManager并选择选项3.
2对提示做出响应.
CertificateManager将信息存储在certool.
cfg文件中.
结果vSphereCertificateManager替换计算机SSL证书.
将解决方案用户证书替换为VMCA证书(中间CA)将VMCA用作中间CA时,可以明确替换解决方案用户证书.
首先替换vCenterServer上的VMCA根证书,然后可以替换将由VMCA的新根签名的解决方案用户证书.
您也可以使用此选项替换已损坏或即将过期的解决方案证书.
前提条件n如果在增强型链接模式配置中包含多个vCenterServer实例的部署中替换了VMCA根证书,请明确重新启动所有vCenterServer节点.
n您必须了解以下信息才能使用此选项运行CertificateManager.
nadministrator@vsphere.
local的密码nvCenterServer系统的主机名或IP地址vSphere身份验证VMware,Inc.
40步骤1启动vSphereCertificateManager并选择选项6.
2对提示做出响应.
有关详细信息,请参见VMware知识库文章,网址为http://kb.
vmware.
com/kb/2112281.
结果vSphereCertificateManager替换所有解决方案用户证书.
将所有证书替换为自定义证书(CertificateManager)可以使用vSphereCertificateManager实用程序将所有证书替换为自定义证书.
开始此过程之前,必须向您的CA发送CSR.
您可以使用CertificateManager生成CSR.
一种选择是仅使用VMCA置备的解决方案用户证书替换计算机SSL证书.
解决方案用户证书仅用于vSphere组件之间的通信.
使用自定义证书时,将VMCA签名证书替换为自定义证书.
可以使用vSphereClient、vSphereCertificateManager实用程序或CLI进行手动证书替换.
证书存储在VECS中.
要将所有证书替换为自定义证书,您必须多次运行CertificateManager.
该工作流提供了替换计算机SSL证书和解决方案用户证书的完整步骤.
1在每台计算机上分别为计算机SSL证书和解决方案用户证书生成证书签名请求.
a要为计算机SSL证书生成CSR,请选择选项1.
b如果公司策略不允许混合部署,请选择选项5.
2从CA收到签名证书和根证书后,使用选项1在每台计算机上替换计算机SSL证书.
3如果您还想替换解决方案用户证书,请选择选项5.
4最后,当多个vCenterServer实例以增强型链接模式配置进行连接时,必须在每个节点上重复该过程.
使用vSphereCertificateManager生成证书签名请求(自定义证书)您可以使用vSphereCertificateManager生成证书签名请求(CSR),然后可以将其用于企业CA或发送给外部证书颁发机构.
您可以通过受支持的不同证书替换流程使用证书.
可以按如下方式从命令行运行CertificateManager工具:/usr/lib/vmware-vmca/bin/certificate-manager前提条件vSphereCertificateManager会提示您输入信息.
提示信息取决于您的环境以及要替换的证书类型.
n生成任何CSR时,系统会提示您输入administrator@vsphere.
local用户的密码,或当前所连接的vCenterSingleSign-On域的管理员的密码.
n系统将提示您输入vCenterServer的主机名或IP地址.
vSphere身份验证VMware,Inc.
41n要为计算机SSL证书生成CSR,您需要按提示提供证书属性,这些属性存储在certool.
cfg文件中.
对于大多数字段,可以接受默认值或提供特定于站点的值.
计算机的FQDN为必需值.
步骤1在环境中的每个计算机上,启动vSphereCertificateManager并选择选项1.
2按照提示提供密码和vCenterServer的IP地址或主机名.
3选择选项1以生成CSR,按提示提供信息,然后退出CertificateManager.
在此流程中,您还必须提供一个目录.
CertificateManager将证书和密钥文件放在此目录中.
4如果还希望替换所有解决方案用户证书,请重新启动CertificateManager.
5选择选项5.
6按照提示提供密码和vCenterServer的IP地址或主机名.
7选择选项1以生成CSR,按提示提供信息,然后退出CertificateManager.
在此流程中,您还必须提供一个目录.
CertificateManager将证书和密钥文件放在此目录中.
后续步骤执行证书替换.
将计算机SSL证书替换为自定义证书计算机SSL证书由每个vCenterServer节点上的反向代理服务使用.
每台计算机都必须拥有可用于与其他服务进行安全通信的计算机SSL证书.
可以将每个节点上的证书替换为自定义证书.
前提条件开始之前,您需要为环境中的每个计算机生成一个CSR.
您可以使用vSphereCertificateManager生成CSR或明确生成CSR.
1要使用vSphereCertificateManager生成CSR,请参见使用vSphereCertificateManager生成证书签名请求(自定义证书).
2要明确生成CSR,请从第三方或企业CA为每个计算机请求一个证书.
证书必须满足以下要求:n密钥大小:2048位(最小值)到16384位(最大值)(PEM编码)nCRT格式nx509版本3nSubjectAltName必须包含DNSName=.
n包含以下密钥使用:数字签名、不可否认性、密钥加密注不要在任何自定义证书中使用CRL分发点、授权信息访问或证书模板信息.
请参见位于http://kb.
vmware.
com/kb/2112014的VMware知识库文章,了解如何从Microsoft证书颁发机构获取vSphere证书.
vSphere身份验证VMware,Inc.
42步骤1启动vSphereCertificateManager并选择选项1.
2选择选项2开始证书替换并根据提示提供信息.
vSphereCertificateManager提示您输入以下信息:nadministrator@vsphere.
local的密码n有效的计算机SSL自定义证书(.
crt文件)n有效的计算机SSL自定义密钥(.
key文件)n自定义计算机SSL证书的有效签名证书(.
crt文件)nvCenterServer的IP地址将解决方案用户证书替换为自定义证书许多公司仅要求替换可从外部进行访问的服务的证书.
但是,CertificateManager也支持替换解决方案用户证书.
解决方案用户是服务的集合,例如,与vSphereClient关联的所有服务.
当提示您输入解决方案用户证书时,请提供第三方CA的完整签名证书链.
格式应类似于以下内容.
-----BEGINCERTIFICATE-----Signingcertificate-----ENDCERTIFICATE----------BEGINCERTIFICATE-----CAintermediatecertificates-----ENDCERTIFICATE----------BEGINCERTIFICATE-----RootcertificateofenterpriseorexternalCA-----ENDCERTIFICATE-----前提条件开始之前,您需要为环境中的每个计算机生成一个CSR.
您可以使用vSphereCertificateManager生成CSR或明确生成CSR.
1要使用vSphereCertificateManager生成CSR,请参见使用vSphereCertificateManager生成证书签名请求(自定义证书).
2从第三方或企业CA为每个节点上的每个解决方案用户请求一个证书.
您可以使用vSphereCertificateManager生成CSR或自己准备CSR.
CSR必须满足以下要求:n密钥大小:2048位(最小值)到16384位(最大值)(PEM编码)nCRT格式nx509版本3nSubjectAltName必须包含DNSName=.
vSphere身份验证VMware,Inc.
43n每个解决方案用户证书必须具有不同的Subject.
例如,考虑包含解决方案用户名(如vpxd)或其他唯一标识符.
n包含以下密钥使用:数字签名、不可否认性、密钥加密请参见位于http://kb.
vmware.
com/kb/2112014的VMware知识库文章,了解如何从Microsoft证书颁发机构获取vSphere证书.
步骤1启动vSphereCertificateManager并选择选项5.
2选择选项2开始证书替换并根据提示提供信息.
vSphereCertificateManager提示您输入以下信息:nadministrator@vsphere.
local的密码n计算机解决方案用户的证书和密钥n计算机解决方案用户的证书和密钥(vpxd.
crt和vpxd.
key)n所有解决方案用户的全套证书和密钥(vpxd.
crt和vpxd.
key)通过重新发布旧证书恢复上次执行的操作通过使用vSphere证书管理器执行证书管理操作时,在替换证书之前,当前证书状态会先存储在VECS的BACKUP_STORE存储中.
可以恢复上次执行的操作并返回到上一状态.
注恢复操作会还原当前在BACKUP_STORE中的内容.
如果使用两个不同的选项运行vSphere证书管理器,然后尝试恢复,则仅会恢复上一个操作.
重置所有证书要将所有现有vCenter证书替换为VMCA签名的证书,请使用ResetAllCertificates选项.
使用此选项时,会覆盖当前在VECS中的所有自定义证书.
vSphereCertificateManager可以替换所有证书.
替换的证书取决于您选择的选项.
手动证书替换对于某些特殊的证书替换情况,无法使用vSphereCertificateManager实用程序.
可以改用随安装一起提供的CLI进行证书替换.
了解服务停止和启动对于手动证书替换的某些部分,必须停止所有服务,然后仅启动管理证书基础架构的服务.
如果仅在需要时停止服务,则可以最大程度地缩短停机时间.
在证书替换过程中,您必须停止和启动服务.
vSphere身份验证VMware,Inc.
44请遵循以下经验规则.
n请勿停止服务以生成新公用/专用密钥对或新证书.
n如果您是唯一的管理员,则在添加新根证书时无需停止服务.
旧根证书仍然可用,并且所有服务仍使用该证书进行身份验证.
在添加根证书后停止并立即重新启动所有服务,以避免主机出现问题.
n如果您的环境包括多个管理员,则在添加新根证书之前停止服务,并在添加新证书后重新启动服务.
n在VECS中删除计算机SSL证书之前立即停止服务.
将现有VMCA签名证书替换为新的VMCA签名证书如果VMCA根证书在不久的将来会过期或者出于其他原因需要替换该证书,则可以生成新的根证书并将其添加到VMwareDirectoryService.
然后,可以使用新的根证书生成新的计算机SSL证书和解决方案用户证书.
大多数情况下,可以使用vSphereCertificateManager实用程序替换证书.
如果需要进行精细控制,则此方案会为使用CLI命令替换一组完整的证书提供详细的分步说明.
但是,也可以使用对应的任务中的步骤仅单独替换各个证书.
前提条件仅有administrator@vsphere.
local或CAAdmins组中的其他用户可以执行证书管理任务.
请参见向vCenterSingleSign-On组添加成员.
生成新的VMCA签名根证书使用certoolCLI或vSphereCertificateManager实用程序生成新的VMCA签名证书,并将证书发布到vmdir.
步骤1在vCenterServer上,生成新的自签名证书和私钥.
certool--genselfcacert--outprivkey--outcert--config2将现有根证书替换为新证书.
certool--rootca--cert--privkey该命令会生成证书,将其添加到vmdir,然后将其添加到VECS.
3停止所有服务,启动处理证书创建、传播和存储的服务.
service-control--stop--allservice-control--startvmafddservice-control--startvmdirdservice-control--startvmcadvSphere身份验证VMware,Inc.
454(可选)将新的根证书发布到vmdir.
dir-clitrustedcertpublish--certnewRoot.
crt该命令会立即更新所有vmdir实例.
如果不运行该命令,将新证书传播到所有节点可能需要一些时间.
5重新启动所有服务.
service-control--start--all示例:生成新的VMCA签名根证书以下示例显示了验证当前根CA信息和重新生成根证书的所有步骤.
1(可选)在vCenterServer上,列出VMCA根证书以确保其位于证书存储中.
/usr/lib/vmware-vmca/bin/certool--getrootca输入类似于以下内容:output:Certificate:Data:Version:3(0x2)SerialNumber:cf:2d:ff:49:88:50:e5:af.
.
.
2(可选)列出VECSTRUSTED_ROOTS存储,并将证书序列号与步骤1中输出的序列号进行比较.
/usr/lib/vmware-vmafd/bin/vecs-clientrylist--storeTRUSTED_ROOTS--text在只有一个根证书的最简单情况下,输出类似于以下内容:Numberofentriesinstore:1Alias:960d43f31eb95211ba3a2487ac840645a02894bdEntrytype:TrustedCertCertificate:Data:Version:3(0x2)SerialNumber:cf:2d:ff:49:88:50:e5:af3生成新的VMCA根证书.
该命令可将证书添加到VECS和vmdir(VMwareDirectoryService)中的TRUSTED_ROOTS存储.
/usr/lib/vmware-vmca/bin/certool--selfca--config=/usr/lib/vmware-vmca/share/config/certool.
cfgvSphere身份验证VMware,Inc.
46将计算机SSL证书替换为VMCA签名证书在生成新的VMCA签名根证书后,可以替换您环境中的所有计算机SSL证书.
每台计算机都必须拥有可用于与其他服务进行安全通信的计算机SSL证书.
当多个vCenterServer实例以增强型链接模式配置进行连接时,必须在每个节点上运行计算机SSL证书生成命令.
前提条件准备好停止所有服务,启动处理证书传播和存储的服务.
步骤1为需要新证书的每台计算机复制一份certool.
cfg.
您可以在/usr/lib/vmware-vmca/share/config/目录中找到certool.
cfg文件.
2编辑每台计算机的自定义配置文件以包括该计算机的FQDN.
对计算机的IP地址运行NSLookup,以查看名称的DNS列表,并在文件的"主机名"字段中使用该名称.
3为每个文件生成公用/专用密钥文件对和证书,通过刚刚自定义的配置文件进行传递.
例如:certool--genkey--privkey=machine1.
priv--pubkey=machine1.
pubcertool--gencert--privkey=machine1.
priv--certmachine1.
crt--Name=Machine1_Cert--configmachine1.
cfg4停止所有服务,启动处理证书创建、传播和存储的服务.
service-control--stop--allservice-control--startvmafddservice-control--startvmdirdservice-control--startvmcad5将新证书添加到VECS.
所有计算机都需要本地证书存储中的新证书来通过SSL进行通信.
首先删除现有条目,然后添加新条目.
vecs-clientrydelete--storeMACHINE_SSL_CERT--alias__MACHINE_CERTvecs-clientrycreate--storeMACHINE_SSL_CERT--alias__MACHINE_CERT--certmachine1.
cert--keymachine1.
priv6重新启动所有服务.
service-control--start--allvSphere身份验证VMware,Inc.
47示例:将计算机证书替换为VMCA签名证书1为SSL证书创建配置文件,并在当前目录中将其保存为ssl-config.
cfg.
Country=USName=vmca-Organization=OrgUnit=State=Locality=Hostname=2为计算机SSL证书生成密钥对.
在包含以增强型链接模式配置连接的多个vCenterServer实例的部署中,在每个vCenterServer节点上运行以下命令.
/usr/lib/vmware-vmca/bin/certool--genkey--privkey=ssl-key.
priv--pubkey=ssl-key.
pub将在当前目录中创建ssl-key.
priv和ssl-key.
pub文件.
3生成新的计算机SSL证书.
此证书为VMCA签名证书.
如果将VMCA根证书替换为自定义证书,则VMCA会对整个链中的所有证书进行签名.
/usr/lib/vmware-vmca/bin/certool--gencert--cert=new-vmca-ssl.
crt--privkey=ssl-key.
priv--config=ssl-config.
cfg将在当前目录中创建new-vmca-ssl.
crt文件.
4(可选)列出VECS的内容.
/usr/lib/vmware-vmafd/bin/vecs-clistorelistnvCenterServer中的输出示例:output(onvCenter):MACHINE_SSL_CERTTRUSTED_ROOTSTRUSTED_ROOT_CRLSmachinevsphere-webclientvpxdvpxd-extensionhvcdata-enciphermentAPPLMGMT_PASSWORDSMSwcpKMS_ENCRYPTIONvSphere身份验证VMware,Inc.
485将VECS中的计算机SSL证书替换为新的计算机SSL证书.
--store和--alias值必须与默认名称完全匹配.
n在每个vCenterServer上,运行以下命令以更新MACHINE_SSL_CERT存储中的计算机SSL证书.
由于每个计算机具有不同的FQDN,因此必须单独更新每个计算机的证书.
/usr/lib/vmware-vmafd/bin/vecs-clientrydelete--storeMACHINE_SSL_CERT--alias__MACHINE_CERT/usr/lib/vmware-vmafd/bin/vecs-cli--storeMACHINE_SSL_CERT--alias__MACHINE_CERT--certnew-vmca-ssl.
crt--keyssl-key.
priv后续步骤您还可以替换ESXi主机的证书.
请参见vSphere安全性出版物.
将解决方案用户证书替换为新的VMCA签名证书替换完计算机SSL证书后,可以替换所有解决方案用户证书.
解决方案用户证书必须有效(即,不能过期),但证书中的其他所有信息可供证书基础架构使用.
许多VMware客户未替换解决方案用户证书.
他们仅将计算机SSL证书替换为自定义证书.
这种混合方法符合其安全团队的要求.
n证书位于代理后面或是自定义证书.
n未使用中间CA.
替换每个vCenterServer系统上的计算机解决方案用户证书和解决方案用户证书.
注在大型部署中列出解决方案用户证书时,dir-clilist的输出包括所有节点的所有解决方案用户.
运行vmafd-cliget-machine-id--server-namelocalhost以查找每个主机的本地计算机ID.
每个解决方案用户名称均包括计算机ID.
前提条件准备好停止所有服务,启动处理证书传播和存储的服务.
步骤1复制一份certool.
cfg,移除名称、IP地址、DNS名称和电子邮件字段,并重命名文件,例如,重命名为sol_usr.
cfg.
您可以通过命令行在生成过程中命名证书.
解决方案用户不需要其他信息.
如果保留默认信息,生成的证书可能会造成混淆.
2传递刚自定义的配置文件为每个解决方案用户生成公用/专用密钥文件对和证书.
例如:certool--genkey--privkey=vpxd.
priv--pubkey=vpxd.
pubcertool--gencert--privkey=vpxd.
priv--certvpxd.
crt--Name=VPXD_1--configsol_usr.
cfgvSphere身份验证VMware,Inc.
493查找每个解决方案用户的名称.
dir-cliservicelist可以使用替换证书时返回的唯一ID.
输入和输出可能显示如下.
dir-cliservicelistEnterpasswordforadministrator@vsphere.
local:1.
machine-623bef28-0311-436e-b21f-6e0d39aa51792.
vsphere-webclient-623bef28-0311-436e-b21f-6e0d39aa51793.
vpxd-623bef28-0311-436e-b21f-6e0d39aa51794.
vpxd-extension-623bef28-0311-436e-b21f-6e0d39aa51795.
hvc-623bef28-0311-436e-b21f-6e0d39aa51796.
wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e在包含以增强型链接模式配置连接的多个vCenterServer实例的部署中,dir-cliservicelist的输出包括所有节点的所有解决方案用户.
运行vmafd-cliget-machine-id--server-namelocalhost以查找每个主机的本地计算机ID.
每个解决方案用户名称均包括计算机ID.
4停止所有服务,启动处理证书创建、传播和存储的服务.
service-control--stop--allservice-control--startvmafddservice-control--startvmdirdservice-control--startvmcad5对于每个解决方案用户,请先替换vmdir中的现有证书,然后替换VECS中的证书.
以下示例显示了如何替换vpxd服务的证书.
dir-cliserviceupdate--name--cert.
/vpxd.
crtvecs-clientrydelete--storevpxd--aliasvpxdvecs-clientrycreate--storevpxd--aliasvpxd--certvpxd.
crt--keyvpxd.
priv注如果不替换vmdir中的证书,则解决方案用户无法对vCenterSingleSign-On进行身份验证.
6重新启动所有服务.
service-control--start--all示例:使用VMCA签名解决方案用户证书1在增强型链接模式配置中的每个vCenterServer节点上,为每个解决方案用户生成一个公钥/私钥对,其中包括为计算机解决方案用户生成一个密钥对以及为每个其他解决方案用户(vpxd、vpxd-extension、vsphere-webclient、wcp)生成一个密钥对.
a为计算机解决方案用户生成密钥对.
/usr/lib/vmware-vmca/bin/certool--genkey--privkey=machine-key.
priv--pubkey=machine-key.
pubvSphere身份验证VMware,Inc.
50b为每个节点上的vpxd解决方案用户生成密钥对.
/usr/lib/vmware-vmca/bin/certool--genkey--privkey=vpxd-key.
priv--pubkey=vpxd-key.
pubc为每个节点上的vpxd-extension解决方案用户生成密钥对.
/usr/lib/vmware-vmca/bin/certool--genkey--privkey=vpxd-extension-key.
priv--pubkey=vpxd-extension-key.
pubd为每个节点上的vsphere-webclient解决方案用户生成密钥对.
/usr/lib/vmware-vmca/bin/certool--genkey--privkey=vsphere-webclient-key.
priv--pubkey=vsphere-webclient-key.
pube为每个节点上的wcp解决方案用户生成密钥对.
/usr/lib/vmware-vmca/bin/certool--genkey--privkey=wcp-key.
priv--pubkey=wcp-key.
pub2为每个vCenterServer节点上的计算机解决方案用户以及每个其他解决方案用户(vpxd、vpxd-extension、vsphere-webclient、wcp)生成由新的VMCA根证书签名的解决方案用户证书.
注--Name参数必须唯一.
包括解决方案用户存储的名称,可便于查看证书与解决方案用户之间的映射关系.
在任何一种情况下,该示例都包括此名称,例如vpxd或vpxd-extension.
a运行以下命令,为该节点上的计算机解决方案用户生成解决方案用户证书.
/usr/lib/vmware-vmca/bin/certool--gencert--cert=new-machine.
crt--privkey=machine-key.
priv--Name=machineb为每个节点上的计算机解决方案用户生成证书.
/usr/lib/vmware-vmca/bin/certool--gencert--cert=new-machine.
crt--privkey=machine-key.
priv--Name=machinec为每个节点上的vpxd解决方案用户生成证书.
/usr/lib/vmware-vmca/bin/certool--gencert--cert=new-vpxd.
crt--privkey=vpxd-key.
priv--Name=vpxdd为每个节点上的vpxd-extension解决方案用户生成证书.
/usr/lib/vmware-vmca/bin/certool--gencert--cert=new-vpxd-extension.
crt--privkey=vpxd-extension-key.
priv--Name=vpxd-extensione通过运行以下命令为每个节点上的vsphere-webclient解决方案用户生成证书.
/usr/lib/vmware-vmca/bin/certool--gencert--cert=new-vsphere-webclient.
crt--privkey=vsphere-webclient-key.
priv--Name=vsphere-webclientvSphere身份验证VMware,Inc.
51f通过运行以下命令为每个节点上的wcp解决方案用户生成证书.
/usr/lib/vmware-vmca/bin/certool--gencert--cert=new-wcp.
crt--privkey=wcp-key.
priv--Name=wcp3将VECS中的解决方案用户证书替换为新的解决方案用户证书.
注--store和--alias参数必须与服务的默认名称完全匹配.
a替换每个节点上的计算机解决方案用户证书:/usr/lib/vmware-vmafd/bin/vecs-clientrydelete--storemachine--aliasmachine/usr/lib/vmware-vmafd/bin/vecs-clientrycreate--storemachine--aliasmachine--certnew-machine-vc.
crt--keymachine-vc-key.
privb替换每个节点上的vpxd解决方案用户证书.
/usr/lib/vmware-vmafd/bin/vecs-clientrydelete--storevpxd--aliasvpxd/usr/lib/vmware-vmafd/bin/vecs-clientrycreate--storevpxd--aliasvpxd--certnew-vpxd.
crt--keyvpxd-key.
privc替换每个节点上的vpxd-extension解决方案用户证书.
/usr/lib/vmware-vmafd/bin/vecs-clientrydelete--storevpxd-extension--aliasvpxd-extension/usr/lib/vmware-vmafd/bin/vecs-clientrycreate--storevpxd-extension--aliasvpxd-extension--certnew-vpxd-extension.
crt--keyvpxd-extension-key.
privd替换每个节点上的vsphere-webclient解决方案用户证书.
/usr/lib/vmware-vmafd/bin/vecs-clientrydelete--storevsphere-webclient--aliasvsphere-webclient/usr/lib/vmware-vmafd/bin/vecs-clientrycreate--storevsphere-webclient--aliasvsphere-webclient--certnew-vsphere-webclient.
crt--keyvsphere-webclient-key.
prive替换每个节点上的wcp解决方案用户证书.
/usr/lib/vmware-vmafd/bin/vecs-clientrydelete--storewcp--aliaswcp/usr/lib/vmware-vmafd/bin/vecs-clientrycreate--storewcp--aliaswcp--certnew-wcp.
crt--keywcp-key.
priv4使用新的解决方案用户证书更新VMwareDirectoryService(vmdir).
系统将提示您输入vCenterSingleSign-On管理员密码.
a运行dir-cliservicelist可获取每个解决方案用户的唯一服务ID后缀.
可以在vCenterServer系统上运行以下命令.
/usr/lib/vmware-vmafd/bin/dir-cliservicelistoutput:1.
machine-623bef28-0311-436e-b21f-6e0d39aa51792.
vsphere-webclient-623bef28-0311-436e-b21f-6e0d39aa5179vSphere身份验证VMware,Inc.
523.
vpxd-623bef28-0311-436e-b21f-6e0d39aa51794.
vpxd-extension-623bef28-0311-436e-b21f-6e0d39aa51795.
hvc-623bef28-0311-436e-b21f-6e0d39aa51796.
wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e注在大型部署中列出解决方案用户证书时,dir-clilist的输出包括所有节点的所有解决方案用户.
运行vmafd-cliget-machine-id--server-namelocalhost以查找每个主机的本地计算机ID.
每个解决方案用户名称均包括计算机ID.
b替换每个vCenterServer节点上的vmdir中的计算机证书.
例如,如果machine-6fd7f140-60a9-11e4-9e28-005056895a69为vCenterServer中的计算机解决方案用户,请运行此命令:/usr/lib/vmware-vmafd/bin/dir-cliserviceupdate--namemachine-6fd7f140-60a9-11e4-9e28-005056895a69--certnew-machine-2.
crtc替换每个节点上的vmdir中的vpxd解决方案用户证书.
例如,如果vpxd-6fd7f140-60a9-11e4-9e28-005056895a69为vpxd解决方案用户ID,请运行此命令:/usr/lib/vmware-vmafd/bin/dir-cliserviceupdate--namevpxd-6fd7f140-60a9-11e4-9e28-005056895a69--certnew-vpxd.
crtd替换每个节点上的vmdir中的vpxd-extension解决方案用户证书.
例如,如果vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69为vpxd-extension解决方案用户ID,请运行此命令:/usr/lib/vmware-vmafd/bin/dir-cliupdate--namevpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69--certnew-vpxd-extension.
crte替换每个节点上的vsphere-webclient解决方案用户证书.
例如,如果vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69为vsphere-webclient解决方案用户ID,请运行此命令:/usr/lib/vmware-vmafd/bin/dir-cliserviceupdate--namevsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69--certnew-vsphere-webclient.
crtf替换每个节点上的wcp解决方案用户证书.
例如,如果wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e是wcp解决方案用户ID,请运行以下命令:/usr/lib/vmware-vmafd/bin/dir-cliserviceupdate--namewcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e--certnew-wcp.
crt后续步骤重新启动每个vCenterServer节点上的所有服务.
vSphere身份验证VMware,Inc.
53使用VMCA作为中间证书颁发结构可以将VMCA根证书替换为证书链中包括VMCA的第三方CA签名证书.
从今往后,VMCA生成的所有证书都将包括完整链.
可以将现有证书替换为新生成的证书.
如果使用VMCA作为中间CA或使用自定义证书,复杂性可能会显著提高,安全可能会受到负面影响,运营风险可能会不必要地提高.
有关管理vSphere环境内的证书的详细信息,请参见标题为"NewProductWalkthrough-HybridvSphereSSLCertificateReplacement"的博客帖子,网址为http://vmware.
com/go/hybridvmca.
替换根证书(中间CA)将VMCA证书替换为自定义证书的第一步是生成CSR并发送要签名的CSR.
然后,将签名证书作为根证书添加到VMCA.
可以使用CertificateManager实用程序或其他工具生成CSR.
CSR必须满足以下要求:n密钥大小:2048位(最小值)到16384位(最大值)(PEM编码)nPEM格式.
VMware支持PKCS8和PKCS1(RSA密钥).
密钥添加到VECS后,会转换为PKCS8.
nx509版本3n对于根证书,CA扩展必须设置为true,并且证书签名必须在要求列表中.
例如:basicConstraints=critical,CA:truekeyUsage=critical,digitalSignature,keyCertSignn必须启用CRL签名.
n"增强型密钥用法"可以为空或包含服务器身份验证.
n对证书链的长度没有明确限制.
VMCA使用OpenSSL默认设置,即10个证书.
n不支持包含通配符或多个DNS名称的证书.
n不能创建VMCA的附属CA.
有关使用Microsoft证书颁发机构的示例,请参见VMware知识库文章《在vSphere6.
x中创建Microsoft证书颁发机构模板以创建SSL证书》,网址为http://kb.
vmware.
com/kb/2112009.
替换根证书时,VMCA会验证以下证书属性:n密钥大小:2048位(最小值)到16384位(最大值)n密钥使用:证书签名n基本限制:主体类型CA步骤1生成CSR并将其发送给您的CA.
按照CA的说明进行操作.
vSphere身份验证VMware,Inc.
542准备包括签名的VMCA证书以及第三方CA或企业CA的完整CA链的证书文件.
保存该文件,例如,另存为rootca1.
crt.
可以通过将PEM格式的所有CA证书复制到单个文件来完成此步骤.
以VMCA根证书开头,并以根CAPEM证书结尾.
例如:-----BEGINCERTIFICATE----------ENDCERTIFICATE----------BEGINCERTIFICATE----------ENDCERTIFICATE----------BEGINCERTIFICATE----------ENDCERTIFICATE-----3停止所有服务,启动处理证书创建、传播和存储的服务.
service-control--stop--allservice-control--startvmafddservice-control--startvmdirdservice-control--startvmcad4替换现有VMCA根CA.
certool--rootca--cert=rootca1.
crt--privkey=root1.
key运行此命令时,会执行以下操作:n将新的自定义根证书添加到文件系统中的证书位置.
n将自定义根证书附加到VECS中的TRUSTED_ROOTS存储中(延迟后).
n将自定义根证书附加到vmdir(延迟后).
5(可选)要将更改传播到vmdir(VMwareDirectoryService)的所有实例,请将新根证书发布到vmdir,并提供每个文件的完整文件路径.
例如:dir-clitrustedcertpublish--certrootca1.
crt每30秒进行一次vmdir节点之间的复制.
无需将根证书显式添加到VECS,因为VECS会每5分钟轮询vmdir中的新根证书文件.
6(可选)如有必要,可以强制刷新VECS.
vecs-cliforce-refresh7重新启动所有服务.
service-control--start--allvSphere身份验证VMware,Inc.
55示例:替换根证书使用带--rootca选项的certool命令将VMCA根证书替换为自定义CA根证书.
/usr/lib/vmware-vmca/bin/certool--rootca--cert=/root.
pem-–privkey=/root.
key运行此命令时,会执行以下操作:n将新的自定义根证书添加到文件系统中的证书位置.
n将自定义根证书附加到VECS中的TRUSTED_ROOTS存储中.
n将自定义根证书添加到vmdir.
后续步骤如果公司策略需要,可以从证书存储中移除原始的VMCA根证书.
如果执行此操作,则必须替换vCenterSingleSign-On签名证书.
请参见刷新SecurityTokenService证书.
替换计算机SSL证书(中间CA)当您收到CA的签名证书并使其成为VMCA根证书后,您可以替换所有计算机SSL证书.
这些步骤实际上与替换为使用VMCA作为证书颁发机构的证书的步骤相同.
但是,在这种情况下,VMCA会对整个链中的所有证书进行签名.
每台计算机都必须拥有可用于与其他服务进行安全通信的计算机SSL证书.
当多个vCenterServer实例以增强型链接模式配置进行连接时,必须在每个节点上运行计算机SSL证书生成命令.
前提条件对于每个计算机SSL证书,SubjectAltName必须包含DNSName=.
步骤1为需要新证书的每台计算机复制一份certool.
cfg.
可以在/usr/lib/vmware-vmca/share/config/目录中找到certool.
cfg文件.
2编辑每台计算机的自定义配置文件以包括该计算机的FQDN.
对计算机的IP地址运行NSLookup,以查看名称的DNS列表,并在文件的"主机名"字段中使用该名称.
3传递刚自定义的配置文件为每个计算机生成公用/专用密钥文件对.
例如:certool--genkey--privkey=machine1.
priv--pubkey=machine1.
pubcertool--gencert--privkey=machine1.
priv--certmachine42.
crt--Name=Machine42_Cert--configmachine1.
cfgvSphere身份验证VMware,Inc.
564停止所有服务,启动处理证书创建、传播和存储的服务.
service-control--stop--allservice-control--startvmafddservice-control--startvmdirdservice-control--startvmcad5将新证书添加到VECS.
所有计算机都需要本地证书存储中的新证书来通过SSL进行通信.
首先删除现有条目,然后添加新条目.
vecs-clientrydelete--storeMACHINE_SSL_CERT--alias__MACHINE_CERTvecs-clientrycreate--storeMACHINE_SSL_CERT--alias__MACHINE_CERT--certmachine1.
cert--keymachine1.
priv6重新启动所有服务.
service-control--start--all示例:替换计算机SSL证书(VMCA为中间CA)1为SSL证书创建配置文件,并在当前目录中将其保存为ssl-config.
cfg.
Country=USName=vmca-Organization=VMwareOrgUnit=VMwareEngineeringState=CaliforniaLocality=PaloAltoHostname=2为计算机SSL证书生成密钥对.
在包含以增强型链接模式配置连接的多个vCenterServer实例的部署中,在每个vCenterServer节点上运行以下命令.
/usr/lib/vmware-vmca/bin/certool--genkey--privkey=ssl-key.
priv--pubkey=ssl-key.
pub将在当前目录中创建ssl-key.
priv和ssl-key.
pub文件.
3生成新的计算机SSL证书.
此证书为VMCA签名证书.
如果将VMCA根证书替换为自定义证书,则VMCA会对整个链中的所有证书进行签名.
/usr/lib/vmware-vmca/bin/certool--gencert--cert=new-vmca-ssl.
crt--privkey=ssl-key.
priv--config=ssl-config.
cfg将在当前目录中创建new-vmca-ssl.
crt文件.
vSphere身份验证VMware,Inc.
574(可选)列出VECS的内容.
/usr/lib/vmware-vmafd/bin/vecs-clistorelistnvCenterServer中的输出示例:output(onvCenter):MACHINE_SSL_CERTTRUSTED_ROOTSTRUSTED_ROOT_CRLSmachinevsphere-webclientvpxdvpxd-extensionhvcdata-enciphermentAPPLMGMT_PASSWORDSMSwcpKMS_ENCRYPTION5将VECS中的计算机SSL证书替换为新的计算机SSL证书.
--store和--alias值必须与默认名称完全匹配.
n在每个vCenterServer上,运行以下命令以更新MACHINE_SSL_CERT存储中的计算机SSL证书.
由于每个计算机具有不同的FQDN,因此必须单独更新每个计算机的证书.
/usr/lib/vmware-vmafd/bin/vecs-clientrydelete--storeMACHINE_SSL_CERT--alias__MACHINE_CERT/usr/lib/vmware-vmafd/bin/vecs-cli--storeMACHINE_SSL_CERT--alias__MACHINE_CERT--certnew-vmca-ssl.
crt--keyssl-key.
priv替换解决方案用户证书(中间CA)在替换计算机SSL证书后,可以替换解决方案用户证书.
许多VMware客户未替换解决方案用户证书.
他们仅将计算机SSL证书替换为自定义证书.
这种混合方法符合其安全团队的要求.
n证书位于代理后面或是自定义证书.
n未使用中间CA.
替换每个vCenterServer系统上的计算机解决方案用户证书和解决方案用户证书.
注在大型部署中列出解决方案用户证书时,dir-clilist的输出包括所有节点的所有解决方案用户.
运行vmafd-cliget-machine-id--server-namelocalhost以查找每个主机的本地计算机ID.
每个解决方案用户名称均包括计算机ID.
vSphere身份验证VMware,Inc.
58前提条件每个解决方案用户证书必须具有不同的Subject.
例如,考虑包含解决方案用户名(如vpxd)或其他唯一标识符.
步骤1复制一份certool.
cfg,移除名称、IP地址、DNS名称和电子邮件字段,并重命名文件,例如,重命名为sol_usr.
cfg.
您可以通过命令行在生成过程中命名证书.
解决方案用户不需要其他信息.
如果保留默认信息,生成的证书可能会造成混淆.
2传递刚自定义的配置文件为每个解决方案用户生成公用/专用密钥文件对和证书.
例如:certool--genkey--privkey=vpxd.
priv--pubkey=vpxd.
pubcertool--gencert--privkey=vpxd.
priv--certvpxd.
crt--Name=VPXD_1--configsol_usr.
cfg3查找每个解决方案用户的名称.
dir-cliservicelist可以使用替换证书时返回的唯一ID.
输入和输出可能显示如下.
dir-cliservicelistEnterpasswordforadministrator@vsphere.
local:1.
machine-623bef28-0311-436e-b21f-6e0d39aa51792.
vsphere-webclient-623bef28-0311-436e-b21f-6e0d39aa51793.
vpxd-623bef28-0311-436e-b21f-6e0d39aa51794.
vpxd-extension-623bef28-0311-436e-b21f-6e0d39aa51795.
hvc-623bef28-0311-436e-b21f-6e0d39aa51796.
wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e在包含以增强型链接模式配置连接的多个vCenterServer实例的部署中,dir-cliservicelist的输出包括所有节点的所有解决方案用户.
运行vmafd-cliget-machine-id--server-namelocalhost以查找每个主机的本地计算机ID.
每个解决方案用户名称均包括计算机ID.
4停止所有服务,启动处理证书创建、传播和存储的服务.
service-control--stop--allservice-control--startvmafddservice-control--startvmdirdservice-control--startvmcadvSphere身份验证VMware,Inc.
595依次替换vmdir和VECS中的现有证书.
对于解决方案用户,必须以该顺序添加证书.
例如:dir-cliserviceupdate--name--cert.
/vpxd.
crtvecs-clientrydelete--storevpxd--aliasvpxdvecs-clientrycreate--storevpxd--aliasvpxd--certvpxd.
crt--keyvpxd.
priv注如果不替换vmdir中的证书,则解决方案用户无法登录到vCenterSingleSign-On.
6重新启动所有服务.
service-control--start--all示例:替换解决方案用户证书(中间CA)1在增强型链接模式配置中的每个vCenterServer节点上,为每个解决方案用户生成一个公钥/私钥对,其中包括为计算机解决方案用户生成一个密钥对以及为每个其他解决方案用户(vpxd、vpxd-extension、vsphere-webclient、wcp)生成一个密钥对.
a为计算机解决方案用户生成密钥对.
/usr/lib/vmware-vmca/bin/certool--genkey--privkey=machine-key.
priv--pubkey=machine-key.
pubb为每个节点上的vpxd解决方案用户生成密钥对.
/usr/lib/vmware-vmca/bin/certool--genkey--privkey=vpxd-key.
priv--pubkey=vpxd-key.
pubc为每个节点上的vpxd-extension解决方案用户生成密钥对.
/usr/lib/vmware-vmca/bin/certool--genkey--privkey=vpxd-extension-key.
priv--pubkey=vpxd-extension-key.
pubd为每个节点上的vsphere-webclient解决方案用户生成密钥对.
/usr/lib/vmware-vmca/bin/certool--genkey--privkey=vsphere-webclient-key.
priv--pubkey=vsphere-webclient-key.
pube为每个节点上的wcp解决方案用户生成密钥对.
/usr/lib/vmware-vmca/bin/certool--genkey--privkey=wcp-key.
priv--pubkey=wcp-key.
pubvSphere身份验证VMware,Inc.
602为每个vCenterServer节点上的计算机解决方案用户以及每个其他解决方案用户(vpxd、vpxd-extension、vsphere-webclient、wcp)生成由新的VMCA根证书签名的解决方案用户证书.
注--Name参数必须唯一.
包括解决方案用户存储的名称,可便于查看证书与解决方案用户之间的映射关系.
在任何一种情况下,该示例都包括此名称,例如vpxd或vpxd-extension.
a运行以下命令,为该节点上的计算机解决方案用户生成解决方案用户证书.
/usr/lib/vmware-vmca/bin/certool--gencert--cert=new-machine.
crt--privkey=machine-key.
priv--Name=machineb为每个节点上的计算机解决方案用户生成证书.
/usr/lib/vmware-vmca/bin/certool--gencert--cert=new-machine.
crt--privkey=machine-key.
priv--Name=machinec为每个节点上的vpxd解决方案用户生成证书.
/usr/lib/vmware-vmca/bin/certool--gencert--cert=new-vpxd.
crt--privkey=vpxd-key.
priv--Name=vpxdd为每个节点上的vpxd-extension解决方案用户生成证书.
/usr/lib/vmware-vmca/bin/certool--gencert--cert=new-vpxd-extension.
crt--privkey=vpxd-extension-key.
priv--Name=vpxd-extensione通过运行以下命令为每个节点上的vsphere-webclient解决方案用户生成证书.
/usr/lib/vmware-vmca/bin/certool--gencert--cert=new-vsphere-webclient.
crt--privkey=vsphere-webclient-key.
priv--Name=vsphere-webclientf通过运行以下命令为每个节点上的wcp解决方案用户生成证书.
/usr/lib/vmware-vmca/bin/certool--gencert--cert=new-wcp.
crt--privkey=wcp-key.
priv--Name=wcp3将VECS中的解决方案用户证书替换为新的解决方案用户证书.
注--store和--alias参数必须与服务的默认名称完全匹配.
a替换每个节点上的计算机解决方案用户证书:/usr/lib/vmware-vmafd/bin/vecs-clientrydelete--storemachine--aliasmachine/usr/lib/vmware-vmafd/bin/vecs-clientrycreate--storemachine--aliasmachine--certnew-machine-vc.
crt--keymachine-vc-key.
privb替换每个节点上的vpxd解决方案用户证书.
/usr/lib/vmware-vmafd/bin/vecs-clientrydelete--storevpxd--aliasvpxd/usr/lib/vmware-vmafd/bin/vecs-clientrycreate--storevpxd--aliasvpxd--certnew-vpxd.
crt--keyvpxd-key.
privvSphere身份验证VMware,Inc.
61c替换每个节点上的vpxd-extension解决方案用户证书.
/usr/lib/vmware-vmafd/bin/vecs-clientrydelete--storevpxd-extension--aliasvpxd-extension/usr/lib/vmware-vmafd/bin/vecs-clientrycreate--storevpxd-extension--aliasvpxd-extension--certnew-vpxd-extension.
crt--keyvpxd-extension-key.
privd替换每个节点上的vsphere-webclient解决方案用户证书.
/usr/lib/vmware-vmafd/bin/vecs-clientrydelete--storevsphere-webclient--aliasvsphere-webclient/usr/lib/vmware-vmafd/bin/vecs-clientrycreate--storevsphere-webclient--aliasvsphere-webclient--certnew-vsphere-webclient.
crt--keyvsphere-webclient-key.
prive替换每个节点上的wcp解决方案用户证书.
/usr/lib/vmware-vmafd/bin/vecs-clientrydelete--storewcp--aliaswcp/usr/lib/vmware-vmafd/bin/vecs-clientrycreate--storewcp--aliaswcp--certnew-wcp.
crt--keywcp-key.
priv4使用新的解决方案用户证书更新VMwareDirectoryService(vmdir).
系统将提示您输入vCenterSingleSign-On管理员密码.
a运行dir-cliservicelist可获取每个解决方案用户的唯一服务ID后缀.
可以在vCenterServer系统上运行以下命令.
/usr/lib/vmware-vmafd/bin/dir-cliservicelistoutput:1.
machine-623bef28-0311-436e-b21f-6e0d39aa51792.
vsphere-webclient-623bef28-0311-436e-b21f-6e0d39aa51793.
vpxd-623bef28-0311-436e-b21f-6e0d39aa51794.
vpxd-extension-623bef28-0311-436e-b21f-6e0d39aa51795.
hvc-623bef28-0311-436e-b21f-6e0d39aa51796.
wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e注在大型部署中列出解决方案用户证书时,dir-clilist的输出包括所有节点的所有解决方案用户.
运行vmafd-cliget-machine-id--server-namelocalhost以查找每个主机的本地计算机ID.
每个解决方案用户名称均包括计算机ID.
b替换每个vCenterServer节点上的vmdir中的计算机证书.
例如,如果machine-6fd7f140-60a9-11e4-9e28-005056895a69为vCenterServer中的计算机解决方案用户,请运行此命令:/usr/lib/vmware-vmafd/bin/dir-cliserviceupdate--namemachine-6fd7f140-60a9-11e4-9e28-005056895a69--certnew-machine-2.
crtc替换每个节点上的vmdir中的vpxd解决方案用户证书.
例如,如果vpxd-6fd7f140-60a9-11e4-9e28-005056895a69为vpxd解决方案用户ID,请运行此命令:/usr/lib/vmware-vmafd/bin/dir-cliserviceupdate--namevpxd-6fd7f140-60a9-11e4-9e28-005056895a69--certnew-vpxd.
crtvSphere身份验证VMware,Inc.
62d替换每个节点上的vmdir中的vpxd-extension解决方案用户证书.
例如,如果vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69为vpxd-extension解决方案用户ID,请运行此命令:/usr/lib/vmware-vmafd/bin/dir-cliupdate--namevpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69--certnew-vpxd-extension.
crte替换每个节点上的vsphere-webclient解决方案用户证书.
例如,如果vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69为vsphere-webclient解决方案用户ID,请运行此命令:/usr/lib/vmware-vmafd/bin/dir-cliserviceupdate--namevsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69--certnew-vsphere-webclient.
crtf替换每个节点上的wcp解决方案用户证书.
例如,如果wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e是wcp解决方案用户ID,请运行以下命令:/usr/lib/vmware-vmafd/bin/dir-cliserviceupdate--namewcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e--certnew-wcp.
crt在vSphere中使用自定义证书如果公司策略有相关要求,则可以将在vSphere中使用的某些或所有证书替换为第三方或企业CA签名的证书.
如果执行了此操作,则VMCA将不在证书链中.
您需要将所有vCenter证书存储在VECS中.
可以替换所有证书或使用混合解决方案.
例如,可以考虑替换用于网络通信的所有证书,但保留VMCA签名的解决方案用户证书.
解决方案用户证书仅适用于对vCenterSingleSign-On进行身份验证.
vCenterServer仅将解决方案用户证书用于内部通信.
解决方案用户证书不用于外部通信.
注如果不需要使用VMCA,则您必须负责亲自替换所有证书、使用证书置备新的组件以及跟踪证书过期情况.
即使您决定使用自定义证书,也仍可使用VMwareCertificateManager实用程序进行证书替换.
请参见将所有证书替换为自定义证书(CertificateManager).
如果在替换证书后vSphereAutoDeploy遇到问题,请参见网址为http://kb.
vmware.
com/kb/2000988的VMware知识库文章.
请求证书并导入自定义根证书可以使用企业或第三方CA的自定义证书.
第一步是向证书颁发机构请求证书并将根证书导入VMware端点证书存储(VECS).
前提条件证书必须满足以下要求:n密钥大小:2048位(最小值)到16384位(最大值)(PEM编码)nPEM格式.
VMware支持PKCS8和PKCS1(RSA密钥).
密钥添加到VECS后,会转换为PKCS8.
vSphere身份验证VMware,Inc.
63nx509版本3n对于根证书,CA扩展必须设置为true,并且cert签名必须在要求列表中.
nSubjectAltName必须包含DNSName=.
nCRT格式n包含以下密钥使用:数字签名、不可否认性、密钥加密n比当前时间早一天的开始时间.
nCN(和SubjectAltName)设置为vCenterServer清单中的ESXi主机的主机名(或IP地址).
步骤1向企业或第三方证书提供商发送以下证书的证书签名请求(CSR).
n每个计算机具有一个计算机SSL证书.
对于计算机SSL证书,SubjectAltName字段必须包含完全限定域名(DNSNAME=machine_FQDN)n(可选)每个节点具有五个解决方案用户证书.
解决方案用户证书不需包括IP地址、主机名或电子邮件地址.
每个证书必须具有不同的证书主体.
通常,结果为信任链的PEM文件以及每个vCenterServer节点的签名SSL证书.
2列出TRUSTED_ROOTS存储和计算机SSL存储.
vecs-clistorelista确保当前根证书和所有计算机SSL证书均为VMCA签名证书.
b请记下"序列号"、"颁发者"和"主体CN"字段.
c(可选)使用Web浏览器,打开与将替换证书的节点的HTTPS连接,检查证书信息,并确保该信息与计算机SSL证书相匹配.
3停止所有服务,启动处理证书创建、传播和存储的服务.
service-control--stop--allservice-control--startvmafddservice-control--startvmdirdservice-control--startvmcad4发布自定义root证书.
dir-clitrustedcertpublish--cert如果在命令行上不指定用户名和密码,系统会提示您.
5重新启动所有服务.
service-control--start--allvSphere身份验证VMware,Inc.
64后续步骤如果公司策略需要,可以从证书存储中移除原始的VMCA根证书.
如果执行此操作,则必须刷新vCenterSingleSign-On证书.
请参见刷新SecurityTokenService证书.
将计算机SSL证书替换为自定义证书收到自定义证书后,可以替换每个计算机证书.
必须具有以下信息才能开始替换证书:nadministrator@vsphere.
local的密码n有效的计算机SSL自定义证书(.
crt文件)n有效的计算机SSL自定义密钥(.
key文件)n有效的自定义根证书(.
crt文件)前提条件必须已从第三方或企业CA收到每个计算机的证书.
n密钥大小:2048位(最小值)到16384位(最大值)(PEM编码)nCRT格式nx509版本3nSubjectAltName必须包含DNSName=.
n包含以下密钥使用:数字签名、不可否认性、密钥加密步骤1停止所有服务,启动处理证书创建、传播和存储的服务.
service-control--stop--allservice-control--startvmafddservice-control--startvmdirdservice-control--startvmcad2登录到每个节点,然后将您从CA接收到的新的计算机证书添加到VECS.
所有计算机都需要本地证书存储中的新证书来通过SSL进行通信.
vecs-clientrydelete--storeMACHINE_SSL_CERT--alias__MACHINE_CERTvecs-clientrycreate--storeMACHINE_SSL_CERT--alias__MACHINE_CERT--cert--key3重新启动所有服务.
service-control--start--allvSphere身份验证VMware,Inc.
65示例:将计算机SSL证书替换为自定义证书以下示例展示了如何将计算机SSL证书替换为自定义证书.
可以以同样方法替换每个节点上的计算机SSL证书.
1首先,删除VECS中的现有证书.
/usr/lib/vmware-vmafd/bin/vecs-clientrydelete--storeMACHINE_SSL_CERT--alias__MACHINE_CERT2接下来,添加替换证书.
/usr/lib/vmware-vmafd/bin/vecs-clientrycreate--storeMACHINE_SSL_CERT--alias__MACHINE_CERT--cert/tmp/custom-certs/ms-ca/signed-ssl/custom-w1-vim-cat-dhcp-094.
eng.
vmware.
com.
crt--key/tmp/custom-certs/ms-ca/signed-ssl/custom-x3-vim-cat-dhcp-1128.
vmware.
com.
privvSphere身份验证VMware,Inc.
66使用CLI命令管理服务和证书3您可以使用一组CLI管理VMCA(VMwareCertificateAuthority)、VECS(VMwareEndpoint证书存储)、VMwareDirectoryService(vmdir)和SecurityTokenService(STS)证书.
vSphereCertificateManager实用程序也支持许多相关任务,但手动证书管理和管理其他服务需要使用CLI.
您通常使用SSH连接到设备shell,访问CLI工具以管理证书和关联服务.
有关详细信息,请参见VMware知识库文章,网址为http://kb.
vmware.
com/kb/2100508.
手动证书替换提供了关于使用CLI命令替换证书的示例.
表3-1.
用于管理证书和关联服务的CLI工具CLI描述请参见certool生成并管理证书和密钥.
属于VMCAD(VMware证书管理服务)的一部分.
certool初始化命令参考vecs-cli管理VMware证书存储实例的内容.
属于VMwareAuthenticationFramework守护进程(VMAFD)vecs-cli命令参考dir-cli在VMwareDirectoryService中创建并更新证书.
属于VMAFD.
dir-cli命令参考sso-config管理STS证书.
命令行帮助.
service-control启动或停止服务,例如,在证书替换工作流中.
在运行其他CLI命令之前,运行此命令以停止服务.
CLI位置默认情况下,在以下位置查找CLI.
/usr/lib/vmware-vmafd/bin/vecs-cli/usr/lib/vmware-vmafd/bin/dir-cli/usr/lib/vmware-vmca/bin/certool/opt/vmware/bin/sso-config.
sh注service-control命令不要求您指定路径.
本章讨论了以下主题:VMware,Inc.
67n运行CLI所需的特权n更改certool配置选项ncertool初始化命令参考ncertool管理命令参考nvecs-cli命令参考ndir-cli命令参考运行CLI所需的特权所需的特权取决于您使用的CLI以及要运行的命令.
例如,对于大多数证书管理操作,您必须是本地vCenterSingleSign-On域(默认为vsphere.
local)的管理员.
有些命令可供所有用户使用.
dir-cli必须是本地域(默认为vsphere.
local)的管理员组成员才能运行dir-cli命令.
如果不指定用户名和密码,系统将提示您输入本地vCenterSingleSign-On域的管理员(默认为administrator@vsphere.
local)的密码.
vecs-cli最初,只有存储所有者和拥有完整访问特权的用户才能访问存储.
管理员组中的用户具有完整访问权限.
MACHINE_SSL_CERT和TRUSTED_ROOTS存储属于特殊存储.
仅有root用户或管理员用户(取决于安装的类型)拥有完整的访问权限.
certool大多数certool命令需要该用户是管理员组的成员.
所有用户可以运行以下命令.
ngenselfcacertninitscrngetdcnwaitVMDIRnwaitVMCAngenkeynviewcert更改certool配置选项运行certool--gencert或某些其他证书初始化或管理命令时,命令会读取配置文件中的所有值.
可以在命令行中编辑现有文件,使用-–config=选项替代默认配置文件,或者替代值.
默认情况下,配置文件certool.
cfg位于/usr/lib/vmware-vmca/share/config/目录中.
vSphere身份验证VMware,Inc.
68文件包含具有以下默认值的多个字段:Country=USName=AcmeOrganization=AcmeOrgOrgUnit=AcmeOrgEngineeringState=CaliforniaLocality=PaloAltoIPAddress=127.
0.
0.
1Email=email@acme.
comHostname=server.
acme.
com如下所示,通过在命令行中指定已修改的文件,或者通过在命令行中替代单个值,可以更改这些值.
n创建配置文件的副本,然后编辑该文件.
使用--config命令行选项指定该文件.
指定完整路径,避免路径名称问题.
n/usr/lib/vmware-vmca/bin/certool-–gencert--config/tmp/myconfig.
cfgn在命令行中替代单个值.
例如,要替代局部性,请运行以下命令:/usr/lib/vmware-vmca/bin/certool-–gencert-–privkey=private.
key–-Locality="MountainView"指定--Name以替换证书的主体名称的CN字段.
n对于解决方案用户证书,按照约定,该名称为@,但如果在环境中使用其他约定,则可以更改该名称.
n对于计算机SSL证书,使用计算机的FQDN.
VMCA仅允许使用一个DNSName(在Hostname字段中),但不允许使用其他任何别名选项.
如果IP地址由用户指定,则也会存储在SubAltName中.
使用--Hostname参数指定证书的SubAltName的DNSName.
certool初始化命令参考certool初始化命令可以生成证书签名请求、查看和生成VMCA签名的证书和密钥、导入根证书以及执行其他证书管理操作.
在许多情况下,您可以将配置文件传递到certool命令中.
请参见更改certool配置选项.
有关一些用法示例,请参见将现有VMCA签名证书替换为新的VMCA签名证书.
命令行帮助提供了有关选项的详细信息.
certool--initcsr生成证书签名请求(CSR).
此命令可生成PKCS10文件和专用密钥.
vSphere身份验证VMware,Inc.
69选项描述--gencsr生成CSR时为必需项.
--privkey专用密钥文件的名称.
--pubkey公用密钥文件的名称.
--csrfile发送到CA提供程序的CSR文件的文件名.
--config配置文件的可选名称.
默认为certool.
cfg.
例如:certool--gencsr--privkey=--pubkey=--csrfile=certool--selfca创建自签名证书并使用自签名的根CA置备VMCA服务器.
使用此选项是置备VMCA服务器最简单的方法之一.
您也可以改用第三方根证书置备VMCA服务器,从而使VMCA成为中间CA.
请参见使用VMCA作为中间证书颁发结构.
此命令将生成日期早三天的证书以避免出现时区冲突.
选项描述--selfca生成自签名证书时为必需项.
--predate允许您将根证书的"有效起始日期"字段设置为当前时间之前的指定分钟数.
此选项有助于解决潜在的时区问题.
最大值为三天.
--config配置文件的可选名称.
默认为certool.
cfg.
--serverVMCA服务器的可选名称.
默认情况下,该命令使用localhost.
例如:machine-70-59:/usr/lib/vmware-vmca/bin#.
/certool--predate=2280--selfca--server=192.
0.
2.
24--srp-upn=administrator@vsphere.
localcertool--rootca导入根证书.
将指定的证书和专用密钥添加到VMCA.
VMCA始终使用最新根证书进行签名,但其他根证书仍然受信任,直到您手动将它们删除为止.
这意味着,您可以一步一步地更新基础架构,最后删除不再使用的证书.
选项描述--rootca导入根CA时为必需项.
--cert证书文件的名称.
--privkey专用密钥文件的名称.
该文件必须是PEM编码的格式.
--serverVMCA服务器的可选名称.
默认情况下,该命令使用localhost.
vSphere身份验证VMware,Inc.
70例如:certool--rootca--cert=root.
cert--privkey=privatekey.
pemcertool--getdc返回vmdir使用的默认域名.
选项描述--serverVMCA服务器的可选名称.
默认情况下,该命令使用localhost.
--port可选的端口号.
默认为端口389.
例如:certool--getdccertool--waitVMDIR等待VMwareDirectoryService运行或等待--wait指定的超时结束.
将此选项与其他选项配合使用可调度特定任务,例如返回默认域名.
选项描述--wait可选的等待分钟数.
默认值为"3".
--serverVMCA服务器的可选名称.
默认情况下,该命令使用localhost.
--port可选的端口号.
默认为端口389.
例如:certool--waitVMDIR--wait5certool--waitVMCA等待VMCA服务运行或等待指定的超时结束.
将此选项与其他选项配合使用可调度特定任务,例如生成证书.
选项描述--wait可选的等待分钟数.
默认值为"3".
--serverVMCA服务器的可选名称.
默认情况下,该命令使用localhost.
--port可选的端口号.
默认为端口389.
例如:certool--waitVMCA--selfcavSphere身份验证VMware,Inc.
71certool--publish-roots强制更新根证书.
此命令需要管理特权.
选项描述--serverVMCA服务器的可选名称.
默认情况下,该命令使用localhost.
例如:certool--publish-rootscertool管理命令参考使用certool管理命令,您可以查看、生成和吊销证书以及查看有关证书的信息.
certool--genkey生成专用和公用密钥对.
这些文件随后可用于生成VMCA签名的证书.
选项描述--genkey生成专用和公用密钥时为必需项.
--privkey专用密钥文件的名称.
--pubkey公用密钥文件的名称.
--serverVMCA服务器的可选名称.
默认情况下,该命令使用localhost.
例如:certool--genkey--privkey=--pubkey=certool--gencert从VMCA服务器中生成证书.
此命令使用certool.
cfg或指定配置文件中的信息.
您可以使用该证书置备计算机证书或解决方案用户证书.
选项描述--gencert生成证书时为必需项.
--cert证书文件的名称.
该文件必须是PEM编码的格式.
--privkey专用密钥文件的名称.
该文件必须是PEM编码的格式.
--config配置文件的可选名称.
默认为certool.
cfg.
--serverVMCA服务器的可选名称.
默认情况下,该命令使用localhost.
例如:certool--gencert--privkey=--cert=vSphere身份验证VMware,Inc.
72certool--getrootca以人工可读形式打印当前根CA证书.
此输出无法用作证书,它将更改为人工可读.
选项描述--getrootca打印根证书时为必需项.
--serverVMCA服务器的可选名称.
默认情况下,该命令使用localhost.
例如:certool--getrootca--server=remoteservercertool--viewcert以人工可读形式打印证书中的所有字段.
选项描述--viewcert查看证书时为必需项.
--cert配置文件的可选名称.
默认为certool.
cfg.
例如:certool--viewcert--cert=certool--enumcert列出VMCA服务器了解的所有证书.
通过所需的filter选项,可以列出所有证书或仅列出已吊销、活动或过期的证书.
选项描述--enumcert列出所有证书时为必需项.
--filter[all|active]所需的筛选器.
指定所有或活动.
当前不支持已吊销和过期选项.
例如:certool--enumcert--filter=activecertool--status向VMCA服务器发送指定的证书以检查该证书是否已吊销.
如果证书已吊销,则输出Certificate:REVOKED,否则输出Certificate:ACTIVE.
vSphere身份验证VMware,Inc.
73选项描述--status检查证书状态时为必需项.
--cert配置文件的可选名称.
默认为certool.
cfg.
--serverVMCA服务器的可选名称.
默认情况下,该命令使用localhost.
例如:certool--status--cert=certool--genselfcacert根据配置文件中的值生成一个自签名证书.
此命令将生成日期早三天的证书以避免出现时区冲突.
选项描述--genselfcacert生成自签名证书时为必需项.
--outcert证书文件的名称.
该文件必须是PEM编码的格式.
--outprivkey专用密钥文件的名称.
该文件必须是PEM编码的格式.
--config配置文件的可选名称.
默认为certool.
cfg.
例如:certool--genselfcert--privkey=--cert=vecs-cli命令参考vecs-cli命令集可用于管理VMwareCertificateStore(VECS)实例.
将这些命令与dir-cli和certool配合使用可管理证书基础架构和身份验证服务.
vecs-clistorecreate创建证书存储.
选项描述--name证书存储的名称.
--server如果您连接到远程VECS实例,则用于指定服务器名称.
--upn用于登录到--server指定的服务器实例的用户主体名称.
创建库时,会在当前用户环境中创建.
因此,该库的所有者是当前用户环境,而不总是root用户.
例如:vecs-clistorecreate--namevSphere身份验证VMware,Inc.
74vecs-clistoredelete删除证书存储.
无法删除MACHINE_SSL_CERT、TRUSTED_ROOTS和TRUSTED_ROOT_CRLS系统存储.
具有必需特权的用户可以删除解决方案用户存储.
选项描述--name要删除的证书存储的名称.
--server如果您连接到远程VECS实例,则用于指定服务器名称.
--upn用于登录到--server指定的服务器实例的用户主体名称.
创建库时,会在当前用户环境中创建.
因此,该库的所有者是当前用户环境,而不总是root用户.
例如:vecs-clistoredelete--namevecs-clistorelist列出证书存储.
选项描述--server如果您连接到远程VECS实例,则用于指定服务器名称.
--upn用于登录到--server指定的服务器实例的用户主体名称.
创建库时,会在当前用户环境中创建.
因此,该库的所有者是当前用户环境,而不总是root用户.
VECS包括以下库.
vSphere身份验证VMware,Inc.
75表3-2.
VECS中的库库描述计算机SSL库(MACHINE_SSL_CERT)n由每个vSphere节点上的反向代理服务使用.
n由VMwareDirectoryService(vmdir)在每个vCenterServer节点上使用.
vSphere6.
0及更高版本中的所有服务通过使用计算机SSL证书的反向代理进行通信.
为了实现向后兼容性,5.
x服务仍使用特定端口.
因此,某些服务(如vpxd)仍使其自身的端口处于打开状态.
解决方案用户库nmachinenvpxdnvpxd-extensionnvsphere-webclientnwcpVECS为每个解决方案用户提供一个库.
每个解决方案用户证书的主体必须是唯一的,例如machine证书不能具有与vpxd证书相同的主体.
解决方案用户证书用于对vCenterSingleSign-On进行身份验证.
vCenterSingleSign-On会检查证书是否有效,但不检查其他证书属性.
VECS中包含以下解决方案用户证书存储:nmachine:由LicenseServer和日志记录服务使用.
注Machine解决方案用户证书与计算机SSL证书没有任何关系.
计算机解决方案用户证书用于进行SAML令牌交换.
计算机SSL证书用于计算机的安全SSL连接.
nvpxd:vCenter服务守护进程(vpxd)存储.
vpxd使用存储在此存储中的解决方案用户证书对vCenterSingleSign-On进行身份验证.
nvpxd-extension:vCenter扩展存储.
包括AutoDeploy服务、InventoryService以及不属于其他解决方案用户的其他服务.
nvsphere-webclient:vSphereClient存储.
还包括其他一些服务,例如性能图表服务.
nwcp:vSphere(含Kubernetes)存储.
每个vCenterServer节点包含一个machine证书.
受信任的根存储(TRUSTED_ROOTS)包含所有受信任的根证书.
vSphereCertificateManager实用程序备份库(BACKUP_STORE)由VMCA(VMwareCertificateManager)用来支持证书恢复.
仅将最近的状态存储为备份,无法返回多个步骤.
其他库解决方案可能会添加其他库.
例如,VirtualVolumes解决方案会添加SMS库.
请勿修改这些库中的证书,除非VMware文档或VMware知识库文章要求进行此类修改.
注删除TRUSTED_ROOTS_CRLS存储可能会损坏证书基础架构.
请勿删除或修改TRUSTED_ROOTS_CRLS存储.
例如:vecs-clistorelistvecs-clistorepermissions授予或撤销对存储的权限.
使用--grant或--revoke选项.
vSphere身份验证VMware,Inc.
76存储所有者可以执行所有操作,包括授予和撤销权限.
本地vCenterSingleSign-On域的管理员(默认为administrator@vsphere.
local)对所有存储具有所有特权,包括授予和撤销权限.
您可以使用vecs-cliget-permissions--name检索存储的当前设置.
选项描述--name证书存储的名称.
--user被授予权限的用户的唯一名称.
--grant[read|write]授予读取或写入权限.
--revoke[read|write]撤销读取或写入权限.
当前不受支持.
vecs-clistoreget-permissions检索存储的当前权限设置.
选项描述--name证书存储的名称.
--server如果您连接到远程VECS实例,则用于指定服务器名称.
--upn用于登录到--server指定的服务器实例的用户主体名称.
创建库时,会在当前用户环境中创建.
因此,该库的所有者是当前用户环境,而不总是root用户.
vecs-clientrycreate在VECS中创建一个条目.
使用此命令向存储中添加一个专用密钥或证书.
注请勿使用此命令将根证书添加到TRUSTED_ROOTS存储,而是使用dir-cli命令发布根证书.
选项描述--store证书存储的名称.
--alias证书的可选别名.
对于受信任的根存储,将忽略此选项.
--cert证书文件的完整路径.
--key与证书对应的密钥的完整路径.
可选.
--password加密专用密钥的可选密码.
--server如果您连接到远程VECS实例,则用于指定服务器名称.
--upn用于登录到--server指定的服务器实例的用户主体名称.
创建库时,会在当前用户环境中创建.
因此,该库的所有者是当前用户环境,而不总是root用户.
vecs-clientrylist列出指定存储中的所有条目.
vSphere身份验证VMware,Inc.
77选项描述--store证书存储的名称.
vecs-clientrygetcert从VECS中检索证书.
可以将证书发送到输出文件或将其显示为人工可读的文本.
选项描述--store证书存储的名称.
--alias证书的别名.
--output要向其写入证书的文件.
--text显示证书的人工可读版本.
--server如果您连接到远程VECS实例,则用于指定服务器名称.
--upn用于登录到--server指定的服务器实例的用户主体名称.
创建库时,会在当前用户环境中创建.
因此,该库的所有者是当前用户环境,而不总是root用户.
vecs-clientrygetkey检索存储在VECS中的密钥.
可以将密钥发送到输出文件或将其显示为人工可读的文本.
选项描述--store证书存储的名称.
--alias密钥的别名.
--output要向其写入密钥的输出文件.
--text显示密钥的人工可读版本.
--server如果您连接到远程VECS实例,则用于指定服务器名称.
--upn用于登录到--server指定的服务器实例的用户主体名称.
创建库时,会在当前用户环境中创建.
因此,该库的所有者是当前用户环境,而不总是root用户.
vecs-clientrydelete删除证书存储中的条目.
如果删除VECS中的条目,则会将其从VECS中永久移除.
唯一的例外是当前根证书.
VECS轮询根证书的vmdir.
选项描述--store证书存储的名称.
--alias要删除的条目的别名.
--server如果您连接到远程VECS实例,则用于指定服务器名称.
vSphere身份验证VMware,Inc.
78选项描述--upn用于登录到--server指定的服务器实例的用户主体名称.
创建库时,会在当前用户环境中创建.
因此,该库的所有者是当前用户环境,而不总是root用户.
-y取消确认提示.
仅适用于高级用户.
vecs-cliforce-refresh强制刷新VECS.
默认情况下,VECS会每5分钟轮询vmdir中的新根证书文件.
使用此命令即时更新vmdir中的VECS.
选项描述--server如果您连接到远程VECS实例,则用于指定服务器名称.
--upn用于登录到--server指定的服务器实例的用户主体名称.
创建库时,会在当前用户环境中创建.
因此,该库的所有者是当前用户环境,而不总是root用户.
dir-cli命令参考dir-cli实用程序支持在VMwareDirectoryService(vmdir)中创建和更新解决方案用户、管理帐户以及管理证书和密码.
可以使用dir-cli管理和查询vCenterServer实例的域功能级别.
dir-clinodeslist列出所有通过增强型链接模式连接的vCenterServer系统.
选项描述--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
--server使用此选项可连接到其他vCenterServer以查看其复制合作伙伴.
dir-clicomputerpassword-reset使您能够重置域中计算机帐户的密码.
选项描述--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
--live-dc-hostnamevCenterServer实例的当前名称.
vSphere身份验证VMware,Inc.
79dir-cliservicecreate创建解决方案用户.
主要供第三方解决方案使用.
选项描述--name要创建的解决方案用户的名称--cert证书文件的路径.
这可以是VMCA签名的证书或第三方证书.
--ssogroups将解决方案用户设置为指定组的成员.
--wstrustrole将解决方案用户设置为内置管理员或用户组的成员.
换句话说,确定解决方案用户是否具有管理特权.
--ssoadminrole将解决方案用户设置为ActAsUser组的成员.
ActAsUser角色让用户可以代表其他用户执行操作.
--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
dir-cliservicelist列出dir-cli了解的解决方案用户.
选项描述--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
dir-cliservicedelete删除vmdir中的解决方案用户.
删除该解决方案用户后,所有关联的服务将对使用此vmdir实例的所有管理节点不可用.
选项描述--name要删除的解决方案用户的名称.
--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
dir-cliserviceupdate更新指定的解决方案用户的证书,即服务集合.
运行此命令后,VECS将在5分钟后实现此更改,或可以使用vecs-cliforce-refresh强制刷新.
选项描述--name要更新的解决方案用户的名称.
--cert要分配给服务的证书名称.
vSphere身份验证VMware,Inc.
80选项描述--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
dir-cliusercreate创建vmdir中的常规用户.
此命令可用于使用用户名和密码对vCenterSingleSign-On进行身份验证的人工用户.
只能在原型构建期间使用此命令.
选项描述--account要创建的vCenterSingleSign-On用户的名称.
--user-password用户的初始密码.
--first-name用户的名字.
--last-name用户的姓氏.
--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
dir-cliusermodify删除vmdir中的指定用户.
选项描述--account要删除的vCenterSingleSign-On用户的名称.
--password-never-expires如果要为必须向vCenterServer进行身份验证的自动任务创建用户帐户,并且要确保这些任务不会因密码过期而停止运行,请将该选项设为true.
谨慎使用该选项.
--password-expires如果要恢复--password-never-expires选项,请将该选项设为true.
--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
dir-cliuserdelete删除vmdir中的指定用户.
vSphere身份验证VMware,Inc.
81选项描述--account要删除的vCenterSingleSign-On用户的名称.
--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
dir-cliuserfind-by-name按名称在vmdir中查找用户.
此命令返回的信息取决于您在--level选项中指定的设置.
选项描述--account要删除的vCenterSingleSign-On用户的名称.
--level返回下列信息:n级别0-帐户和UPNn级别1-级别0信息+名和姓n级别2:级别0+帐户禁用标记、帐户锁定标记、密码永不过期标记、密码已过期标记和密码过期标记.
默认级别为0.
--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
dir-cligroupmodify将用户或组添加到现有组.
选项描述--namevmdir中组的名称.
--add要添加的用户或组的名称.
--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
dir-cligrouplist列出指定的vmdir组.
选项描述--namevmdir中组的可选名称.
此选项可用于检查特定组是否存在.
--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
vSphere身份验证VMware,Inc.
82dir-clissogroupcreate在本地域(默认为vsphere.
local)中创建组.
如果要创建组以管理vCenterSingleSign-On域中的用户权限,请使用此命令.
例如,如果创建一个组,然后将其添加到vCenterSingleSign-On域的管理员组中,那么添加到该组的所有用户都将对该域拥有管理员权限.
也可以将vCenter清单对象权限分配给vCenterSingleSign-On域中的组.
请参见vSphere安全性文档.
选项描述--namevmdir中组的名称.
最大长度为487个字符.
--description组的可选描述.
--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
dir-clitrustedcertpublish将受信任的根证书发布到vmdir.
选项描述--cert证书文件的路径.
--crlVMCA不支持此选项.
--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
--chain如果发布的是链式证书,请指定此选项.
不需要选项值.
dir-clitrustedcertpublish将受信任的根证书发布到vmdir.
选项描述--cert证书文件的路径.
--crlVMCA不支持此选项.
--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
--chain如果发布的是链式证书,请指定此选项.
不需要选项值.
vSphere身份验证VMware,Inc.
83dir-clitrustedcertunpublish取消发布当前vmdir中的受信任根证书.
例如,如果已将其他根证书添加到vmdir且该证书现在是您的环境中所有其他证书的根证书,则请使用此命令.
取消发布不再使用的证书是强化环境的一部分.
选项描述--cert-file要取消发布的证书文件的路径.
--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
dir-clitrustedcertlist列出所有受信任的根证书及其对应的ID.
您需要证书ID才能使用dir-clitrustedcertget检索证书.
选项描述--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
dir-clitrustedcertget从vmdir中检索受信任的根证书并将其写入到指定的文件.
选项描述--id要检索的证书的ID.
dir-clitrustedcertlist命令显示ID.
--outcert要将证书文件写入到的路径.
--outcrl要将CRL文件写入到的路径.
当前未使用.
--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
dir-clipasswordcreate创建符合密码要求的随机密码.
此命令可供第三方解决方案用户使用.
选项描述--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
vSphere身份验证VMware,Inc.
84dir-clipasswordreset可让管理员重置用户的密码.
如果您是要重置密码的非管理员用户,则可使用dir-clipasswordchange.
选项描述--account要向其分配新密码的帐户名称.
--new指定用户的新密码.
--login默认情况下,为本地vCenterSingleSign-On域的管理员administrator@vsphere.
local.
--password管理员用户的密码.
如果未指定密码,将会收到提示.
dir-clipasswordchange可让用户更改其密码.
您必须是拥有帐户的用户,才能执行此更改.
管理员可以使用dir-clipasswordreset重置任何密码.
选项描述--account帐户名称.
--current拥有帐户的用户的当前密码.
--new拥有帐户的用户的新密码.
vSphere身份验证VMware,Inc.
85使用vCenterSingleSign-On进行vSphere身份验证4vCenterSingleSign-On是一个身份验证代理程序和安全令牌交换基础架构.
vCenterSingleSign-On在用户进行身份验证时发出令牌.
用户可以使用该令牌向vCenterServer服务进行身份验证.
然后,该用户可以执行其权限范围内的操作.
由于所有通信的流量都会进行加密,且只有经过身份验证的用户才能执行其权限范围内的操作,因此您的环境是安全的.
用户和服务帐户使用令牌或者用户名和密码进行身份验证.
解决方案用户使用证书进行身份验证.
有关替换解决方案用户证书的信息,请参见第2章vSphere安全证书.
下一步是授权能够进行身份验证的用户执行某些任务.
通常可以通过将用户分配给具有角色的组来分配vCenterServer特权.
vSphere还包括其他权限模型,例如全局权限.
请参见vSphere安全性文档.
本章讨论了以下主题:n如何使用vCenterSingleSign-On保护您的环境n了解vCenterServer身份提供程序联合n配置vCenterServer身份提供程序联合n了解vCenterSingleSign-Onn配置vCenterSingleSign-On标识源n管理SecurityTokenServicen管理vCenterSingleSign-On策略n管理vCenterSingleSign-On用户和组n了解其他身份验证选项n管理登录消息nvCenterSingleSign-On安全性最佳做法VMware,Inc.
86如何使用vCenterSingleSign-On保护您的环境vCenterSingleSign-On允许vSphere组件通过安全的令牌机制相互通信.
vCenterSingleSign-On使用以下服务.
n通过外部身份提供程序联合或vCenterServer内置身份提供程序对用户进行身份验证.
内置身份提供程序支持本地帐户、ActiveDirectory或OpenLDAP、集成Windows身份验证(IWA)和其他身份验证机制(智能卡、RSASecurID和Windows会话身份验证).
n通过证书对解决方案用户进行身份验证.
nSecurityTokenService(STS).
n用于确保安全流量的SSL.
身份提供程序概述在vSphere7.
0之前,vCenterServer包含一个内置身份提供程序.
默认情况下,vCenterServer使用vsphere.
local域作为标识源(但可以在安装过程中进行更改).
可以使用LDAP/S、OpenLDAP/S和集成Windows身份验证(IWA),将vCenterServer内置身份提供程序配置为使用ActiveDirectory(AD)作为其标识源.
此类配置允许客户使用其AD帐户登录到vCenterServer.
从vSphere7.
0开始,可以使用联合身份验证为vCenterServer配置外部身份提供程序.
在此类配置中,将替换vCenterServer作为身份提供程序.
目前,vSphere支持将ActiveDirectory联合身份验证服务(ADFS)作为外部身份提供程序.
在此配置中,ADFS代表vCenterServer与标识源进行交互.
用户使用vCenterServer身份提供程序联合身份验证登录下图显示了vCenterServer身份提供程序联合的用户登录流程.
图4-1.
vCenterServer身份提供程序联合用户登录用户/组435126ActiveDirectory应用程序组ADFS身份提供程序服务vCenterServer用户vSphere身份验证VMware,Inc.
87vCenterServer、ADFS和ActiveDirectory按以下方式进行交互:1用户首先在vCenterServer登录页输入用户名.
2如果用户名用于联合域,vCenterServer会将身份验证请求重定向到ADFS.
3(如果需要)ADFS提示用户使用ActiveDirectory凭据登录.
4ADFS使用ActiveDirectory对用户进行身份验证.
5ADFS发出包含ActiveDirectory中组信息的安全令牌.
6vCenterServer使用令牌登录用户.
现在对用户进行身份验证,然后用户可以查看和修改用户角色具有特权的任何对象.
注首先,每个用户都分配有"无权访问"角色.
vCenterServer管理员必须至少为用户分配"只读"角色,用户才能登录.
请参见vSphere安全性文档.
如果外部身份提供程序不可访问,登录过程将回退到vCenterServer登录页,并显示相应的信息消息.
用户仍可以使用vsphere.
local标识源中的本地帐户登录.
用户使用vCenterServer内置身份提供程序登录下图显示了vCenterServer作为身份提供程序时的用户登录流程.
图4-2.
用户使用vCenterServer内置身份提供程序登录vSphereClientvCenterSingleSign-OnvCenterServer651234KerberosCAVMwareDirectoryService1用户使用用户名和密码登录vSphereClient以访问vCenterServer系统或其他vCenter服务.
配置了集成Windows身份验证(IWA)后,用户也可以通过选中使用Windows会话身份验证复选框来登录,而无需重新输入其Windows密码.
vSphere身份验证VMware,Inc.
882vSphereClient将登录信息传递到vCenterSingleSign-On服务,该服务将检查vSphereClient的SAML令牌.
如果vSphereClient具有有效令牌,vCenterSingleSign-On随后会检查用户是否位于已配置的标识源中(例如,ActiveDirectory).
n如果仅使用用户名,则vCenterSingleSign-On将在默认域中执行检查.
n如果域名随用户名一起提供(DOMAIN\user1或user1@DOMAIN),则vCenterSingleSign-On将检查该域.
3如果用户可以对此标识源进行身份验证,则vCenterSingleSign-On会返回表示vSphereClient的用户的令牌.
4vSphereClient将令牌传递到vCenterServer系统.
5vCenterServer与vCenterSingleSign-On服务器确认令牌是否有效且未过期.
6vCenterSingleSign-On服务器将令牌返回到vCenterServer系统,从而使用vCenterServer授权框架以允许用户访问.
现在对用户进行身份验证,然后用户可以查看和修改用户角色具有特权的任何对象.
注首先,每个用户都分配有"无权访问"角色.
vCenterServer管理员必须至少为用户分配"只读"角色,用户才能登录.
请参见vSphere安全性文档.
解决方案用户登录解决方案用户是vCenterServer基础架构中使用的一组服务,例如vCenterServer扩展.
VMware扩展及潜在的第三方扩展也可能对vCenterSingleSign-On进行身份验证.
注vCenterServer仅将解决方案用户证书用于内部通信.
解决方案用户证书不用于外部通信.
下图显示了解决方案用户的登录流程.
图4-3.
解决方案用户登录Kerberos解决方案用户VMwareDirectoryServiceCAvCenterServervCenterSingleSign-On12341解决方案用户尝试连接到vCenterServer服务.
vSphere身份验证VMware,Inc.
892解决方案用户被重定向到vCenterSingleSign-On.
如果解决方案用户是vCenterSingleSign-On的新用户,则必须提供有效的证书.
3如果证书有效,vCenterSingleSign-On将向解决方案用户分配SAML令牌(持有者令牌).
令牌由vCenterSingleSign-On签名.
4然后,解决方案用户被重定向到vCenterSingleSign-On,并可以基于其权限执行任务.
下次解决方案用户必须进行身份验证时,可以使用SAML令牌登录到vCenterServer.
默认情况下,此握手将自动执行,因为VMCA会在启动期间为解决方案用户置备证书.
如果公司策略要求使用第三方CA签名证书,则可以将解决方案用户证书替换为第三方CA签名的证书.
如果这些证书有效,vCenterSingleSign-On将向解决方案用户分配SAML令牌.
请参见在vSphere中使用自定义证书.
支持的加密支持AES加密,即最高级别的加密.
支持的加密会在vCenterSingleSign-On使用ActiveDirectory作为标识源时影响安全性.
它还会在ESXi主机或vCenterServer加入ActiveDirectory时影响安全性.
了解vCenterServer身份提供程序联合从vSphere7.
0开始,vCenterServer支持登录到vCenterServer时执行联合身份验证.
要启用对vCenterServer进行联合身份验证,需要配置与外部身份提供程序的连接.
配置的身份提供程序实例会替换vCenterServer作为身份提供程序.
目前,vCenterServer仅支持ActiveDirectory联合身份验证服务(ADFS)作为外部身份提供程序.
注随着vSphere转向基于令牌的身份验证,VMware建议使用联合身份验证.
vCenterServer继续拥有本地帐户,用于管理访问和错误恢复.
vCenterServer身份提供程序联合的工作原理通过vCenterServer身份提供程序联合,可以配置外部身份提供程序,以实现联合身份验证.
在此配置中,外部身份提供程序代表vCenterServer与标识源进行交互.
vCenterServer身份提供程序联合基础知识从vSphere7.
0开始,vCenterServer支持联合身份验证.
在这种情况下,当用户登录到vCenterServer时,vCenterServer会将用户登录重定向到外部身份提供程序.
不再直接向vCenterServer提供用户凭据.
而是,用户向外部身份提供程序提供凭据.
vCenterServer信任外部身份提供程序以执行身份验证.
在联合模型中,用户永远不会直接向任何服务或应用程序提供凭据,而是仅向身份提供程序提供凭据.
因此,可以将您的应用程序和服务(如vCenterServer)与您的身份提供程序进行"联合".
vCenterServer身份提供程序联合的优势vCenterServer身份提供程序联合提供以下优势.
n可以将SingleSign-On与现有联合基础架构和应用程序配合使用.
vSphere身份验证VMware,Inc.
90n可以提高数据中心的安全性,因为vCenterServer从不处理用户的凭据.
n可以使用外部身份提供程序支持的身份验证机制,例如多因素身份验证.
vCenterServer身份提供程序联合组件以下组件包含使用MicrosoftActiveDirectory联合身份验证服务(ADFS)的vCenterServer身份提供程序联合配置:nvCenterServern在vCenterServer上配置的身份提供程序服务nADFS服务器和关联的MicrosoftActiveDirectory域nADFS应用程序组n映射到vCenterServer组和用户的ActiveDirectory组和用户注目前,vCenterServer仅支持ADFS作为外部身份提供程序.
vCenterServer身份提供程序联合架构在vCenterServer身份提供程序联合中,vCenterServer使用OpenIDConnect(OIDC)协议接收身份令牌,用于对vCenterServer用户进行身份验证.
要在vCenterServer和身份提供程序之间建立依赖方信任,必须在它们之间建立标识信息和共享密钥.
为此,在ADFS中,需要创建称为"应用程序组"的OIDC配置,该配置由服务器应用程序和WebAPI组成.
这两个组件指定vCenterServer用于信任和与ADFS服务器通信的信息.
还需在vCenterServer中创建相应的身份提供程序.
最后,在vCenterServer中配置组成员资格,以授权来自ADFS域中用户的登录.
ADFS管理员必须提供以下信息才能创建vCenterServer身份提供程序配置:n客户端标识符:由ADFS"应用程序组"向导生成并标识应用程序组本身的UUID字符串.
n共享密钥:由ADFS"应用程序组"向导生成并用于通过ADFS对vCenterServer进行身份验证的密钥.
nOpenID地址:ADFS服务器的OpenID提供程序发现端点URL,指定通常作为与路径"/.
well-known/openid-configuration"连接的颁发者端点的已知地址.
例如:https://webserver.
example.
com/adfs/.
well-known/openid-configuration.
vCenterServer身份提供程序联合和增强型链接模式在使用增强型链接模式的vCenterServer环境中启用身份提供程序联合时,身份验证和工作流的运行方式保持不变.
如果使用增强型链接模式配置,在使用联合身份验证登录到vCenterServer时,请注意以下几点.
n根据vCenterServer权限和角色模型,用户继续查看相同的清单,并执行相同的操作.
vSphere身份验证VMware,Inc.
91n采用增强型链接模式的vCenterServer主机无需访问彼此的身份提供程序.
例如,假设有两个vCenterServer系统A和B,并使用增强型链接模式.
在vCenterServerA授权用户之后,也会在vCenterServerB上授权该用户.
下图显示了使用增强型链接模式和vCenterServer身份提供程序联合的身份验证工作流.
图4-4.
增强型链接模式和vCenterServer身份提供程序联合ADFSActiveDirectory0Auth组重定义URI:https://VCAhttps://VCB增强型链接模式联合身份验证vCenterServerA身份提供程序服务vCenterServerB1以增强型链接模式配置部署两个vCenterServer节点.
2已使用vSphereClient中的"更改身份提供程序"向导在vCenterServerA上配置ADFS设置.
还为ADFS用户或组建立了组成员资格和权限.
3vCenterServerA将ADFS配置复制到vCenterServerB.
4两个vCenterServer节点的所有重定向URI都将添加到ADFS中的OAuth应用程序组.
仅创建一个OAuth应用程序组.
5当用户登录到vCenterServerA并获得授权时,该用户也获得了vCenterServerB的授权.
如果用户先登录到vCenterServerB,同样如此.
vCenterServer增强型链接模式支持身份提供程序联合的以下配置方案.
在此部分中,术语"ADFS设置"和"ADFS配置"指的是在vSphereClient中使用"更改身份提供程序"向导配置的设置,以及为ADFS用户或组建立的任何组成员资格或权限.
在现有增强型链接模式配置上启用ADFS简要步骤:1以增强型链接模式配置部署N个vCenterServer节点.
2在其中一个链接的vCenterServer节点上配置ADFS.
3将ADFS配置复制到所有其他(N-1)个vCenterServer节点.
4将所有N个vCenterServer节点的所有重定向URI添加到ADFS中的已配置OAuth应用程序组.
将新的vCenterServer链接到现有的增强型链接模式ADFS配置简要步骤:1(必备条件)在vCenterServerN节点增强型链接模式配置上设置ADFS.
vSphere身份验证VMware,Inc.
922部署新的独立vCenterServer节点.
3使用N个节点中的一个作为其复制合作伙伴,将新vCenterServer重新指向N节点ADFS增强型链接模式域.
4现有增强型链接模式配置中的所有ADFS设置都将复制到新vCenterServer.
N节点ADFS增强型链接模式域中的ADFS设置将覆盖新链接的vCenterServer上的任何现有ADFS设置.
5将新vCenterServer的所有重定向URI添加到ADFS中的现有已配置OAuth应用程序组.
取消vCenterServer与增强型链接模式ADFS配置的链接简要步骤:1(必备条件)在N节点vCenterServer增强型链接模式配置上设置ADFS.
2取消注册N节点配置中的一个vCenterServer主机,并将其重新指向新域,以便取消其与N节点配置的链接.
3域重新指向过程不保留SSO设置,因此取消链接的vCenterServer节点上的所有ADFS设置都将恢复并丢失.
要在此取消链接的vCenterServer节点上继续使用ADFS,必须从头开始重新配置ADFS,或者必须将vCenterServer重新链接到已设置ADFS的增强型链接模式配置.
vCenterServer身份提供程序局限性和互操作性vCenterServer身份提供程序联合可以与许多其他VMware功能进行交互操作.
在计划vCenterServer身份提供程序联合策略时,请考虑可能的互操作限制.
身份验证机制在vCenterServer身份提供程序联合配置中,外部身份提供程序处理身份验证机制(密码、MFA、生物识别等).
vCenterServer策略当vCenterServer作为身份提供程序时,您可以控制vsphere.
local域的vCenterServer密码、锁定和令牌策略.
将联合身份验证与vCenterServer结合使用时,外部身份提供程序可控制存储在标识源(如ActiveDirectory)中的帐户的密码、锁定和令牌策略.
vSphere身份验证VMware,Inc.
93审核和合规性使用vCenterServer身份提供程序联合时,vCenterServer会继续为成功用户登录创建日志条目.
但是,外部身份提供程序负责跟踪和记录操作,如密码输入尝试失败和用户帐户锁定.
vCenterServer不会记录此类事件,因为这些事件对vCenterServer不再可见.
例如,当ADFS是身份提供程序时,ADFS跟踪并记录联合登录错误.
当vCenterServer是用于本地登录的身份提供程序时,vCenterServer跟踪并记录本地登录错误.
在联合配置中,vCenterServer会继续记录用户的登录后操作.
现有VMware产品集成与vCenterServer集成的VMware产品(例如,vROps、vSAN、NSX等)可继续像以前一样正常工作.
集成登录后的产品集成登录后的产品(即,不需要单独登录)可继续像以前一样正常工作.
用于API、SDK和CLI访问的简单身份验证现有脚本、产品和其他依赖于使用简单身份验证(即,用户名和密码)的API、SDK或CLI命令的功能可继续像以前一样正常工作.
在内部,身份验证是通过传递用户名和密码进行的.
这种传递用户名和密码的方式会影响使用身份联合的一些优势,因为它会向vCenterServer(和您的脚本)暴露密码.
请考虑尽可能迁移到基于令牌的身份验证.
vCenterServer管理界面如果用户是管理员组的成员,则支持访问vCenterServer管理界面(以前称为vCenterServerAppliance管理界面或VAMI).
在ADFS登录页面上输入用户名文本ADFS登录页面不支持传递文本以预填充用户名文本框.
因此,在使用ADFS进行联合登录期间,在vCenterServer登录页面上输入用户名并重定向到ADFS登录页面后,您必须在ADFS登录页面上重新输入您的用户名.
需要使用您在vCenterServer登录页面上输入的用户名将登录重定向到相应的身份提供程序,并且需要ADFS登录页面上的用户名才能使用ADFS进行身份验证.
无法将用户名传递给ADFS登录页面是ADFS的局限性.
您无法直接从vCenterServer配置或更改此行为.
vCenterServer身份提供程序联合生命周期管理vCenterServer身份提供程序联合的生命周期时,需要考虑一些特定的注意事项.
您可以通过以下方式管理vCenterServer身份提供程序联合生命周期.
从使用ActiveDirectory迁移到ADFS如果使用ActiveDirectory作为vCenterServer的标识源,则可以直接迁移到使用ADFS.
如果您的ActiveDirectory组和角色与您的ADFS组和角色相匹配,则无需执行任何其他操作.
当组和角色不匹配时,您必须执行一些额外的工作.
如果vCenterServer是域成员,请考虑将其从域中移除,因为身份联合不需要或使用它.
vSphere身份验证VMware,Inc.
94跨域重定向和迁移vCenterServer身份提供程序联合支持跨域重新指向,即在vSphereSSO域之间移动vCenterServer.
被重新指向的vCenterServer将从它被指向的一个或多个vCenterServer系统接收复制的ADFS配置.
通常,除非满足以下条件之一,否则无需为跨域重新指向执行任何其他ADFS重新配置.
1被重新指向的vCenterServer的ADFS配置不同于它被指向的vCenterServer的ADFS配置.
2这是被重新指向vCenterServer第一次接收ADFS配置.
在这些情况下,必须将vCenterServer系统的重定向URI添加到ADFS服务器上的相应应用程序组.
例如,如果将具有ADFS应用程序组A(或没有ADFS配置)的vCenterServer1重新指向具有ADFS应用程序组B的vCenterServer2,则必须将vCenterServer1的重定向URI添加到应用程序组B.
配置vCenterServer身份提供程序联合在最初部署vCenterServer后,您可以为联合身份验证配置外部身份提供程序.
您可以从vSphereClient或API配置vCenterServer身份提供程序联合.
您还必须在外部身份提供程序上执行一些配置.
要配置vCenterServer身份提供程序联合,您必须拥有vCenterSingleSign-On管理员特权.
vCenterSingleSign-On管理员特权不同于vCenterServer或ESXi上的管理员角色.
在新安装中,仅vCenterSingleSign-On管理员(默认为administrator@vsphere.
local)可以对vCenterSingleSign-On进行身份验证.
vCenterServer身份提供程序联合配置过程流要有效地配置vCenterServer身份提供程序联合,必须了解发生的通信流.
vCenterServer身份提供程序联合配置过程流下图显示了配置vCenterServer身份提供程序联合时执行的过程流.
图4-5.
vCenterServer身份提供程序联合配置过程流vCenterServer管理员ADFS管理员发布/提供程序vAPI配置身份提供程序配置授权vSphereClient2TrustManagementServiceVcIdentityProvidersAPIvmware-stsd服务身份管理(IDM)AdminServerADFS提供程序外部身份提供程序(ADFS)ActiveDirectory14365vCenterServervCenterServer、ADFS和ActiveDirectory按以下方式进行交互.
1ADFS管理员为vCenterServer配置ADFSOAuth应用程序.
2vCenterServer管理员通过vSphereClient登录到vCenterServer.
vSphere身份验证VMware,Inc.
953vCenterServer管理员将ADFS身份提供程序添加到vCenterServer,同时输入有关ActiveDirectory域的信息.
vCenterServer需要此信息才能与ADFS服务器的ActiveDirectory域建立LDAP连接.
使用此连接,vCenterServer搜索用户和组,并在下一步中将其添加到vCenterServer本地组.
有关详细信息,请参见下文标题为"搜索ActiveDirectory域"的部分.
4vCenterServer管理员在vCenterServer中为ADFS用户配置授权权限.
5ADFS提供程序查询VcIdentityProvidersAPI以获取ActiveDirectory源的LDAP连接信息.
6ADFS提供程序在ActiveDirectory中搜索查询的用户或组,以完成授权配置.
搜索ActiveDirectory域可以使用vSphereClient中的"配置主身份提供程序"向导在vCenterServer中将ADFS配置为外部身份提供程序.
在配置过程中,必须输入有关ActiveDirectory域的信息,包括用户和组的标识名信息.
配置ADFS进行身份验证需要此ActiveDirectory连接信息.
需要此连接,才能搜索ActiveDirectory用户名和组并将其映射到vCenterServer中的角色和权限,而ADFS用于对用户进行身份验证.
"配置主身份提供程序"向导的这一步不创建基于LDAP的ActiveDirectory标识源.
而是,vCenterServer使用此信息建立与ActiveDirectory域的有效可搜索连接,以便在其中查找用户和组.
例如,假设使用以下标识名条目:n用户的基本标识名:cn=Users,dc=corp,dc=localn组的基本标识名:dc=corp,dc=localn用户名:cn=Administrator,cn=Users,dc=corp,dc=local如果AdfsUser@corp.
local用户是ADGroup@corp.
local组的成员,则在向导中输入此信息可允许vCenterServer管理员搜索和查找ADGroup@corp.
local组,并将其添加到vCenterServerAdministrators@vsphere.
local组.
因此,AdfsUser@corp.
local用户登录时,会向其授予vCenterServer中的管理特权.
在为ActiveDirectory用户和组配置全局权限时,vCenterServer也使用此搜索过程.
无论是配置全局权限,还是添加用户或组,在这两种情况下,都会从域下拉菜单中选择"MicrosoftADFS"以进行搜索,然后从ActiveDirectory域中选择用户和组.
vSphere身份验证VMware,Inc.
96配置vCenterServer身份提供程序联合安装或升级到vSphere7.
0后,可以配置vCenterServer身份提供程序联合.
目前,vCenterServer仅支持ActiveDirectory联合身份验证服务(ADFS)作为外部身份提供程序.
vCenterServer仅支持一个外部身份提供程序(一个ADFS源)和vsphere.
local标识源.
不能使用多个外部身份提供程序.
用户登录到vCenterServer时,vCenterServer身份提供程序联合使用OpenIDConnect(OIDC).
小心如果使用之前添加到vCenterServer的ActiveDirectory标识源作为ADFS标识源,请不要从vCenterServer中删除该现有标识源.
如果删除,会导致之前分配的角色和组成员资格出现回归问题.
具有全局权限的ADFS用户和添加到管理员组的用户将无法登录.
解决办法:如果您不需要之前分配的角色和组成员资格,并且希望移除以前的ActiveDirectory标识源,请在创建ADFS提供程序并在vCenterServer中配置组成员资格之前移除标识源.
前提条件ActiveDirectory联合身份验证服务要求:n必须已经部署适用于WindowsServer2016R2或更高版本的ADFS.
nADFS必须已连接到ActiveDirectory.
n在配置过程中,必须在ADFS中创建vCenterServer的应用程序组.
请参见VMware知识库文章,网址为https://kb.
vmware.
com/s/article/78029.
n通常,使用由公开信任的证书颁发机构签名的ADFS服务器证书(请参见https://docs.
microsoft.
com/zh-cn/windows-server/identity/ad-fs/overview/ad-fs-requirements).
注如果您生成自己的证书(即,使用的是自签名证书),则必须将根CA证书导入vCenterServerJRE信任库.
请参见导入外部身份提供程序的可信证书.
有关配置ADFS的详细信息,请参见Microsoft文档.
vCenterServer和其他要求:nvSphere7.
0nvCenterServer必须能够连接到ADFS发现端点,以及在发现端点元数据中通告的授权、令牌、注销、JWKS和任何其他端点.
n您需要VcIdentityProviders.
管理特权,才能创建、更新或删除联合身份验证所需的vCenterServer身份提供程序.
要限制用户只能查看身份提供程序配置信息,请分配VcIdentityProviders.
读取特权.
步骤1使用vSphereClient登录vCenterServer.
2导航到配置UI.
a在主页菜单中,选择系统管理.
b在单点登录下,单击配置.
vSphere身份验证VMware,Inc.
973选择身份提供程序选项卡,然后获取重定向URI.
a单击"更改身份提供程序"链接旁边的信息性"i"图标.
此时将在弹出横幅中显示两个重定向URI.
b将这两个URI复制到一个文件中,或者将其记下来,供稍后在后续步骤中配置ADFS服务器时使用.
c关闭弹出横幅.
4在ADFS中创建OpenIDConnect配置,并对其进行配置以用于vCenterServer.
要在vCenterServer和身份提供程序之间建立依赖方信任,必须在它们之间建立标识信息和共享密钥.
为此,在ADFS中,需要创建称为"应用程序组"的OpenIDConnect配置,该配置由服务器应用程序和WebAPI组成.
这两个组件指定vCenterServer用于信任和与ADFS服务器通信的信息.
要在ADFS中启用OpenIDConnect,请参见VMware知识库文章,网址为https://kb.
vmware.
com/s/article/78029.
在创建ADFS应用程序组时,请注意以下事项.
n需要从上一步中获取和保存的两个重定向URI.
n将以下信息复制到文件中,或将其记下来,以供在下一步中配置vCenterServer身份提供程序时使用.
n客户端标识符n共享密钥nADFS服务器的OpenID地址5在vCenterServer上创建身份提供程序.
a返回vSphereClient中的身份提供程序选项卡.
b单击"更改身份提供程序"链接.
此时将打开"配置主身份提供程序"向导.
c选择MicrosoftADFS,然后单击下一步.
在以下文本框中输入您之前收集的信息:n客户端标识符n共享密钥nADFS服务器的OpenID地址d单击下一步.
vSphere身份验证VMware,Inc.
98e输入基于LDAP的ActiveDirectory连接的用户和组信息,以搜索用户和组.
选项描述用户的基本标识名用户的基本标识名.
组的基本标识名组的基本标识名.
用户名域中用户的ID,该用户对用户和组的基本DN只具有最小只读权限.
密码域中用户的ID,该用户对用户和组的基本DN只具有最小只读权限.
主服务器URL域的主域控制器LDAP服务器.
请使用ldap://hostname:port或ldaps://hostname:port格式.
该端口通常为389用于LDAP连接,而636用于LDAPS连接.
对于ActiveDirectory多域控制器部署,该端口通常为3268用于LDAP,而3269用于LDAPS.
在主LDAPURL或辅助LDAPURL中使用ldaps://时,需要一个证书为ActiveDirectory服务器的LDAPS端点建立信任.
辅助服务器URL用于故障切换的辅助域控制器LDAP服务器的地址.
SSL证书如果要将LDAPS与ActiveDirectoryLDAP服务器或OpenLDAP服务器标识源配合使用,请单击浏览选择证书.
f单击下一步,查看信息,然后单击完成以完成向导.
6导航到vCenterSingleSign-On用户配置UI.
a在主页菜单中,选择系统管理.
b在SingleSignOn下,单击用户和组.
7通过vCenterServer中的全局或对象权限为ADFS授权配置组成员资格或特权.
a单击组选项卡.
b单击管理员组,然后单击添加成员.
c从下拉菜单中选择MicrosoftADFS.
d在下拉菜单下方的文本框中,输入vcenter,然后等待下拉选择显示.
可能需要几秒钟时间才能显示所选内容,因为vCenterServer需要建立与ActiveDirectory的连接并进行搜索.
e选择VCenterAdmins并将其添加到组中.
f单击保存.
8确认以ActiveDirectory用户身份登录到vCenterServer.
导入外部身份提供程序的可信证书配置vCenterServer身份提供程序联合时,如果使用自签名证书,则必须将根CA证书导入vCenterServerJRE信任库.
在配置和登录期间,vCenterServer必须连接到ADFS服务器上的各个端点.
此过程需要验证ADFS服务器证书以建立必要的HTTPS连接.
由于必须在vSphereClient和vCenterServer中执行此验证,因此将使用JavaJRE信任库建立HTTPS连接.
vSphere身份验证VMware,Inc.
99对于生产部署,Microsoft要求使用公开信任的ADFSSSL证书颁发机构证书.
因此,vCenterServer身份提供程序联合期望使用公开信任的证书颁发机构(CA)证书.
如果使用由公开信任的证书颁发机构签名的证书,则vCenterServerJRE信任库已预加载这些熟知的证书颁发机构,并且会自动成功建立HTTPS连接.
通常,对于生产环境,使用CA生成的证书.
仅对非生产环境或测试环境使用自签名证书.
前提条件n启用SSH,以通过SSH登录到vCenterServer.
请参见从vCenterServerShell管理vCenterServer.
步骤1使用WinSCP等SFTP客户端将根CA证书上载到vCenterServer.
2以root身份登录vCenterServerShell.
3更改为/usr/java/jre-vmware/bin/目录.
4要导入证书,请运行keytool命令.
keytool-import-trustcacerts-filecertificate-aliasalias-keystore$VMWARE_JAVA_HOME/lib/security/cacerts-storepasschangeit其中,certificate是上载的证书文件的相对路径.
5查看证书.
keytool-list-v-keystore$VMWARE_JAVA_HOME/lib/security/cacerts6重新启动vsphere-ui服务.
service-control--stopvsphere-uiservice-control--startvsphere-ui7重新启动trustmanagement服务.
service-control--startvmware-trustmanagement8重新启动STS服务.
service-control--startvmware-stsd9禁用SSH,以便无法通过SSH登录到vCenterServer.
vSphere身份验证VMware,Inc.
100了解vCenterSingleSign-On如果不使用外部身份提供程序,则必须了解内置身份提供程序vCenterSingleSign-On的底层基础架构以及它如何影响安装和升级.
vCenterSingleSign-On组件vCenterSingleSign-On包括SecurityTokenService(STS)(管理服务器)、vCenterLookupService和VMwareDirectoryService(vmdir).
VMwareDirectoryService还可用于证书管理.
在安装过程中,以下组件会作为vCenterServer部署的一部分进行部署.
STS(SecurityTokenService)STS服务会发出安全断言标记语言(SAML)令牌.
这些安全令牌表示vCenterServer支持的标识源类型之一中的用户标识.
SAML令牌允许成功通过vCenterSingleSign-On身份验证的交互式用户、脚本式用户和服务用户使用vCenterSingleSign-On支持的任何vCenter服务,而无需再次经过每个服务的身份验证.
vCenterSingleSign-On服务会使用签名证书对所有令牌进行签名,并在磁盘上存储令牌签名证书.
该服务本身的证书也会存储在磁盘上.
管理服务器管理服务器允许用户具有vCenterSingleSign-On的管理员特权,以便配置vCenterSingleSign-On服务器并管理vSphereClient中的用户和组.
最初,仅administrator@your_domain_name用户具有这些特权.
可以在安装vCenterServer时更改vSphere域.
请勿使用MicrosoftActiveDirectory或OpenLDAP域名命名该域名.
VMwareDirectoryService(vmdir)VMwareDirectoryService(vmdir)与安装期间您指定的域相关联,并且包含在每个vCenterServer部署中.
此服务是一个多租户、多重管理目录服务,可使LDAP目录在端口389上可用.
如果您的环境包含在链接模式下配置的多个vCenterServer实例,则一个vmdir实例中的vmdir内容更新会传播到所有其他vmdir实例.
VMwareDirectoryService不仅会存储vCenterSingleSign-On信息,还会存储证书信息.
IdentityManagementService处理标识源和STS身份验证请求.
通过vSphere使用vCenterSingleSign-On当用户登录vSphere组件或vCenterServer解决方案用户访问另一个vCenterServer服务时,vCenterSingleSign-On会执行身份验证.
用户必须通过vCenterSingleSign-On进行身份验证,且应具有所需权限才能与vSphere对象进行交互.
vSphere身份验证VMware,Inc.
101vCenterSingleSign-On会同时对解决方案用户和其他用户进行身份验证.
n解决方案用户表示vSphere环境中的一组服务.
在安装期间,默认情况下,VMCA会向每个解决方案用户分配一个证书.
解决方案用户使用该证书对vCenterSingleSign-On进行身份验证.
vCenterSingleSign-On会向解决方案用户提供一个SAML令牌,然后,该解决方案用户可以与环境中的其他服务进行交互.
n其他用户登录到环境时(例如,从vSphereClient登录),vCenterSingleSign-On会提示您输入用户名和密码.
如果vCenterSingleSign-On在相应的标识源中找到具有这些凭据的用户,则会向该用户分配SAML令牌.
现在,用户可以访问环境中的其他服务,而无需提示再次进行身份验证.
用户可以查看哪些对象以及用户能够执行哪些操作通常由vCenterServer权限设置决定.
vCenterServer管理员可以从vSphereClient中的权限界面分配这些权限,而不是通过vCenterSingleSign-On进行分配.
请参见vSphere安全性文档.
vCenterSingleSign-On和vCenterServer用户用户可通过在登录页面上输入凭据向vCenterSingleSign-On进行身份验证.
连接到vCenterServer后,通过身份验证的用户可以查看所有vCenterServer实例或向其角色提供权限的其他vSphere对象.
无需进一步进行身份验证.
安装后,vCenterSingleSign-On域的管理员(默认为administrator@vsphere.
local)对vCenterSingleSign-On和vCenterServer具有管理员访问权限.
然后,该用户可以添加标识源、设置默认标识源,以及管理vCenterSingleSign-On域中的用户和组.
可以向vCenterSingleSign-On进行身份验证的所有用户都可以重置其密码.
请参见更改vCenterSingleSign-On密码.
只有vCenterSingleSign-On管理员可以为不再具有其密码的用户重置密码.
vCenterSingleSign-On管理员用户可从vSphereClient访问vCenterSingleSign-On管理界面.
要配置vCenterSingleSign-On并管理vCenterSingleSign-On用户和组,用户administrator@vsphere.
local或vCenterSingleSign-On管理员组中的用户必须登录到vSphereClient.
根据身份验证,该用户可以通过vSphereClient访问vCenterSingleSign-On管理界面,并管理标识源和默认域、指定密码策略以及执行其他管理任务.
注如果在安装过程中指定了其他域,则不能重命名vCenterSingleSign-On管理员用户,它默认为administrator@vsphere.
local或administrator@mydomain.
为提高安全性,请考虑在vCenterSingleSign-On域中创建其他命名的用户,并为其分配管理特权.
然后,可以使用管理员帐户停止.
ESXi用户独立的ESXi主机未与vCenterSingleSign-On集成.
请参见vSphere安全性,了解有关将ESXi主机添加到ActiveDirectory的信息.
vSphere身份验证VMware,Inc.
102如果使用VMwareHostClient、ESXCLI或PowerCLI为受管ESXi主机创建本地ESXi用户,vCenterServer不会识别这些用户.
因此,创建本地用户会造成混淆,尤其是如果使用相同的用户名.
如果可以对vCenterSingleSign-On进行身份验证的用户对ESXi主机对象拥有对应的权限,他们则可以查看和管理ESXi主机.
注通过vCenterServer管理ESXi主机的权限(如果可能).
如何登录到vCenterServer组件可以通过连接到vSphereClient登录.
用户从vSphereClient登录到vCenterServer系统时,登录行为取决于用户是否位于设置为默认标识源的域中.
n默认域中的用户可使用其自身的用户名和密码进行登录.
n如果用户位于已添加到vCenterSingleSign-On作为标识源的域而并非默认域中,则可以登录到vCenterServer,但必须按照以下方式之一指定域.
n包含域名前缀,例如MYDOMAIN\user1n包含域,例如user1@mydomain.
comn如果用户位于不是vCenterSingleSign-On标识源的域中,则无法登录到vCenterServer.
如果添加到vCenterSingleSign-On的域是域层次结构的一部分,则ActiveDirectory将确定层次结构中其他域的用户是否进行了身份验证.
如果环境中包括ActiveDirectory层次结构,请参见VMware知识库文章2064250获取受支持和不支持的设置的详细信息.
vCenterSingleSign-On域中的组vCenterSingleSign-On域(默认为vsphere.
local)包含多个预定义组.
如果将用户添加到其中一个组,则可以执行相应的操作.
请参见管理vCenterSingleSign-On用户和组.
对于vCenterServer层次结构中的所有对象,您可以通过将用户和角色与对象进行配对来分配权限.
例如,您可以选择一个资源池,并通过向一组用户授予相应的角色,为这组用户分配对该资源池对象的读取特权.
对于某些并非由vCenterServer直接管理的服务,一个vCenterSingleSign-On组中的成员资格决定特权.
例如,属于管理员组成员的用户可以管理vCenterSingleSign-On.
属于CAAdmins组成员的用户可以管理VMwareCertificateAuthority,而属于LicenseService.
Administrators组的用户可以管理许可证.
vsphere.
local中预定义了以下组.
注其中许多组是vsphere.
local的内部组或可向用户提供高级别管理特权.
只有在仔细考虑相关风险后,才能将用户添加到以下任意组.
注请勿删除vsphere.
local域中的任何预定义组.
否则,可能会导致身份验证错误或证书置备错误.
vSphere身份验证VMware,Inc.
103表4-1.
vsphere.
local域中的组特权描述用户vCenterSingleSign-On域(默认为vsphere.
local)中的用户.
SolutionUsersvCenter服务的解决方案用户组.
每个解决方案用户将使用证书单独向vCenterSingleSign-On进行身份验证.
默认情况下,VMCA将为解决方案用户置备证书.
不要向该组明确添加成员.
CAAdminsCAAdmins组的成员拥有VMCA的管理员特权.
不要向该组添加成员,除非您有充分的理由.
DCAdminsDCAdmins组的成员可以对VMwareDirectoryService执行域控制器管理员操作.
注不要直接管理域控制器.
请改用vmdirCLI或vSphereClient执行相应的任务.
SystemConfiguration.
BashShellAdministrators此组中的用户可以启用和禁用对BASHshell的访问.
默认情况下,使用SSH连接到vCenterServer的用户只能访问受限shell中的命令.
此组中的用户可以访问BASHshell.
ActAsUsersAct-AsUsers的成员可以从vCenterSingleSign-On获取Act-As令牌.
ExternalIDPUsersvSphere未使用此内部组.
VMwarevCloudAir需要此组.
SystemConfiguration.
AdministratorsSystemConfiguration.
Administrators组的成员可以在vSphereClient中查看和管理系统配置.
这些用户可以查看、启动和重新启动服务、对服务进行故障排除、查看可用节点以及管理这些节点.
DCClients此组在内部使用,以便允许管理节点访问VMwareDirectoryService中的数据.
注不要修改此组.
任何更改都可能会影响证书基础架构.
ComponentManager.
AdministratorsComponentManager.
Administrators组的成员可以调用组件管理器API以注册或取消注册服务,即修改服务.
对服务进行读取访问不需要此组中的成员资格.
LicenseService.
AdministratorsLicenseService.
Administrators的成员对所有与许可相关的数据具有完全的写入访问权限,且可以为已在许可服务中注册的所有产品资产添加、移除、分配和取消分配序列密钥.
管理员VMwareDirectoryService(vmdir)的管理员.
此组的成员可以执行vCenterSingleSign-On管理任务.
不要向该组添加成员,除非您有充分的理由并了解后果.
TrustedAdmins此组的成员可以执行VMwarevSphereTrustAuthority配置和管理任务.
默认情况下,此组不包含任何成员.
必须将成员添加到此组,才能执行vSphereTrustAuthority任务.
AutoUpdate此组在内部用于vCenterCloudGateway.
SyncUsers此组在内部用于vCenterCloudGateway.
vSphereClientSolutionUsers此组在内部用于vSphereClient.
ServiceProviderUsers此组的成员可以管理vSpherewithKubernetes和VMwareCloudonAWS基础架构.
NsxAdministrators此组用于NSX.
WorkloadStorage工作负载存储组.
RegistryAdministrators此组的成员可以管理注册表.
NsxAuditors此组用于NSX.
NsxViAdministrators此组用于NSX.
vSphere身份验证VMware,Inc.
104配置vCenterSingleSign-On标识源用户仅使用用户名登录时,vCenterSingleSign-On会在默认标识源中检查该用户是否可以进行身份验证.
当用户登录并在登录屏幕中提供域名时,vCenterSingleSign-On会检查指定的域,确认该域是否已添加为标识源.
可以添加标识源、移除标识源和更改默认值.
可从vSphereClient配置vCenterSingleSign-On.
要配置vCenterSingleSign-On,您必须拥有vCenterSingleSign-On管理员特权.
vCenterSingleSign-On管理员特权不同于vCenterServer或ESXi上的管理员角色.
在新安装中,仅vCenterSingleSign-On管理员(默认为administrator@vsphere.
local)可以对vCenterSingleSign-On进行身份验证.
vCenterServer和vCenterSingleSign-On的标识源可以使用标识源将一个或多个域附加到vCenterSingleSign-On.
域是用户和组的存储库,可以由vCenterSingleSign-On服务器用于用户身份验证.
从vSphere7.
0开始,vCenterServer支持通过联合身份验证登录到vCenterServer.
随着vSphere转向基于令牌的身份验证,VMware建议使用联合身份验证.
请参见了解vCenterServer身份提供程序联合.
管理员可以添加标识源、设置默认标识源,以及在vsphere.
local标识源中创建用户和组.
用户和组数据存储在ActiveDirectory中、OpenLDAP中或者存储到本地安装了vCenterSingleSign-On的计算机操作系统.
在安装后,vCenterSingleSign-On的每个实例都有标识源your_domain_name,例如,vsphere.
local.
此标识源在vCenterSingleSign-On内部.
注无论何时都只存在一个默认域.
来自非默认域的用户在登录时必须添加域名(域\用户)才能成功进行身份验证.
以下标识源可用.
nActiveDirectoryoverLDAP.
vCenterSingleSign-On支持多个ActiveDirectoryoverLDAP标识源.
nActiveDirectory(集成Windows身份验证)版本2003及更高版本.
vCenterSingleSign-On允许将单个ActiveDirectory域指定为一个标识源.
该域可包含子域或作为林的根域.
VMware知识库文章2064250讨论了vCenterSingleSign-On支持的MicrosoftActiveDirectory信任.
nOpenLDAP版本2.
4及更高版本.
vCenterSingleSign-On支持多个OpenLDAP标识源.
注未来对MicrosoftWindows进行的更新将更改ActiveDirectory的默认行为,以要求强身份验证和加密.
此更改将影响vCenterServer对ActiveDirectory进行身份验证的方式.
如果使用ActiveDirectory作为vCenterServer的标识源,则必须计划启用LDAPS.
有关此Microsoft安全更新的详细信息,请参见https://portal.
msrc.
microsoft.
com/en-US/security-guidance/advisory/ADV190023和https://blogs.
vmware.
com/vsphere/2020/01/microsoft-ldap-vsphere-channel-binding-signing-adv190023.
html.
vSphere身份验证VMware,Inc.
105设置vCenterSingleSign-On的默认域每个vCenterSingleSign-On标识源都与某个域相关联.
vCenterSingleSign-On使用默认域验证未使用域名登录的用户的身份.
如果用户所属的域不是默认域,则用户在登录时必须包含域名.
用户从vSphereClient登录到vCenterServer系统时,登录行为取决于用户是否位于设置为默认标识源的域中.
n默认域中的用户可使用其自身的用户名和密码进行登录.
n如果用户位于已添加到vCenterSingleSign-On作为标识源的域而并非默认域中,则可以登录到vCenterServer,但必须按照以下方式之一指定域.
n包含域名前缀,例如MYDOMAIN\user1n包含域,例如user1@mydomain.
comn如果用户位于不是vCenterSingleSign-On标识源的域中,则无法登录到vCenterServer.
如果添加到vCenterSingleSign-On的域是域层次结构的一部分,则ActiveDirectory将确定层次结构中其他域的用户是否进行了身份验证.
步骤1使用vSphereClient登录vCenterServer.
2为administrator@vsphere.
local或vCenterSingleSign-On管理员组的其他成员指定用户名和密码.
如果在安装时指定了不同的域,请以administrator@mydomain身份登录.
3导航到配置UI.
a在主页菜单中,选择系统管理.
b在单点登录下,单击配置.
4在身份提供程序选项卡下,单击标识源,选择一个标识源,然后单击设置为默认值.
5单击确定.
在域显示屏幕中,默认域显示在"类型"列中(默认设置).
添加或编辑vCenterSingleSign-On标识源仅当用户所在域已添加为vCenterSingleSign-On标识源时,用户才能登录到vCenterServer.
vCenterSingleSign-On管理员用户可以添加标识源,或者更改已添加的标识源的设置.
标识源可以是基于LDAP的ActiveDirectory、本机ActiveDirectory(集成Windows身份验证)域,也可以是OpenLDAP目录服务.
请参见vCenterServer和vCenterSingleSign-On的标识源.
在安装后,便能够立即使用vsphere.
local域(或安装期间指定的域)与vCenterSingleSign-On内部用户.
前提条件如果要添加ActiveDirectory(集成Windows身份验证)标识源,则vCenterServer必须位于ActiveDirectory域中.
请参见将vCenterServer添加到ActiveDirectory域.
vSphere身份验证VMware,Inc.
106步骤1使用vSphereClient登录vCenterServer.
2为administrator@vsphere.
local或vCenterSingleSign-On管理员组的其他成员指定用户名和密码.
如果在安装时指定了不同的域,请以administrator@mydomain身份登录.
3导航到配置UI.
a在主页菜单中,选择系统管理.
b在单点登录下,单击配置.
4在身份提供程序选项卡下,单击标识源,然后单击添加.
5选择标识源,然后输入标识源设置.
选项描述ActiveDirectory(集成Windows身份验证)对于本机ActiveDirectory实施,请使用此选项.
如果要使用此选项,则运行vCenterSingleSign-On服务的计算机必须在ActiveDirectory域中.
请参见ActiveDirectory标识源设置.
基于LDAP的ActiveDirectory此选项需要您指定域控制器和其他信息.
请参见基于LDAP的ActiveDirectory和OpenLDAP服务器标识源设置.
OpenLDAP对于OpenLDAP标识源,请使用此选项.
请参见基于LDAP的ActiveDirectory和OpenLDAP服务器标识源设置.
注如果用户帐户已锁定或禁用,ActiveDirectory域中的身份验证以及组和用户搜索将失败.
用户帐户必须具有用户和组OU的只读访问权限,并且必须能够读取用户和组属性.
默认情况下,ActiveDirectory可提供此访问权限.
使用特殊服务用户以增强安全性.
6单击添加.
后续步骤首先,每个用户都分配有"无权访问"角色.
vCenterServer管理员必须至少为用户分配"只读"角色,用户才能登录.
请参见vSphere安全性文档.
基于LDAP的ActiveDirectory和OpenLDAP服务器标识源设置基于LDAP的ActiveDirectory标识源优先于ActiveDirectory(集成Windows身份验证)选项.
OpenLDAPServer标识源适用于使用OpenLDAP的环境.
配置OpenLDAP标识源时,请参见VMware知识库文章,网址为http://kb.
vmware.
com/kb/2064977),以了解其他要求.
注未来对MicrosoftWindows进行的更新将更改ActiveDirectory的默认行为,以要求强身份验证和加密.
此更改将影响vCenterServer对ActiveDirectory进行身份验证的方式.
如果使用ActiveDirectory作为vCenterServer的标识源,则必须计划启用LDAPS.
有关此Microsoft安全更新的详细信息,请参见https://portal.
msrc.
microsoft.
com/en-US/security-guidance/advisory/ADV190023和https://blogs.
vmware.
com/vsphere/2020/01/microsoft-ldap-vsphere-channel-binding-signing-adv190023.
html.
95idc是一家香港公司,主要产品香港GIA线路沙田CN2线路独服,美国CERA高防服务器,日本CN2直连服务器,即日起,购买香港/日本云主机,在今年3月份,95IDC推出来一款香港物理机/香港多ip站群服务器,BGP+CN2线路终身7折,月付350元起。不过今天,推荐一个价格更美的香港物理机,5个ip,BGP+CN2线路,月付299元起,有需要的,可以关注一下。95idc优惠码:优惠码:596J...
港云网络官方网站商家简介港云网络成立于2016年,拥有IDC/ISP/云计算资质,是正规的IDC公司,我们采用优质硬件和网络,为客户提供高速、稳定的云计算服务。公司拥有一流的技术团队,提供7*24小时1对1售后服务,让您无后顾之忧。我们目前提供高防空间、云服务器、物理服务器,高防IP等众多产品,为您提供轻松上云、安全防护。点击进入港云网络官方网站港云网络中秋福利1元领【每人限量1台】,售完下架,活...
云如故是一家成立于2018年的国内企业IDC服务商,由山东云如故网络科技有限公司运营,IDC ICP ISP CDN VPN IRCS等证件齐全!合法运营销售,主要从事自营高防独立服务器、物理机、VPS、云服务器,虚拟主机等产品销售,适合高防稳定等需求的用户,可用于建站、游戏、商城、steam、APP、小程序、软件、资料存储等等各种个人及企业级用途。机房可封UDP 海外 支持策略定制 双层硬件(傲...