第 4 章 在私有自动化中心中的集合和内容签名


作为机构的自动化管理员,您可以配置私有自动化中心,以根据机构中的不同组签名和发布 Ansible 内容集合。

为提高安全性,自动化创建者可以配置 Ansible-Galaxy CLI 以验证这些集合,确保在上传到自动化中心后不会更改它们。

4.1. 在私有自动化 hub 中配置内容签名

要成功签名并发布 Ansible 认证的内容集合,您必须配置私有自动化中心进行签名。

前提条件

  • 您的 TIPC 密钥对已安全设置并管理您的机构。
  • 您的公钥/私钥对有权在私有自动化中心上配置内容签名。

流程

  1. 创建只接受文件名的签名脚本。

    注意

    此脚本充当签名服务,必须使用通过 PULP_SIGNING_KEY_FINGERPRINT 环境变量指定的密钥为该文件生成 ascii-armored 分离 gpg 签名。

    然后,该脚本会输出一个 JSON 结构,其格式如下:

    {"file": "filename", "signature": "filename.asc"}

    所有文件名都是当前工作目录中的相对路径。对于分离的签名,文件名必须保持相同,如下所示。

    以下示例显示了为内容生成签名的脚本:

    #!/usr/bin/env bash
    
    FILE_PATH=$1
    SIGNATURE_PATH="$1.asc"
    
    ADMIN_ID="$PULP_SIGNING_KEY_FINGERPRINT"
    PASSWORD="password"
    
    # Create a detached signature
    gpg --quiet --batch --pinentry-mode loopback --yes --passphrase \
       $PASSWORD --homedir ~/.gnupg/ --detach-sign --default-key $ADMIN_ID \
       --armor --output $SIGNATURE_PATH $FILE_PATH
    
    # Check the exit status
    STATUS=$?
    if [ $STATUS -eq 0 ]; then
       echo {\"file\": \"$FILE_PATH\", \"signature\": \"$SIGNATURE_PATH\"}
    else
       exit $STATUS
    fi

    部署私有自动化中心后,向 Ansible Automation Platform 集群启用签名后,新的 UI 会在与集合交互时显示。

  2. 查看 Ansible Automation Platform 安装程序清单文件中的以 automationhub_* 开头的选项。

    [all:vars]
    .
    .
    .
    automationhub_create_default_collection_signing_service = True
    automationhub_auto_sign_collections = True
    automationhub_require_content_approval = True
    automationhub_collection_signing_service_key = /abs/path/to/galaxy_signing_service.gpg
    automationhub_collection_signing_service_script = /abs/path/to/collection_signing.sh

    两个新密钥(automationhub_auto_sign_collectionsautomationhub_require_content_approval)表示必须签名集合,并在上传到私有自动化中心后需要批准。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.