注意

本文档适用于 Ceph 的开发版本。

RGW 支持多因素身份验证

Mimic 版本中的新功能。

S3 多因素身份验证 (MFA) 功能允许用户在删除特定存储桶中的对象时要求使用一次性密码。存储桶需要配置版本控制并启用 MFA,这可以通过 S3 API 完成。

可以通过 radosgw-admin 为用户分配基于时间的一次性密码令牌。每个令牌都有一个秘密种子和一个分配给它的序列 ID。令牌可以添加到用户、可以列出、删除,也可以重新同步。

多站点

虽然 MFA ID 设置在用户的元数据中,但实际的 MFA 一次性密码配置位于本地区域的 OSD 中。因此,在多站点环境中,建议为不同的区域使用不同的令牌。

术语

-TOTP: 基于时间的一次性密码 (Time-based One Time Password)

-token serial: 表示 TOTP 令牌 ID 的字符串

-token seed: 用于计算 TOTP 的秘密种子

-totp seconds: 用于 TOTP 生成的时间分辨率

-totp window: 验证令牌时在当前令牌之前和之后检查的 TOTP 令牌数量

-totp pin: TOTP 令牌在特定时间的有效值

管理命令

创建新的 MFA TOTP 令牌

# radosgw-admin mfa create --uid=<user-id> \
                           --totp-serial=<serial> \
                           --totp-seed=<seed> \
                           [ --totp-seed-type=<hex|base32> ] \
                           [ --totp-seconds=<num-seconds> ] \
                           [ --totp-window=<twindow> ]

列出 MFA TOTP 令牌

# radosgw-admin mfa list --uid=<user-id>

显示 MFA TOTP 令牌

# radosgw-admin mfa get --uid=<user-id> --totp-serial=<serial>

删除 MFA TOTP 令牌

# radosgw-admin mfa remove --uid=<user-id> --totp-serial=<serial>

检查 MFA TOTP 令牌

测试 TOTP 令牌密码,用于验证 TOTP 功能是否正常。

# radosgw-admin mfa check --uid=<user-id> --totp-serial=<serial> \
                          --totp-pin=<pin>

重新同步 MFA TOTP 令牌

用于重新同步 TOTP 令牌(以防时间偏差)。这需要输入两个连续的密码:前一个密码和当前密码。

# radosgw-admin mfa resync --uid=<user-id> --totp-serial=<serial> \
                           --totp-pin=<prev-pin> --totp=pin=<current-pin>

由 Ceph 基金会为您呈现

Ceph 文档是由非营利性 Ceph 基金会 资助和托管的社区资源。如果您希望支持这项工作和我们的其他努力,请考虑 立即加入