8.4. HashiCorp Vault


作为存储管理员,您可以在 HashiCorp Vault 中安全地存储密钥、密码和证书,以用于 Ceph 对象网关。HashiCorp Vault 为 Ceph 对象网关使用的服务器端加密提供安全密钥管理服务。

Ceph Vault 集成图

基本工作流:

  1. 客户端根据对象的密钥 ID 从 Vault 请求创建 secret key。
  2. 客户端将带有对象的密钥 ID 的对象上传到 Ceph 对象网关。
  3. 然后,Ceph 对象网关从 Vault 请求新创建的机密密钥。
  4. Vault 通过将机密密钥返回到 Ceph 对象网关来回复请求。
  5. 现在,Ceph 对象网关可以使用新的机密密钥加密对象。
  6. 在加密完成后,对象存储在 Ceph OSD 上。
重要

红帽与我们的技术合作伙伴合作,将本文档作为为客户提供服务。但是,红帽不提供对这个产品的支持。如果您需要此产品的技术协助,请联系 Hashicorp 以获得支持。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 安装 Ceph 对象网关软件.
  • 安装 HashiCorp Vault 软件.

8.4.1. Vault 的 secret 引擎

HashiCorp Vault 提供多个机密引擎来生成、存储或加密数据。应用编程接口(API)向机密引擎发送数据调用,要求对该数据采取行动,机密引擎返回该操作请求的结果。

Ceph 对象网关支持两个 HashiCorp Vault secret 引擎:

  • Key/Value 版本 2
  • Transit
重要

机密引擎可以随时配置,但同时不支持引擎。

Key/Value 版本 2

Key/Value secret 引擎将随机 secret 存储在 Vault 中的磁盘上。使用 kv 引擎的版本 2,键可以具有可配置的版本数。默认版本数量为 10。删除版本不会删除底层数据,而是将数据标记为已删除,从而允许取消删除的版本。您可以使用 API 端点或 destroy 命令永久删除版本的数据。要删除密钥的所有版本和元数据,您可以使用 metadata 命令或 API 端点。键名称必须是字符串,在使用命令行界面时引擎会将非字符串值转换为字符串。要保留非字符串值,请提供 JSON 文件或使用 HTTP 应用编程接口(API)。

注意

对于访问控制列表(ACL)策略,Key/Value secret 引擎可识别 创建更新功能之间的区别。

Transit

Transit secret 引擎对传输中数据执行加密功能。Transit secret 引擎可以生成哈希值,可以是随机字节的来源,也可对数据进行签名和验证。在使用 Transit secret 引擎时,Vault 不会存储数据。Transit secret 引擎允许将同一密钥用于多个目的,从而支持密钥生成。此外,传输机密引擎支持密钥版本控制。Transit secret 引擎支持这些关键类型:

aes128-gcm96
带有 128 位 AES 密钥和 96 位非ce 的 AES-GCM;支持加密、解密、密钥派生和聚合加密
aes256-gcm96
带有 256 位 AES 密钥和 96 位非ce 的 AES-GCM;支持加密、解密、密钥生成和聚合加密(默认)
chacha20-poly1305
ChaCha20-Poly1305,带有 256 位密钥;支持加密、解密、密钥加密和聚合加密
ed25519
Ed25519; 支持签名、签名验证和密钥生成
ecdsa-p256
使用 curve P-256 的 ECDSA;支持签名和签名验证
ecdsa-p384
使用 curve P-384 的 ECDSA;支持签名和签名验证
ecdsa-p521
使用 curve P-521 的 ECDSA;支持签名和签名验证
rsa-2048
2048 位 RSA 密钥;支持加密、解密、签名和签名验证
rsa-3072
3072 位 RSA 密钥;支持加密、解密、签名和签名验证
rsa-4096
4096 位 RSA 密钥;支持加密、解密、签名和签名验证

其它资源

8.4.2. Vault 的身份验证

HashiCorp Vault 支持多种类型的身份验证机制。Ceph 对象网关目前支持 Vault 代理方法。Ceph 对象网关使用 rgw_crypt_vault_authrgw_crypt_vault_addr 选项来配置 HashiCorp Vault 的使用。

重要

红帽支持使用 Vault 代理作为容器的身份验证方法,容器上不支持使用令牌身份验证。

Vault 代理

Vault 代理是在客户端节点上运行的守护进程,提供客户端缓存以及令牌续订。Vault 代理通常在 Ceph 对象网关节点上运行。运行 Vault 代理并刷新令牌文件。在此模式中使用 Vault 代理时,您可以使用文件系统权限限制谁有权使用令牌。另外,Vault 代理也可以充当代理服务器,即 Vault 将在需要时添加令牌,并将其添加到传递给它的请求中,然后再将它们转发到实际服务器。Vault 代理仍然可以像在文件系统中存储令牌时一样处理令牌续订。需要保护 Ceph 对象网关用于连接 Vault 代理的网络,例如,Vault 代理仅侦听 localhost。

其它资源

  • 如需更多信息,请参阅 Vault 项目站点上的 Vault 代理 文档。

8.4.3. Vault 的命名空间

将 HashiCorp Vault 用作企业服务,可为组织内的团队可以使用的隔离命名空间提供集中管理。这些隔离的命名空间环境称为 租户,组织内的团队可以利用这些租户将其策略、机密和身份与其他团队隔离。Vault 的命名空间功能帮助支持单一基础架构内的安全多租户。

其它资源

8.4.4. 传递引擎兼容性支持

旧版 Ceph 的兼容性支持将 Transit 引擎用作简单的密钥存储。您可以使用 Transit 引擎中的 compat 选项来配置兼容性支持。您可以使用以下命令禁用之前的支持:

示例

[ceph: root@host03 /]# ceph config set client.rgw rgw_crypt_vault_secret_engine transit compat=0

注意

这是将来的版本的默认方法,您可以使用当前版本进行新的安装。

当前版本的正常默认设置为:

示例

[ceph: root@host03 /]# ceph config set client.rgw rgw_crypt_vault_secret_engine transit compat=1

这可实现新创建的对象的新引擎,仍允许将旧引擎用于旧对象。若要访问旧对象和新对象,Vault 令牌必须具有旧的和新传输策略。

您可以使用以下命令强制使用旧引擎:

示例

[ceph: root@host03 /]# ceph config set client.rgw rgw_crypt_vault_secret_engine transit compat=2

如果 Vault 以 export/encryption-key 结束,则默认选择此模式。

重要

在配置了 client.rgw 选项后,您需要重启 Ceph 对象网关守护进程,使新值生效。

其它资源

  • 如需更多信息,请参阅 Vault 项目站点上的 Vault 代理 文档。

8.4.5. 为 Vault 创建令牌策略

令牌策略指定所有 Vault 令牌的电源。一个令牌可以有多个策略。您应该在配置中使用所需的策略。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 安装 HashiCorp Vault 软件。
  • 对 HashiCorp Vault 节点的根级别访问权限。

流程

  1. 创建令牌策略:

    1. 对于 Key/Value secret 引擎:

      示例

      [root@vault ~]# vault policy write rgw-kv-policy -<<EOF
       path "secret/data/*" {
         capabilities = ["read"]
       }
      EOF

    2. 对于 Transit 引擎:

      示例

      [root@vault ~]# vault policy write rgw-transit-policy -<<EOF
        path "transit/keys/*" {
          capabilities = [ "create", "update" ]
          denied_parameters = {"exportable" = [], "allow_plaintext_backup" = [] }
        }
      
        path "transit/keys/*" {
          capabilities = ["read", "delete"]
        }
      
        path "transit/keys/" {
          capabilities = ["list"]
        }
      
        path "transit/keys/+/rotate" {
          capabilities = [ "update" ]
        }
      
        path "transit/*" {
          capabilities = [ "update" ]
        }
      EOF

      注意

      如果您在旧版本的 Ceph 上使用了 Transit secret 引擎,则令牌策略为:

      示例

      [root@vault ~]# vault policy write old-rgw-transit-policy -<<EOF
        path "transit/export/encryption-key/*" {
          capabilities = ["read"]
        }
      EOF

如果您使用 SSE-KMS 和 SSE-S3,您应该将每个指向单独的容器。您可以使用单独的 Vault 实例,或者在通用传输点下单独挂载实例或不同的分支。如果您不使用单独的 Vault 实例,您可以使用 rgw_crypt_vault_prefixrgw_crypt_sse_s3_vault_prefix 将 SSE-KMS 或 SSE-S3 指向 serparate 容器。向 SSE-KMS bucket 所有者授予 Vault 权限时,您不应该为它们授予 SSE-S3 密钥的权限;只有 Ceph 应该有权访问 SSE-S3 密钥。

8.4.6. 将 Ceph 对象网关配置为使用 SSE-KMS 和 Vault

要将 Ceph 对象网关配置为使用带 SSE-KMS 的 HashiCorp Vault 进行密钥管理,它必须设置为加密密钥存储。目前,Ceph 对象网关支持两种不同的机密引擎,以及两种不同的身份验证方法。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 安装 Ceph 对象网关软件.
  • Ceph 对象网关节点的根级别访问权限.

流程

  1. 使用 ceph config set client.rgw OPTION VALUE 命令启用 Vault 作为加密密钥存储:

    语法

    ceph config set client.rgw rgw_crypt_s3_kms_backend vault

  2. 添加以下选项和值:

    语法

    ceph config set client.rgw rgw_crypt_vault_auth agent
    ceph config set client.rgw rgw_crypt_vault_addr http://VAULT_SERVER:8100

  3. 根据用例自定义策略。
  4. 获取 role-id:

    语法

    vault read auth/approle/role/rgw-ap/role-id -format=json | \ jq -r .data.role_id > PATH_TO_FILE

  5. 获取 secret-id:

    语法

    vault read auth/approle/role/rgw-ap/role-id -format=json | \ jq -r .data.secret_id > PATH_TO_FILE

  6. 创建 Vault 代理的配置:

    示例

    pid_file = "/run/kv-vault-agent-pid"
    auto_auth {
      method "AppRole" {
        mount_path = "auth/approle"
        config = {
          role_id_file_path ="/root/vault_configs/kv-agent-role-id"
          secret_id_file_path ="/root/vault_configs/kv-agent-secret-id"
          remove_secret_id_file_after_reading ="false"
        }
      }
    }
    cache {
      use_auto_auth_token = true
    }
    listener "tcp" {
      address = "127.0.0.1:8100"
      tls_disable = true
    }
    vault {
      address = "http://10.8.128.9:8200"
    }

  7. 使用 systemctl 运行持久性守护进程:

    示例

    [root@host03 ~]# /usr/local/bin/vault agent -config=/usr/local/etc/vault/rgw-agent.hcl

  8. 当 Vault 代理运行时,令牌文件填充有效令牌。
  9. 选择 Vault 机密引擎,可以是 Key/Value 或 Transit。

    1. 如果使用 Key/Value,请添加以下行:

      示例

      [ceph: root@host03 /]# ceph config set client.rgw rgw_crypt_vault_secret_engine kv

    2. 如果使用 Transit,请添加以下行:

      示例

      [ceph: root@host03 /]# ceph config set client.rgw rgw_crypt_vault_secret_engine transit

  10. 使用 ceph config set client.rgw OPTION VALUE 命令将 Vault 命名空间设置为检索加密密钥:

    示例

    [ceph: root@host03 /]# ceph config set client.rgw rgw_crypt_vault_namespace testnamespace1

  11. 通过设置路径前缀来限制 Ceph 对象网关从 Vault 中检索加密密钥的位置:

    示例

    [ceph: root@host03 /]# ceph config set client.rgw rgw_crypt_vault_prefix /v1/secret/data

    1. 对于可导出的 Transit 键,请设置前缀路径,如下所示:

      示例

      [ceph: root@host03 /]# ceph config set client.rgw rgw_crypt_vault_prefix /v1/transit/export/encryption-key

      假设 Vault 服务器的域名是 vault-server,Ceph 对象网关将从以下 URL 获取加密传输密钥:

      示例

      http://vault-server:8200/v1/transit/export/encryption-key

  12. 重新启动 Ceph 对象网关守护进程。

    1. 在存储集群中的单个节点上重启 Ceph 对象网关:

      语法

      systemctl restart ceph-CLUSTER_ID@SERVICE_TYPE.ID.service

      示例

      [root@host03 ~]# systemctl restart ceph-c4b34c6f-8365-11ba-dc31-529020a7702d@rgw.realm.zone.host01.gwasto.service

    2. 在存储集群的所有节点上重启 Ceph 对象网关:

      语法

      ceph orch restart SERVICE_TYPE

      示例

      [ceph: root@host03 /]# ceph orch restart rgw

其它资源

  • 如需了解更多详细信息,请参阅 Red Hat Ceph Storage Object Gateway Guide 中的 Vault Secret engines 部分。
  • 如需了解更多详细信息,请参阅 Red Hat Ceph Storage 对象网关指南中的 Vault 身份验证 部分。

8.4.7. 将 Ceph 对象网关配置为使用 SSE-S3 和 Vault

要将 Ceph 对象网关配置为使用带有 SSE-S3 的 HashiCorp Vault 进行密钥管理,它必须设置为加密密钥存储。目前,Ceph 对象网关仅使用 代理 身份验证方法。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 安装 Ceph 对象网关软件.
  • Ceph 对象网关节点的根级别访问权限.

流程

  1. 登录到 Cephadm shell

    示例

    [root@host01 ~]# cephadm shell

  2. 启用 Vault 作为 secret 引擎以检索 SSE-S3 加密密钥:

    语法

    ceph config set client.rgw rgw_crypt_sse_s3_backend vault

  3. 要设置用于 SSE-S3 和 Vault 的验证方法,请配置以下设置:

    语法

    ceph config set client.rgw rgw_crypt_sse_s3_vault_auth agent
    ceph config set client.rgw rgw_crypt_sse_s3_vault_addr http://VAULT_AGENT:VAULT_AGENT_PORT

    示例

    [ceph: root@host01 ~]# ceph config set client.rgw rgw_crypt_sse_s3_vault_auth agent
    [ceph: root@host01 ~]# ceph config set client.rgw rgw_crypt_sse_s3_vault_addr http://vaultagent:8100

    1. 根据您的用例自定义策略,以设置 Vault 代理。
    2. 获取 role-id:

      语法

      vault read auth/approle/role/rgw-ap/role-id -format=json | \ jq -r .rgw-ap-role-id > PATH_TO_FILE

    3. 获取 secret-id:

      语法

      vault read auth/approle/role/rgw-ap/role-id -format=json | \ jq -r .rgw-ap-secret-id > PATH_TO_FILE

    4. 创建 Vault 代理的配置:

      示例

      pid_file = "/run/rgw-vault-agent-pid"
      auto_auth {
        method "AppRole" {
          mount_path = "auth/approle"
          config = {
            role_id_file_path ="/usr/local/etc/vault/.rgw-ap-role-id"
            secret_id_file_path ="/usr/local/etc/vault/.rgw-ap-secret-id"
            remove_secret_id_file_after_reading ="false"
          }
        }
      }
      cache {
        use_auto_auth_token = true
      }
      listener "tcp" {
        address = "127.0.0.1:8100"
        tls_disable = true
      }
      vault {
        address = "https://vaultserver:8200"
      }

    5. 使用 systemctl 运行持久性守护进程:

      示例

      [root@host01 ~]# /usr/local/bin/vault agent -config=/usr/local/etc/vault/rgw-agent.hcl

    6. 当 Vault 代理运行时,令牌文件填充有效令牌。
  4. 设置 Vault 机密引擎,用于检索加密密钥,可以是 Key/Value 或 Transit。

    1. 如果使用 Key/Value,请设置以下内容:

      示例

      [ceph: root@host01 /]# ceph config set client.rgw rgw_crypt_sse_s3_vault_secret_engine kv

    2. 如果使用 Transit,请设置以下内容:

      示例

      [ceph: root@host01 /]# ceph config set client.rgw rgw_crypt_sse_s3_vault_secret_engine transit

  5. 可选:配置 Ceph 对象网关以访问特定命名空间中的 Vault 以检索加密密钥:

    示例

    [ceph: root@host01 /]# ceph config set client.rgw rgw_crypt_sse_s3_vault_namespace company/testnamespace1

    注意

    Vault 命名空间允许团队在称为租户的隔离环境中操作。Vault 命名空间功能仅适用于 Vault Enterprise 版本。

  6. 可选:通过设置 URL 路径前缀来限制对 Vault secret 空间的特定子集的访问,其中 Ceph 对象网关从中检索加密密钥:

    1. 如果使用 Key/Value,请设置以下内容:

      示例

      [ceph: root@host01 /]# ceph config set client.rgw rgw_crypt_sse_s3_vault_prefix /v1/secret/data

    2. 如果使用 Transit,请设置以下内容:

      示例

      [ceph: root@host01 /]# ceph config set client.rgw rgw_crypt_sse_s3_vault_prefix /v1/transit

      假设 Vault 服务器的域名是 vaultserver,Ceph 对象网关将从以下 URL 获取加密的传输密钥:

      示例

      http://vaultserver:8200/v1/transit

  7. 可选: 要使用自定义 SSL 认证通过 Vault 进行身份验证,请配置以下设置:

    语法

    ceph config set client.rgw rgw_crypt_sse_s3_vault_verify_ssl true
    ceph config set client.rgw rgw_crypt_sse_s3_vault_ssl_cacert PATH_TO_CA_CERTIFICATE
    ceph config set client.rgw rgw_crypt_sse_s3_vault_ssl_clientcert PATH_TO_CLIENT_CERTIFICATE
    ceph config set client.rgw rgw_crypt_sse_s3_vault_ssl_clientkey PATH_TO_PRIVATE_KEY

    示例

    [ceph: root@host01 /]# ceph config set client.rgw rgw_crypt_sse_s3_vault_verify_ssl true
    [ceph: root@host01 /]# ceph config set client.rgw rgw_crypt_sse_s3_vault_ssl_cacert /etc/ceph/vault.ca
    [ceph: root@host01 /]# ceph config set client.rgw rgw_crypt_sse_s3_vault_ssl_clientcert /etc/ceph/vault.crt
    [ceph: root@host03 /]# ceph config set client.rgw rgw_crypt_sse_s3_vault_ssl_clientkey /etc/ceph/vault.key

  8. 重新启动 Ceph 对象网关守护进程。

    1. 在存储集群中的单个节点上重启 Ceph 对象网关:

      语法

      systemctl restart ceph-CLUSTER_ID@SERVICE_TYPE.ID.service

      示例

      [root@host01 ~]# systemctl restart ceph-c4b34c6f-8365-11ba-dc31-529020a7702d@rgw.realm.zone.host01.gwasto.service

    2. 在存储集群的所有节点上重启 Ceph 对象网关:

      语法

      ceph orch restart SERVICE_TYPE

      示例

      [ceph: root@host01 /]# ceph orch restart rgw

其它资源

  • 如需了解更多详细信息,请参阅 Red Hat Ceph Storage Object Gateway Guide 中的 Vault Secret engines 部分。
  • 如需了解更多详细信息,请参阅 Red Hat Ceph Storage 对象网关指南中的 Vault 身份验证 部分。

8.4.8. 使用 kv 引擎创建密钥

配置 HashiCorp Vault Key/Value secret 引擎(kv),以便您可以创建用于 Ceph 对象网关的密钥。secret 作为键值对存储在 kv 机密引擎中。

重要

服务器端 encyption 的密钥长度必须为 256 位,并使用 base64 进行编码。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 安装 HashiCorp Vault 软件。
  • 对 HashiCorp Vault 节点的根级别访问权限。

流程

  1. 启用 Key/Value 版本 2 secret 引擎:

    示例

    vault secrets enable -path secret kv-v2

  2. 创建新密钥:

    语法

    vault kv put secret/PROJECT_NAME/BUCKET_NAME key=$(openssl rand -base64 32)

    示例

    [root@vault ~]# vault kv put secret/myproject/mybucketkey key=$(openssl rand -base64 32)
    
    ====== Metadata ======
    Key              Value
    ---              -----
    created_time     2020-02-21T17:01:09.095824999Z
    deletion_time    n/a
    destroyed        false
    version          1

8.4.9. 使用传输引擎创建密钥

配置 HashiCorp Vault Transit 机密引擎(transit),以便您可以创建用于 Ceph 对象网关的密钥。使用 Transit secret 引擎创建密钥必须可以导出,才能使用 Ceph 对象网关进行服务器端加密。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 安装 HashiCorp Vault 软件。
  • 对 HashiCorp Vault 节点的根级别访问权限。

流程

  1. 启用 Transit secret 引擎:

    [root@vault ~]# vault secrets enable transit
  2. 创建新的可导出密钥:

    语法

    vault write -f transit/keys/BUCKET_NAME exportable=true

    示例

    [root@vault ~]# vault write -f transit/keys/mybucketkey exportable=true

    注意

    默认情况下,上述命令会创建一个 aes256-gcm96 类型密钥。

    1. 启用密钥轮转:

      语法

      vault write -f transit/keys/BUCKET_NAME/rotate exportable=true

      示例

      [root@vault ~]# vault write -f transit/keys/mybucketkey/rotate exportable=true

    2. 指定密钥轮转的持续时间:

      语法

      vault write -f transit/keys/BUCKET_NAME/config auto_rotate_period=DURATION

      示例

      [root@vault ~]# vault write -f transit/keys/mybucketkey/config auto_rotate_period=30d

      在本例中,30d 指定密钥在 30 天后轮转。要以小时为单位指定密钥轮转持续时间,请使用 auto_rotate_period=1h1H 指定密钥每 1 小时轮转一次。

    3. 通过确保 latest_version 值递增来验证密钥轮转是否成功:

      语法

      vault read transit/export/encryption-key/BUCKET_NAME

      示例

      [root@vault ~]# vault read transit/export/encryption-key/mybucketkey

  3. 验证密钥的创建:

    语法

    vault read transit/export/encryption-key/BUCKET_NAME/VERSION_NUMBER

    示例

    [root@vault ~]# vault read transit/export/encryption-key/mybucketkey/1
    
    Key     Value
    ---     -----
    keys    map[1:-gbTI9lNpqv/V/2lDcmH2Nq1xKn6FPDWarCmFM2aNsQ=]
    name    mybucketkey
    type    aes256-gcm96

    注意

    需要提供完整密钥路径,包括密钥版本。

8.4.10. 使用 AWS 和 Vault 上传对象

在上传对象到 Ceph 对象网关时,Ceph 对象网关将从 Vault 获取密钥,然后将对象加密并存储在 bucket 中。发出下载对象的请求时,Ceph 对象网关将自动从 Vault 检索对应的密钥并解密对象。若要上传对象,Ceph 对象网关从 Vault 获取密钥,然后加密对象并将其存储在 bucket 中。Ceph 对象网关从 Vault 检索对应的密钥,并在有下载对象的请求时解密对象。

注意

URL 使用基础地址(通过 rgw_crypt_vault_addr 选项和路径前缀设置)构建,该地址由 rgw_crypt_vault_prefix 选项设置。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 安装 Ceph 对象网关软件.
  • 安装 HashiCorp Vault 软件。
  • 访问 Ceph 对象网关客户端节点.
  • 访问 Amazon Web Services(AWS)。

流程

  1. 使用 AWS 命令行客户端上传对象,并在请求中提供安全交换加密(SSE)密钥 ID:

    1. 对于 Key/Value secret 引擎:

      示例(使用 SSE-KMS)

      [user@client ~]$ aws --endpoint=http://radosgw:8000 s3 cp plaintext.txt s3://mybucket/encrypted.txt --sse=aws:kms --sse-kms-key-id myproject/mybucketkey

      示例(使用 SSE-S3)

      [user@client ~]$ aws s3api --endpoint http://rgw_host:8080 put-object --bucket my-bucket --key obj1 --body test_file_to_upload --server-side-encryption AES256

      注意

      在示例中,Ceph 对象网关会从 http://vault-server:8200/v1/secret/data/myproject/mybucketkey获取 secret

    2. 对于 Transit 引擎:

      示例(使用 SSE-KMS)

      [user@client ~]$ aws --endpoint=http://radosgw:8000 s3 cp plaintext.txt s3://mybucket/encrypted.txt --sse=aws:kms --sse-kms-key-id mybucketkey

      示例(使用 SSE-S3)

      [user@client ~]$ aws s3api --endpoint http://rgw_host:8080 put-object --bucket my-bucket --key obj1 --body test_file_to_upload --server-side-encryption AES256

      注意

      在示例中,Ceph 对象网关会从 http://vaultserver:8200/v1/transit/mybucketkey获取 secret

其它资源

  • 如需更多信息,请参阅 Vault 项目站点上的 安装 Vault 文档。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.