第 3 章 API 调用身份验证


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

3.1. SSL 身份验证概述

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

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

3.1.1. 配置 SSL 身份验证

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

流程

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

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

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

      $ cp /var/www/html/pub/katello-server-ca.crt ./
  2. 将 API 请求与 --cacert katello-server-ca.crt 选项一起使用以验证卫星服务器的身份:

    $ curl --request GET \
    --user sat_username:sat_password \
    --header "Accept:application/json" \
    --cacert katello-server-ca.crt \
    https://satellite.example.com/katello/api/organizations \
    | python -m json.tool
  3. 创建网络安全服务(NSS)数据库来存储 katello-server-ca.crt 证书:

    $ certutil -N -d sql:$HOME/.pki/nssdb
  4. 永久包含 NSS 数据库中的证书:

    $ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "Red Hat Satellite" \
    -i katello-server-ca.crt
  5. 输入没有 --cacert 选项的 API 请求来验证 NSS 数据库中是否存在证书:

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

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.