第 6 章 使用签名的容器


6.1. 为容器签名部署您的系统

自动化中心实施镜像签名,以便为执行环境容器镜像提供更好的安全性。

要部署您的系统,使其准备好进行容器签名,请创建一个签名脚本。

注意

安装程序会在安装程序所在的同一服务器上查找脚本和密钥。

流程

  1. 在终端中,创建一个签名脚本,并将脚本路径作为安装程序参数传递。

    示例

    #!/usr/bin/env bash
    
    # pulp_container SigningService will pass the next 4 variables to the script.
    MANIFEST_PATH=$1
    FINGERPRINT="$PULP_SIGNING_KEY_FINGERPRINT"
    IMAGE_REFERENCE="$REFERENCE"
    SIGNATURE_PATH="$SIG_PATH"
    
    # Create container signature using skopeo
    skopeo standalone-sign \
      $MANIFEST_PATH \
      $IMAGE_REFERENCE \
      $FINGERPRINT \
      --output $SIGNATURE_PATH
    
    # Optionally pass the passphrase to the key if password protected.
    # --passphrase-file /path/to/key_password.txt
    
    # Check the exit status
    STATUS=$?
    if [ $STATUS -eq 0 ]; then
      echo {\"signature_path\": \"$SIGNATURE_PATH\"}
    else
      exit $STATUS
    fi
  2. 查看 Ansible Automation Platform 安装程序清单文件,了解以 automationhub -4.4 开头的容器签名选项。

    [all:vars]
    .
    .
    .
    
    automationhub_create_default_container_signing_service = True
    automationhub_container_signing_service_key = /absolute/path/to/key/to/sign
    automationhub_container_signing_service_script = /absolute/path/to/script/that/signs
  3. 安装完成后,进入您的自动化中心。
  4. 在导航面板中,选择 Signature Keys
  5. 确保有一个名为 container-defaultcontainer-anyname 的密钥。
注意

container-default 服务由 Ansible Automation Platform 安装程序创建的。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.