第 14 章 使用 TLS 证书用于应用程序来访问 RGW


大多数 S3 应用程序都需要 TLS 证书,如 Deployment 配置文件中包含的选项、作为请求中的文件传递,或者存储在 /etc/pki 路径中。

RADOS 对象网关 (RGW) 的 TLS 证书被存储为 Kubernetes 的 secret,您需要从 secret 中获取详细信息。

先决条件

正在运行的 OpenShift Data Foundation 集群。

流程

  • 对于内部 RGW 服务器

    • 从 kubernetes secret 获取 TLS 证书和密钥:

      $ oc get secrets/<secret_name> -o jsonpath='{.data..tls\.crt}' | base64 -d
      
      $ oc get secrets/<secret_name> -o jsonpath='{.data..tls\.key}' | base64 -d
      <secret_name>
      默认 kubernetes secret 的名称为 <objectstore_name>-cos-ceph-rgw-tls-cert。指定对象存储的名称。
  • 对于外部 RGW 服务器

    • 从 kubernetes secret 获取 TLS 证书:

      $ oc get secrets/<secret_name> -o jsonpath='{.data.cert}' | base64 -d
      <secret_name>
      默认 kubernetes secret 的名称为 ceph-rgw-tls-cert,它是一个不透明类型的 secret。用于存储 TLS 证书的键值是 cert

使用对象 Bucket 声明访问外部 RGW 服务器

S3 凭证(如 AccessKeySecret Key )存储在创建 Object Bucket Claim (OBC)生成的 secret 中,您可以使用以下命令获取相同的凭证:

# oc get secret <object bucket claim name> -o jsonpath='{.data.AWS_SECRET_ACCESS_KEY}' | base64 --decode
# oc get secret <object bucket claim name> -o jsonpath='{.data.AWS_ACCESS_KEY_ID}' | base64 --decode

同样,您可以从 OBC 的 configmap 获取端点详情:

# oc get cm <object bucket claim name> -o jsonpath='{.data.BUCKET_HOST}'
# oc get cm <object bucket claim name> -o jsonpath='{.data.BUCKET_PORT}'
# oc get cm <object bucket claim name> -o jsonpath='{.data.BUCKET_NAME}'

使用 Ceph 对象存储用户 CR 访问外部 RGW 服务器

您可以从作为 Ceph Object Store User CR 一部分生成的 secret 获取 S3 Credentials 和 endpoint 详情:

# oc get secret rook-ceph-object-user-<object-store-cr-name>-<object-user-cr-name> -o jsonpath='{.data.AccessKey}' | base64 --decode
# oc get secret rook-ceph-object-user-<object-store-cr-name>-<object-user-cr-name> -o jsonpath='{.data.SecretKey}' | base64 --decode
# oc get secret rook-ceph-object-user-<object-store-cr-name>-<object-user-cr-name> -o jsonpath='{.data.Endpoint}' | base64 --decode
重要

对于这两个访问机制,您可以从管理员请求新证书,或者重复使用 Kubernetes secret ceph-rgw-tls-cert 的证书。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部