第 4 章 IdM API 示例场景


以下示例为您提供了使用 IdM API 命令的常见场景。

4.1. 使用 IdM API 命令管理用户

以下示例显示了如何使用 IdM API 命令管理 IdM 用户的常见场景。

使用 IdM API 命令管理 IdM 用户的示例

创建 IdM 用户

在本例中,您可以使用用户名 exampleuser 和支持的用户 一次性密码(OTP) 身份验证创建一个 IdM 用户。

api.Command.user_add("exampleuser", givenname="Example", sn="User", ipauserauthtype="otp")
显示 IdM 用户信息

在本例中,您显示有关 IdM 用户 exampleuser 的所有可用信息。

api.Command.user_show("exampleuser", all=True)
修改 IdM 用户

在本例中,您将更改 IdM 用户 exampleuser 的电子邮件地址。

api.Command.user_mod("exampleuser", mail="exampleuser@example.org")
搜索 IdM 用户

在本例中,您将搜索与 IdM 组 adminsexampleuser 匹配的所有 IdM 用户。

api.Command.user_find(criteria="exampleuser", in_group="admins")
删除 IdM 用户

在本例中,您将删除 IdM 用户 exampleuser

api.Command.user_del("exampleuser")

要在以后恢复用户,请使用 preserve 选项。如果使用这个选项,您可以使用 user_undel 命令恢复用户。

为 IdM 用户添加和删除证书

您可以使用 user_add_certuser_remove_cert 命令为用户添加或删除 Base64 编码的 证书。在本例中,您为用户 exampleuser 添加了一个证书。

args = ["exampleuser"]
kw = {
    "usercertificate": """
      MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEC
      hMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NT
      laMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0
      GCSqGSIb3DQEBATOPA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve
      8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZ
      bdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNME
      sGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ
      2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8w
      HQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+za
      j1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiMD6oYq+ZnfvM0n8G/Y79q8nhwvu
      xpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWA
      Gy6Vf1nYi/rO+ryMO
    """
}

api.Command.user_add_cert(*args, **kw)
启用和禁用 IdM 用户

您可以使用 user_enableuser_disable 命令启用或禁用 IdM 用户。在本例中,您禁用了 IdM 用户 exampleuser

api.Command.user_disable("exampleuser")
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.