第 3 章 API 调用身份验证

与 Satellite API 交互需要与卫星服务器 CA 证书进行 SSL 身份验证,并与有效的 Satellite 用户凭证进行身份验证。本章概述了可以使用的验证方法。

3.1. SSL 身份验证概述

Red Hat Satellite 使用 HTTPS,在与 Red Hat Satellite Server 通信时提供一定程度的加密和身份验证。Satellite 6.12 不支持非 SSL 通信。

每个红帽卫星服务器都使用自签名证书。此证书同时充当服务器证书,以验证加密密钥和证书颁发机构(CA)以信任卫星服务器的身份。

3.1.1. 配置 SSL 身份验证

使用以下步骤为 API 请求配置到卫星服务器的 SSL 身份验证。

流程

  1. 从卫星服务器获取您要使用以下选项之一进行通信的证书:

    • 如果您从远程服务器执行命令,请使用 SSH 获取证书:

      $ scp root@satellite.example.com:/var/www/html/pub/katello-server-ca.crt /etc/pki/ca-trust/source/anchors/satellite.example.com-katello-server-ca.crt
    • 如果您直接在 Satellite 服务器上执行命令,请将证书复制到 /etc/pki/ca-trust/source/anchors 目录中:

      $ cp /var/www/html/pub/katello-server-ca.crt /etc/pki/ca-trust/source/anchors/satellite.example.com-katello-server-ca.crt
  2. 将证书添加到可信 CA 列表中:

    update-ca-trust extract

验证

  • 输入没有 --cacert 选项的 API 请求来验证 NSS 数据库中是否存在证书:

    $ curl --request GET \
    --user sat_username:sat_password \
    https://satellite.example.com/api/v2/hosts