第 4 章 API 调用身份验证
与 Satellite API 交互需要与 Satellite 服务器 CA 证书进行 SSL 身份验证,并使用有效的 Satellite 用户凭据进行身份验证。您可以使用以下身份验证方法。
4.1. SSL 身份验证概述
Red Hat Satellite 使用 HTTPS,在与 Satellite 服务器通信时提供一定程度的加密和身份验证。Satellite 6.16 不支持非 SSL 通信。
默认情况下,Satellite 服务器使用自签名证书。此证书同时充当服务器证书,以验证加密密钥和证书颁发机构(CA)以信任 Satellite 服务器的身份。
您可以将 Satellite 服务器配置为使用自定义 SSL 证书。如需更多信息,请参阅在连接的网络环境中安装 Satellite 服务器 中的 使用自定义 SSL 证书配置 Satellite 服务器。有关断开连接的 Satellite 服务器的更多信息,请参阅 在断开连接的网络环境中安装 Satellite 服务器 中的 使用自定义 SSL 证书配置 Satellite 服务器。
4.1.1. 配置 SSL 身份验证
为向 Satellite 服务器的 API 请求配置 SSL 身份验证。
流程
使用以下选项之一从 Satellite 服务器获取证书:
如果您计划从远程服务器调用 API,请下载 CA 证书:
# curl -o /etc/pki/ca-trust/source/anchors/satellite.example.com-katello-server-ca.crt \ http://satellite.example.com/pub/katello-server-ca.crt
如果您计划直接在 Satellite 服务器上调用 API,请将证书复制到
/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
将证书添加到可信 CA 列表中:
$ update-ca-trust extract
验证
输入没有 a-
cacert
选项的 API 请求来验证您的客户端是否信任 Satellite SSL 证书:$ curl --request GET \ --user My_User_Name:My_Password \ https://satellite.example.com/api/v2/hosts