要使密钥提供程序服务能够连接到密钥提供程序,必须创建可信密钥提供程序,然后在 vSphere Trust Authority 集群和密钥服务器 (KMS) 之间配置信任设置。对于大多数符合 KMIP 的密钥服务器,此配置需要设置客户端和服务器证书。
以前,在 vSphere 6.7 中称为 KMS 集群,现在在 vSphere 7.0 及更高版本中称为密钥提供程序。有关密钥提供程序的详细信息,请参见什么是 vSphere Trust Authority 密钥提供程序服务。
在生产环境中,您可以创建多个密钥提供程序。通过创建多个密钥提供程序,可以解决如何根据公司组织、不同的业务单位或客户等管理部署的问题。
如果按顺序执行这些任务,您仍会连接到 vSphere Trust Authority 集群的 vCenter Server。
前提条件
- 启用 Trust Authority 管理员.
- 启用 Trust Authority 状态.
- 收集有关要信任的 ESXi 主机和 vCenter Server 的信息.
- 将受信任主机信息导入到 Trust Authority 集群.
- 在密钥服务器上创建并激活密钥,使其成为可信密钥提供程序的主密钥。此密钥可封装此可信密钥提供程序使用的其他密钥。有关创建密钥的详细信息,请参见密钥服务器供应商文档。
过程
结果
可信密钥提供程序已创建,并与密钥服务器建立了信任。
示例: 在 Trust Authority 集群上创建密钥提供程序
此示例显示了如何使用 PowerCLI 在 Trust Authority 集群上创建可信密钥提供程序。该示例假设您已经以 Trust Authority 管理员身份连接到 Trust Authority 集群的 vCenter Server。在向供应商提交 CSR 后,它还使用密钥服务器供应商签名的证书。
下表显示了所使用的示例组件和值。
组件 | 值 |
---|---|
变量 $vTA |
Get-TrustAuthorityCluster 'vTA Cluster' |
变量 $kp |
Get-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA |
变量 $cert |
Get-TrustAuthorityKeyProviderServerCertificate -KeyProviderServer $kp.KeyProviderServers |
Trust Authority 集群的 vCenter Server | 192.168.210.22 |
符合 KMIP 的密钥服务器 | 192.168.110.91 |
符合 KMIP 的密钥服务器用户 | vcqekmip |
Trust Authority 集群名称 | vTA Cluster |
Trust Authority 管理员 | [email protected] |
PS C:\Users\Administrator.CORP> Disconnect-VIServer -server * -Confirm:$false PS C:\Users\Administrator.CORP> Connect-VIServer -server 192.168.210.22 -User [email protected] -Password 'VMware1!' PS C:\Users\Administrator.CORP> New-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA -PrimaryKeyId 8 -Name clkp -KmipServerAddress 192.168.110.91 Name PrimaryKeyId Type TrustAuthorityClusterId ---- ------------ ---- ----------------------- clkp 8 KMIP TrustAuthorityCluster-domain-c8 PS C:\Users\Administrator.CORP> New-TrustAuthorityKeyProviderClientCertificate -KeyProvider $kp <Export the client certificate when you need to use it.> PS C:\Users\Administrator.CORP> Export-TrustAuthorityKeyProviderClientCertificate -KeyProvider $kp -FilePath clientcert.pem PS C:\Users\Administrator.CORP> $kp = Get-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA PS C:\Users\Administrator.CORP> Get-TrustAuthorityKeyProviderServerCertificate -KeyProviderServer $kp.KeyProviderServers Certificate Trusted KeyProviderServerId KeyProviderId ----------- ------- ------------------- ------------- [Subject]... False domain-c8-clkp:192.16.... domain-c8-clkp PS C:\WINDOWS\system32> $cert.Certificate.ToString() [Subject] E=<domain>, CN=<IP address>, OU=VMware Engineering, O=VMware, L=Palo Alto, S=California, C=US [Issuer] O=<host>.eng.vmware.com, C=US, DC=local, DC=vsphere, CN=CA [Serial Number] 00CEF192BBF9D80C9F [Not Before] 8/10/2015 4:16:12 PM [Not After] 8/9/2020 4:16:12 PM [Thumbprint] C44068C124C057A3D07F51DCF18720E963604B70 PS C:\Users\Administrator.CORP> $cert = Get-TrustAuthorityKeyProviderServerCertificate -KeyProviderServer $kp.KeyProviderServers PS C:\Users\Administrator.CORP> Add-TrustAuthorityKeyProviderServerCertificate -ServerCertificate $cert Certificate Trusted KeyProviderServerId KeyProviderId ----------- ------- ------------------- ------------- [Subject]... True domain-c8-clkp PS C:\Users\Administrator.CORP> $kp = Get-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA PS C:\Users\Administrator.CORP> $kp.Status KeyProviderId Health HealthDetails ServerStatus ------------- ------ ------------- ------------ domain-c8-kp4 Ok {} {192.168.210.22}