上传 S3 证书

S3 TLS 需要证书来加密 流量,并防止 ( )攻击。S3 Man in the MiddleMITM 您可以通过上传证书文件,使用用户界面(UI)、命令行界面(CLI)或API来添加新的 S3 SSL 证书,或修改现有证书。

在更新或替换证书文件之前,需要使用用户界面、CLI 或 API 上传以下内容。

  • 服务器端证书(在 SAN 中包含网站的 S3 终端 FQDN)
  • 任何中间 CA 证书
  • CA(根)证书(用于全链)

对于安全流量,S3 客户端必须使用相应的CA证书。

使用用户界面上传 S3 证书

要上传 S3 证书,请按照以下步骤操作。

  1. IBM Cloud 控制台外部链接图标中,访问您的部署,然后进入设置

  2. 点击“上传证书”。

    请确保文件包含根证书、服务器证书和服务器密钥。 允许的最大文件大小为20kb,且仅支持 .pem 文件类型。

  3. 点击 “上传” 从您的电脑中选择证书。

  4. 点击 “保存” 上传文件。

从 CLI 上传 S3 证书

使用 cert-update 命令更新或替换现有的 SSL Certificates。 您必须包含参数 --cert CERT 以指定要使用的证书类型,以及 --body BODY 以指定包含 TLS 证书的、扩展名为 .pem 的文件名。

运行以下命令以上传证书。

ibmcloud software-defined-storage cert-update --cert-type CERT-TYPE --body BODY --url string

请参阅以下示例。

ibmcloud sds cert-update --cert-type s3 --body file-name.pem --url $sds_endpoint
...
Name               s3
ValidCertificate   true
ValidKey           true
Trace              75cacd10-7918-44c0-9914-1723ebf74ee1

$sds_endpoint 是一个环境变量,指向 IBM Storage Ceph as a Service 配置时提供的端点。 它以 URL 的形式存在。 例如,https://sds-cephaas.<cephaas-instance-id>.software-defined-storage.appdomain.cloud:{port number}/v1。 您可以将 URL 设置一次,以后就不必在每个命令中添加它。 有关如何设置 URL 的指南,请参阅 配置命令

在CLI操作中,您也可以使用别名 sds 来代替 software-defined-storage,使用别名 crtu 来代替 cert-update

使用应用程序接口上传 S3 证书

PUT /certificates/{cert_type} 发送请求,以替换 S3 SSL Certificates 中的文件;如果该文件不存在,请上传一个符合 PEM 格式的新文件。

请确保您上传的替换文件带有服务器端证书和密钥。

curl -X PUT $sds_endpoint/certificates/s3 \
  -H "accept: application/json" \
  -H "Authorization: Bearer $IAM_TOKEN"
  -H "Content-Type: text/plain" \
  -H "IBM-API-Version: 2025-02-01" \
  --data-binary "@<filename>.pem"

当系统中已有证书时,响应示例如下:

curl -X PUT $sds_endpoint/certificates/s3 --data-binary "@both.pem" -H 'accept: application/json'  -H "Authorization: Bearer $IAM_TOKEN" -H 'IBM-API-Version: 2025-02-01'
...
{
  "name": "s3",
  "valid_certificate": true,
  "valid_key": true,
  "trace": "0d40c604-13f7-4181-be4b-b7621ed4d453",
  "errors": null
}

$sds_endpoint 是一个环境变量,指向 IBM Storage Ceph as a Service 配置时提供的端点。 它以 URL 的形式存在。 例如,https://sds-cephaas.<cephaas-instance-id>.software-defined-storage.appdomain.cloud:{port number}/v1。 您可以将 URL 设置一次,以后就不必在每个命令中添加它。 有关如何设置 URL 的指南,请参阅 配置命令

请参阅 《 设置CLI和API环境 》,了解如何设置 $IAM_TOKEN 变量的说明。

后续步骤

您可以使用 AWS CLI创建和管理存储桶和对象。 如需指导,请参阅 使用 AWS CLI