第 84 章 管理 IdM 服务 secret:存储和检索 secret


本节介绍管理员可以如何使用 ansible-freeipa vault 模块安全地将服务 secret 存储在集中式位置。示例中使用的 vault 是非对称的,这意味着要使用它,管理员需要执行以下步骤:

  1. 使用 openssl 实用程序生成私钥。
  2. 根据私钥生成公钥。

当管理员将服务 secret 归档到密码库时,会用公钥对其进行加密。之后,托管在域中特定计算机上的服务实例使用私钥检索该 secret。只有服务和管理员可以访问该 secret。

如果该机密泄露,管理员可以在服务 vault 中替换它,然后将它重新分发到尚未遭入侵的服务实例。

先决条件

本节包括以下步骤

使用的术语

在流程中:

  • admin 是管理服务密码的管理员。
  • private-key-to-an-externally-certificate.pem 是包含服务 secret 的文件,本例中为外部签名证书的私钥。请勿将此私钥与用于从密码库检索机密的私钥混淆。
  • secret_vault 是为服务创建的库。
  • HTTP/webserver.idm.example.com 是正在存档其机密的服务。
  • service-public.pem 是用于加密 password_vault 中存储的密码的服务公钥。
  • service-private.pem 是用于解密 secret_vault 中存储的密码的服务私钥。

84.1. 在非对称库中存储 IdM 服务 secret

按照以下流程创建非对称 vault,并使用它来归档服务 secret。

先决条件

  • 您知道 IdM 管理员密码。

流程

  1. 以管理员身份登录:

    $ kinit admin
  2. 获取服务实例的公钥。例如,使用 openssl 工具:

    1. 生成 service-private.pem 私钥。

      $ openssl genrsa -out service-private.pem 2048
      Generating RSA private key, 2048 bit long modulus
      .+++
      ...........................................+++
      e is 65537 (0x10001)
    2. 根据私钥生成 service-public.pem 公钥。

      $ openssl rsa -in service-private.pem -out service-public.pem -pubout
      writing RSA key
  3. 创建一个非对称密码库作为服务实例库,并提供公钥:

    $ ipa vault-add secret_vault --service HTTP/webserver.idm.example.com --type asymmetric --public-key-file service-public.pem
    ----------------------------
    Added vault "secret_vault"
    ----------------------------
    Vault name: secret_vault
    Type: asymmetric
    Public key: LS0tLS1C...S0tLS0tCg==
    Owner users: admin
    Vault service: HTTP/webserver.idm.example.com@IDM.EXAMPLE.COM

    存档到密码库中的密码将通过 密钥进行保护。

  4. 将服务 secret 归档到服务库中:

    $ ipa vault-archive secret_vault --service HTTP/webserver.idm.example.com --in private-key-to-an-externally-signed-certificate.pem
    -----------------------------------
    Archived data into vault "secret_vault"
    -----------------------------------

    这将使用服务实例公钥加密机密。

对需要机密的每个服务实例重复这些步骤。为每个服务实例创建一个新的非对称库。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.