8.5. Ceph 对象网关和多因素身份验证


作为存储管理员,您可以管理 Ceph 对象网关用户的一次性密码(TOTP)令牌。

8.5.1. 多因素身份验证

当为对象版本控制配置 bucket 时,开发人员可以选择性地将存储桶配置为需要多因素身份验证(MFA)来删除请求。使用 MFA 时,基于时间的一次性密码(TOTP)令牌作为密钥传递给 x-amz-mfa 标头。令牌生成有虚拟 MFA 设备(如 Google Authenticator)或硬件 MFA 设备,如 Gemalto 提供的硬件 MFA 设备。

使用 adosgw-admin 为用户分配基于时间的一次性密码令牌。您必须设置一个 secret seed 和一个串行 ID。您还可以使用 adosgw-admin 列出、删除和重新同步令牌。

重要

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

表 8.1. 术语
术语描述

TOTP

基于时间的一次性密码.

Token serial

代表 TOTP 令牌 ID 的字符串。

Token seed

用于计算 TOTP 的 secret。它可以是十六进制或 base32。

TOTP seconds

用于 TOTP 生成的时间解析。

TOTP window

验证令牌时在当前令牌前后检查的 TOTP 令牌数量。

TOTP pin

TOTP 令牌在特定时间的有效值。

8.5.2. 创建用于多因素验证的 seed

要设置多因素身份验证(MFA),您必须创建一个看到的 secret,供一次性密码生成器和后端 MFA 系统使用。

先决条件

  • Linux 系统。
  • 访问命令行 shell.

流程

  1. urandom Linux 设备文件中生成 30 个字符,并将其存储在 shell 变量 SEED 中:

    示例

    [user@host01 ~]$ SEED=$(head -10 /dev/urandom | sha512sum | cut -b 1-30)

  2. 通过在 SEED 变量中运行 echo 来打印 seed:

    示例

    [user@host01 ~]$ echo $SEED
    492dedb20cf51d1405ef6a1316017e

    将一次性密码生成器和后端 MFA 系统配置为使用相同的 seed。

其它资源

8.5.3. 创建新的多因素身份验证 TOTP 令牌

创建一个新的多因素身份验证(MFA)时间密码(TOTP)令牌。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 已安装 Ceph 对象网关。
  • 在 Ceph 监控节点上具有 root 访问权限。
  • 生成了用于一次性密码生成器和 Ceph 对象网关 MFA 的 secret。

流程

  • 创建新的 MFA TOTP 令牌:

    语法

    radosgw-admin mfa create --uid=USERID --totp-serial=SERIAL --totp-seed=SEED --totp-seed-type=SEED_TYPE --totp-seconds=TOTP_SECONDS --totp-window=TOTP_WINDOW

    USERID 设置为设置 MFA 的用户名,将 SERIAL 设置为代表 TOTP 令牌 ID 的字符串,并将 SEED 设置为用于计算 TOTP 的十六进制或 base32 值。以下设置是可选的:将 SEED_TYPE 设置为 hexbase32,将 TOTP_SECONDS 设置为超时,或者将 TOTP_WINDOW 设置为验证令牌时要检查的 TOTP 令牌数量。

    示例

    [root@host01 ~]# radosgw-admin mfa create --uid=johndoe --totp-serial=MFAtest --totp-seed=492dedb20cf51d1405ef6a1316017e

其它资源

8.5.4. 测试多因素身份验证 TOTP 令牌

测试基于多因素身份验证(MFA)时间的一次性密码(TOTP)令牌。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 已安装 Ceph 对象网关。
  • 在 Ceph 监控节点上具有 root 访问权限。
  • 使用 radosgw-admin mfa create 创建 MFA TOTP 令牌。

流程

  • 测试 TOTP 令牌 PIN 以验证 TOTP 是否正常工作:

    语法

    radosgw-admin mfa check --uid=USERID --totp-serial=SERIAL --totp-pin=PIN

    USERID 设置为设置 MFA 的用户名称,将 SERIAL 设置为代表 TOTP 令牌 ID 的字符串,然后将 PIN 设置为一次性密码生成器中的最新 PIN。

    示例

    [root@host01 ~]# radosgw-admin mfa check  --uid=johndoe --totp-serial=MFAtest --totp-pin=870305
    ok

    如果您是第一次测试 PIN,则可能会失败。如果失败,请重新同步令牌。请参阅 Red Hat Ceph Storage 对象网关配置和管理指南 中的 重新同步多因素身份验证令牌

其它资源

8.5.5. 重新同步多因素身份验证 TOTP 令牌

重新同步多因素验证(MFA)基于时间的一次性密码令牌。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 已安装 Ceph 对象网关。
  • 在 Ceph 监控节点上具有 root 访问权限。
  • 使用 radosgw-admin mfa create 创建 MFA TOTP 令牌。

流程

  1. 在时间偏移或检查失败时,重新同步多因素验证 TOTP 令牌。

    这需要连续两个 pin:前一个 pin 和当前的 pin。

    语法

    radosgw-admin mfa resync --uid=USERID --totp-serial=SERIAL --totp-pin=PREVIOUS_PIN --totp=pin=CURRENT_PIN

    USERID 设置为设置 MFA 的用户名,将 SERIAL 设置为代表 TOTP 令牌 ID 的字符串,将 PREVIOUS_PIN 设置为用户的先前 PIN,并将 CURRENT_PIN 设置为用户的当前 PIN。

    示例

    [root@host01 ~]# radosgw-admin mfa resync --uid=johndoe --totp-serial=MFAtest --totp-pin=802021 --totp-pin=439996

  2. 通过测试新 PIN 验证令牌是否已重新同步:

    语法

    radosgw-admin mfa check --uid=USERID --totp-serial=SERIAL --totp-pin=PIN

    USERID 设置为设置 MFA 的用户名称,将 SERIAL 设置为代表 TOTP 令牌 ID 的字符串,并将 PIN 设置为用户的 PIN。

    示例

    [root@host01 ~]# radosgw-admin mfa check  --uid=johndoe --totp-serial=MFAtest --totp-pin=870305
    ok

其它资源

8.5.6. 列出多因素身份验证 TOTP 令牌

列出特定用户拥有的所有基于多因素身份验证(MFA)时间的一次性密码(TOTP)令牌。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 已安装 Ceph 对象网关。
  • 在 Ceph 监控节点上具有 root 访问权限。
  • 使用 radosgw-admin mfa create 创建 MFA TOTP 令牌。

流程

  • 列出 MFA TOTP 令牌:

    语法

    radosgw-admin mfa list --uid=USERID

    USERID 设置为设置 MFA 的用户名称。

    示例

    [root@host01 ~]# radosgw-admin mfa list --uid=johndoe
    {
        "entries": [
            {
                "type": 2,
                "id": "MFAtest",
                "seed": "492dedb20cf51d1405ef6a1316017e",
                "seed_type": "hex",
                "time_ofs": 0,
                "step_size": 30,
                "window": 2
            }
        ]
    }

其它资源

8.5.7. 显示多因素身份验证 TOTP 令牌

通过指定串行,显示基于特定多因素验证(MFA)时间的一次性密码(TOTP)令牌。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 已安装 Ceph 对象网关。
  • 在 Ceph 监控节点上具有 root 访问权限。
  • 使用 radosgw-admin mfa create 创建 MFA TOTP 令牌。

流程

  • 显示 MFA TOTP 令牌:

    语法

    radosgw-admin mfa get --uid=USERID --totp-serial=SERIAL

    USERID 设置为设置 MFA 的用户名,并将 SERIAL 设置为代表 TOTP 令牌 ID 的字符串。

其它资源

8.5.8. 删除多因素身份验证 TOTP 令牌

删除基于多因素身份验证(MFA)时间的一次性密码(TOTP)令牌。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 已安装 Ceph 对象网关。
  • 在 Ceph 监控节点上具有 root 访问权限。
  • 使用 radosgw-admin mfa create 创建 MFA TOTP 令牌。

流程

  1. 删除 MFA TOTP 令牌:

    语法

    radosgw-admin mfa remove --uid=USERID --totp-serial=SERIAL

    USERID 设置为设置 MFA 的用户名,并将 SERIAL 设置为代表 TOTP 令牌 ID 的字符串。

    示例

    [root@host01 ~]# radosgw-admin mfa remove --uid=johndoe --totp-serial=MFAtest

  2. 验证 MFA TOTP 令牌是否已删除:

    语法

    radosgw-admin mfa get --uid=USERID --totp-serial=SERIAL

    USERID 设置为设置 MFA 的用户名,并将 SERIAL 设置为代表 TOTP 令牌 ID 的字符串。

    示例

    [root@host01 ~]# radosgw-admin mfa get --uid=johndoe --totp-serial=MFAtest
    MFA serial id not found

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.