4.4. 配置 Ansible-Galaxy CLI 以验证集合
您可以配置 Ansible-Galaxy CLI 来验证集合。这样可确保您下载的集合可由您的机构批准,在上传到自动化中心后没有更改。
如果某个集合由自动化中心签名,服务器会提供 ASCII armored,GPG-detached 签名在使用它验证集合的内容前验证 MANIFEST.json
的真实性。您必须通过为 ansible-galaxy
配置密钥环或使用 --keyring
选项提供路径来选择签名验证。
前提条件
- 签名的集合在自动化中心中可用于验证签名。
- 认证的集合可以由机构中的批准角色签名。
- 验证的公钥已添加到本地系统密钥环中。
流程
要将公钥导入到用于
ansible-galaxy
的非默认密钥环中,请运行以下命令:gpg --import --no-default-keyring --keyring ~/.ansible/pubring.kbx my-public-key.asc
注意除了自动化中心提供的任何签名外,也可在要求文件和命令行中提供签名源。签名源应当是 URI。
使用
--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
您可以多次使用这个选项提供多个签名。
确认要求文件中的集合在集合的签名密钥后列出任何其他签名源,如下例所示。
# 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
当您从自动化中心安装集合时,服务器提供的签名会与安装的集合一起保存,以验证集合的真实性。
-
(可选)如果您需要在不查询 Ansible Galaxy 服务器的情况下再次验证集合的内部一致性,请使用
--off 命令行选项运行之前使用的相同命令
。