在 SPF 中管理租户和用户角色

重要

此版本的 Service Provider Foundation (SPF) 已终止支持;建议 升级到 SPF 2022

System Center - Service Provider Foundation (SPF) 不会创建用户角色或定义其范围。 若要设置租户,需要一个证书公钥,用于验证代表租户发出的声明。

创建证书

如果没有要使用的现有 CA 证书,可以生成自签名证书。 可以从证书导出公钥和私钥,并将公钥与租户相关联。

获取自签名证书

使用 makecert.exe (证书创建工具) 创建证书。

  1. 以管理员身份打开命令提示符。

  2. 通过运行下面的命令生成证书:

    makecert -r -pe -n "cn=contoso.com" -b 07/12/2012 -e 09/23/2014 -ss My -sr CurrentUser -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 -sky exchange  
    
  3. 此命令将证书放置在当前用户证书存储中。 若要访问它,请在 “开始” 屏幕上输入 certmgr.msc ,然后在 “应用” 结果中选择“ certmgr.msc”。 在 certmgr 窗口中,选择“ 证书 - 当前用户>个人>证书 ”文件夹。

导出公钥

  1. 右键单击证书>“所有任务>导出”。
  2. “导出私钥”中,选择“ 否,不导出私钥>”“下一步”。
  3. “导出文件格式”中,选择“ Base-64 编码的 X.509 (”。CER) >Next.
  4. “要导出的文件”中,指定证书>“下一步”的路径和文件名。
  5. “完成证书导出向导”中,选择“ 完成”。

若要使用 PowerShell 导出,请运行:

``S C:\> $path = "C:\Temp\tenant4D.cer"  

PS C:\> $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($path)  

PS C:\> $key = [Convert]::ToBase64String($cert.RawData)``

导出私钥

  1. 右键单击证书>“所有任务>导出”。
  2. “导出私钥”中,选择“ 是,导出私钥>”“下一步”。 如果此选项不可用,并且你生成了自签名证书,请确保它包含 -pe 选项。
  3. “导出文件格式”中,选择“ 个人信息交换 - PKCS #12 (”。PFX) 。 确保选中“ 在证书路径中包含所有证书(如果可能) ”,然后选择“ 下一步”。
  4. “要导出的文件”中,指定证书>“下一步”的路径和文件名。
  5. “完成证书导出向导”中,选择“ 完成”。

创建租户

Service Provider Foundation 不会创建用户角色或定义其范围 (,例如云) 、资源或操作。 相反, New-SCSPFTenantUserRole cmdlet 会为具有用户角色名称的租户创建关联。 创建该关联时,它还会生成一个 ID,该 ID 可用于在 System Center 2016 - Virtual Machine Manager 中创建角色的相应 ID。

还可以根据开发人员指南使用 管理员 OData 协议服务创建用户角色。

  1. 以管理员身份运行 SPF 命令 shell。

  2. 输入以下命令以创建租户。 此命令假定 $key 变量包含公钥。

    PS C:\> $tenant = New-SCSPFTenant -Name "contoso.cloudspace.com" -IssuerName "contoso.cloudspace.com" -Key $key  
    
  3. 运行以下命令,验证是否已成功导入租户的公钥:

    PS C:\> Get-SCSPFTrustedIssuer  
    

    下一过程使用 $tenant 创建的 变量。

在 VMM 中创建租户管理员角色

  1. 输入以下命令并针对 Windows PowerShell 命令行界面同意此提升:

    PS C:\> Set-Executionpolicy remotesigned  
    
  2. 输入以下命令以导入 VMM 模块:

    PS C:\> Import-Module virtualmachinemanager  
    
  3. 使用 Windows PowerShell T:Microsoft.SystemCenter.VirtualMachineManager.Cmdlets.New\-SCUserRole cmdlet 创建用户角色。 此命令假定如 $tenant 上述过程中所述创建的变量。

    PS C:\> $TARole = New-SCUserRole -Name contoso.cloudspace.com -ID $tenant.Id -UserRoleProfile TenantAdmin  
    
    

    注意

    请注意,如果用户角色以前是使用 VMM 管理控制台创建的,则其权限将被 cmdlet 指定的 New\-SCSUserRole 权限覆盖。

  4. 验证是否已创建用户角色,方法是验证是否已在 VMM 管理控制台的“设置”工作区中的“用户角色”中列出。

  5. 通过选择角色并在工具栏上选择 “属性” ,为角色定义以下内容:

    • “作用域”上,选择一个或多个云。

    • “资源”上,添加任何资源,例如模板。

    • “操作”上,选择一个或多个操作。

    对分配给租户每台服务器重复此过程。

    下一过程使用 $TARole 创建的 变量。

在 VMM 中创建租户自助服务用户角色

  1. 输入以下命令,在 SPF 中为创建的租户创建自助服务用户:

    PS C:\> $TenantSSU = New-SCSPFTenantUserRole -Name ContosoCloudSpaceSSU -Tenant $tenant   
    
  2. 输入以下命令,在 VMM 中创建相应的租户用户角色:

    PS C:\> $vmmSSU = New-SCUserRole -Name ContosoCloudSpaceVMMSSU -UserRoleProfile SelfServiceUser -ParentUserRole $TARole -ID $TenantSSU.ID  
    
    
  3. 验证是否已创建用户角色,方法是验证是否已在 VMM 管理控制台的“设置”工作区中的“用户角色”中列出。 请注意,角色的父项为租户管理员。

根据需要为每个租户重复此过程。