Cloud Foundry 中的 CredHub 使用方法 | AI生成和翻译

Home 2026.01

Question: 如何在 Cloud Foundry 中使用 CredHub?

Answer:

CredHub 是许多 Cloud Foundry 部署(特别是 Tanzu Application Service / VMware Tanzu Platform, PAS, PCF)中的集中化 secrets management 组件。它安全地存储和管理 credentials,例如 passwords, certificates, keys, JSON blobs 等。

开发者与 CredHub 交互主要有两种方式:

  1. 间接方式 (推荐大多数应用使用) — 通过 CredHub Service Broker(创建/绑定 service instances,通过 VCAP_SERVICES 向应用交付 secrets,而不会在 cf env 中泄露它们)。
  2. 直接方式 — 使用 CredHub CLI 或 API(适用于管理员、自动化或高级用例)。

1. 通过 Service Broker 使用 CredHub (最常用的应用程序方案)

在安装了 CredHub Service Broker 的环境中(在 Tanzu Application Service 中很常见),请按照以下步骤操作:

2. 使用 CredHub CLI (直接访问 – 管理 / 调试 / 脚本)

安装 CredHub CLI:

# macOS (Homebrew)
brew install cloudfoundry/tap/credhub-cli

# 或从 https://github.com/cloudfoundry-incubator/credhub-cli/releases 下载二进制文件

身份验证(指向你的 CredHub 实例):

# 通常由你的平台团队提供(通常与 cf login 的 UAA 相同)
credhub login --client-id <uaa-client-id> --client-secret <uaa-client-secret>
# 或者使用 cf oauth-token 作为 bearer
credhub api https://credhub.service.cf.internal:8844   # 内部 URL (从 CF 内部访问)
credhub login --token "$(cf oauth-token | cut -d' ' -f2)"

常用命令:

# 设置一个简单的 value
credhub set -n /my-org/my-app/api-key -t value -v "sk_live_xyz123"

# 生成一个随机 password
credhub generate -n /my-org/my-app/db-pass -t password -l 32

# 生成一个 certificate
credhub generate -n /my-org/my-app/cert -t certificate \
  --common-name myapp.example.com --alternative-names "*.example.com"

# 获取一个 credential
credhub get -n /my-org/my-app/api-key

# 查找 credentials
credhub find -p /my-org/my-app/

# 删除
credhub delete -n /my-org/my-app/old-key

快速比较:User-Provided vs CredHub

特性 User-Provided Service (cf cups) CredHub (通过 Broker 或直接访问)
cf env 中的可见性 已遮蔽 (大部分) 仅显示引用或已插值
Rotation 支持 手动 内置 regeneration
中央审计 (Central auditing)
生成能力 (passwords, certs)
最适用于 简单的非企业级设置 企业级、合规性要求

咨询你的平台运维人员:

参考资料:


Back

x-ai/grok-4.1-fast

Donate