如果 VMware Identity Manager™ 已与 NSX-T Data Center 集成,或者如果您具有 LDAP 作为身份验证提供程序,则可以为用户或用户组分配角色。还可以向主体身份分配角色。

主体是组件或第三方应用程序,如 OpenStack 产品。通过主体身份,主体可以使用身份名称创建一个对象,并确保仅具有相同身份名称的实体可以修改或删除该对象。主体身份具有以下属性:
  • 名称
  • 节点 ID - 这可以是分配给主体身份的任何字母数字值
  • 证书
  • RBAC 角色,指明该主体的访问权限

具有企业管理员角色的用户(本地、远程或主体身份)可以修改或删除主体身份拥有的对象。不具有企业管理员角色的用户(本地、远程或主体身份)无法修改或删除主体身份拥有的受保护对象,但可以修改或删除不受保护对象。

如果主体身份用户的证书过期,您必须导入新证书,并进行 API 调用以更新主体身份用户的证书(请参见以下过程)。有关 NSX-T Data Center API 的详细信息,请参见位于 https://code.vmware.com/《NSX-T Data Center API 指南》

主体身份用户的证书必须满足以下要求:
  • 基于 SHA256。
  • RSA/DSA 消息算法的密钥大小为 2048 位或更高。
  • 它不能是根证书。

您可以使用 API 删除主体身份。但是,删除主体身份不会自动删除相应的证书。您必须手动删除证书。

删除主体身份及其证书的步骤如下:
  1. 获取要删除的主体身份的详细信息,并记下响应中的 certificate_id 值。

    GET /api/v1/trust-management/principal-identities/<principal-identity-id>

  2. 删除主体身份。

    DELETE /api/v1/trust-management/principal-identities/<principal-identity-id>

  3. 使用在步骤 1 中获取的 certificate_id 值删除证书。

    DELETE /api/v1/trust-management/certificates/<certificate_id>

对于 LDAP,您需要配置用户组到用户角色的映射信息;这些组与在 Active Directory (AD) 中指定的用户组相对应。要在 NSX-T Data Center 上向某个用户授予权限,请将该用户添加到 AD 中的相应映射组。

前提条件

您必须已配置身份验证提供程序:

过程

  1. 使用 admin 特权登录到 NSX Manager
  2. 选择系统 > 用户管理
  3. 要为用户分配角色,请选择添加 > vIDM 的角色分配
    1. 选择用户或用户组。
    2. 选择角色。
    3. 单击保存
  4. 要添加主体身份,请选择添加 > 主体身份和角色
    1. 输入主体身份的名称。
    2. 选择角色。
    3. 输入节点 ID。
    4. 输入 PEM 格式的证书。
    5. 单击保存
  5. 要添加 LDAP 的角色分配,请选择添加 > LDAP 的角色分配
    1. 选择一个域。
    2. 输入用户名称、登录 ID 或组名称的前几个字符以搜索 LDAP 目录,然后从显示的列表中选择一个用户或组。
    3. 选择角色。
    4. 单击保存
  6. 可选:如果使用 NSX Cloud,请登录到 CSM 设备而不是 NSX Manager,然后重复步骤 1 至 4。
  7. 如果主体身份的证书过期,请执行以下步骤。请勿使用此过程替换本地管理器全局管理器主体身份证书。相反,要替换证书,请参阅替换证书以了解详细信息。
    1. 导入新证书并记下证书的 ID。请参见导入自签名证书或 CA 签名证书
    2. 调用以下 API 以获取主体身份的 ID。
      GET https://<nsx-mgr>/api/v1/trust-management/principal-identities
    3. 调用以下 API 以更新主体身份的证书。您必须提供导入的证书的 ID 和主体身份用户的 ID。
      例如,
      POST https://<nsx-mgr>/api/v1/trust-management/principal-identities?action=update_certificate
      {
          "principal_identity_id": "ebd3032d-728e-44d4-9914-d4f81c9972cb",
          "certificate_id" : "abd3032d-728e-44d4-9914-d4f81c9972cc"
      }