4.4. 配置 Ansible-Galaxy CLI 以验证集合


您可以配置 Ansible-Galaxy CLI 来验证集合。这样可确保您下载的集合可由您的机构批准,在上传到自动化中心后没有更改。

如果某个集合由自动化中心签名,服务器会提供 ASCII armored,GPG-detached 签名在使用它验证集合的内容前验证 MANIFEST.json 的真实性。您必须通过为 ansible-galaxy 配置密钥环或使用 --keyring 选项提供路径来选择签名验证。

前提条件

  • 签名的集合在自动化中心中可用于验证签名。
  • 认证的集合可以由机构中的批准角色签名。
  • 验证的公钥已添加到本地系统密钥环中。

流程

  1. 要将公钥导入到用于 ansible-galaxy 的非默认密钥环中,请运行以下命令:

    gpg --import --no-default-keyring --keyring ~/.ansible/pubring.kbx my-public-key.asc
    注意

    除了自动化中心提供的任何签名外,也可在要求文件和命令行中提供签名源。签名源应当是 URI。

  2. 使用 --signature 选项验证 CLI 上提供的集合名称以及其他签名。

    ansible-galaxy collection install namespace.collection
    --signature https://examplehost.com/detached_signature.asc
    --signature file:///path/to/local/detached_signature.asc --keyring ~/.ansible/pubring.kbx

    您可以多次使用这个选项提供多个签名。

  3. 确认要求文件中的集合在集合的签名密钥后列出任何其他签名源,如下例所示。

    # requirements.yml
    collections:
      - name: ns.coll
        version: 1.0.0
        signatures:
          - https://examplehost.com/detached_signature.asc
          - file:///path/to/local/detached_signature.asc
    
    ansible-galaxy collection verify -r requirements.yml --keyring ~/.ansible/pubring.kbx

    当您从自动化中心安装集合时,服务器提供的签名会与安装的集合一起保存,以验证集合的真实性。

  4. (可选)如果您需要在不查询 Ansible Galaxy 服务器的情况下再次验证集合的内部一致性,请使用 --off 命令行选项运行之前使用的相同命令
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.