Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

配置 REST API 的安全性

贡献者

您应查看为 REST API 实施的安全措施,并了解如何保护系统安全。

StorageGRID 如何为 REST API 提供安全性

您应了解 StorageGRID 系统如何为 REST API 实施安全性,身份验证和授权。

StorageGRID 使用以下安全措施。

  • 如果为负载平衡器端点配置了 HTTPS ,则客户端与负载平衡器服务的通信将使用 HTTPS 。

    配置负载平衡器端点时,可以选择启用 HTTP 。例如,您可能希望将 HTTP 用于测试或其他非生产目的。有关详细信息,请参见有关管理 StorageGRID 的说明。

  • 默认情况下, StorageGRID 使用 HTTPS 与存储节点进行客户端通信,并在网关节点上使用 CLB 服务。

    可以选择为这些连接启用 HTTP 。例如,您可能希望将 HTTP 用于测试或其他非生产目的。有关详细信息,请参见有关管理 StorageGRID 的说明。

    备注 CLB 服务已弃用。
  • StorageGRID 与客户端之间的通信使用 TLS 进行加密。

  • 无论将负载平衡器端点配置为接受 HTTP 或 HTTPS 连接,网格中的负载平衡器服务和存储节点之间的通信都会进行加密。

  • 客户端必须向 StorageGRID 提供 HTTP 身份验证标头,才能执行 REST API 操作。

安全证书和客户端应用程序

客户端可以连接到网关节点或管理节点上的负载平衡器服务,直接连接到存储节点或网关节点上已弃用的 CLB 服务。

在所有情况下,客户端应用程序都可以使用网格管理员上传的自定义服务器证书或 StorageGRID 系统生成的证书进行 TLS 连接:

  • 当客户端应用程序连接到负载平衡器服务时,它们会使用为用于建立连接的特定负载平衡器端点配置的证书来执行此操作。每个端点都有自己的证书,此证书可以是网格管理员上传的自定义服务器证书,也可以是网格管理员在配置端点时在 StorageGRID 中生成的证书。

  • 当客户端应用程序直接连接到存储节点或网关节点上的 CLB 服务时,它们会使用安装 StorageGRID 系统时为存储节点生成的系统生成的服务器证书(由系统证书颁发机构签名), 或网格管理员为网格提供的一个自定义服务器证书。

应将客户端配置为信任对用于建立 TLS 连接的任何证书签名的证书颁发机构。

有关配置负载平衡器端点的信息,请参见管理 StorageGRID 的说明,以及有关为直接连接到存储节点或网关节点上的 CLB 服务添加单个自定义服务器证书的说明。

摘要

下表显示了如何在 S3 和 Swift REST API 中实施安全问题:

Security 问题描述 实施 REST API

连接安全性

TLS

服务器身份验证

系统 CA 签名的 X.509 服务器证书或管理员提供的自定义服务器证书

客户端身份验证

  • S3 : S3 帐户(访问密钥 ID 和机密访问密钥)

  • Swift : Swift 帐户(用户名和密码)

客户端授权

  • S3 :存储分段所有权和所有适用的访问控制策略

  • Swift :管理员角色访问

相关信息

管理 StorageGRID

支持 TLS 库的哈希和加密算法

StorageGRID 系统支持一组有限的密码套件,客户端应用程序可在建立传输层安全( TLS )会话时使用这些密码套件。

支持的 TLS 版本

StorageGRID 支持 TLS 1.2 和 TLS 1.3 。

重要说明 不再支持 SSLv3 和 TLS 1.1 (或更早版本)。

支持的密码套件

TLS 版本 密码套件的 IANA 名称

1.2

tls_ECDHE_RSA_WIT_AES_256_GCM_SHA384

tls_ECDHE_RSA_WIT_CHACHA20_POLY1305_SHA256

tls_ECDHE_RSA_WIT_AES_128_GCM_SHA256

1.3

tls_aes_256_gcm_SHA384

tls_chacHA20_POLY1305_SHA256

tls_aes_128_gcm_SHA256

已弃用密码套件

以下密码套件已弃用。未来版本将删除对这些密码的支持。

IANA 名称

tls_rsa_and_aes_128_gcm_SHA256

tls_rsa_and_aes_256_gcm_SHA384