引用 AWS Secrets Manager 中的密钥
AWS Secrets Manager 是一项完全托管的服务,你可以将其与 API7 企业版集成,以安全地存储、管理和检索敏感信息,例如 API 密钥、密码和其他类型的凭据。它允许自动轮换密钥,降低了凭证随时间推移而泄露的风险。
本教程演示了如何将 API7 企业版与 AWS Secrets Manager 集成,使你能够安全地存储和引用消费者凭证及插件配置。
下面是一个交互式演示,提供了将 API7 企业版与 AWS Secrets Manager 集成存储和检索 key-auth 密钥的动手实践。
前置条件
- 安装 API7 企业版。
- 在你的网关组中至少有一个网关实例。
- 拥有一个 AWS 账户以访问 IAM 和 Secrets Manager 模块。
获取 IAM Access Key ID 和 Secret Access Key
获取 IAM 用户访问密钥 (Access Key ID) 和秘密访问密钥 (Secret Access Key),它们将在下一步中配置在 API7 企业版中,以便访问 AWS Secrets Manager。
备注
请确保为用户正确分配了适当的权限,以避免因权限不足而导致验证失败。
在网关组中添加密钥提供商
- Dashboard
- ADC
- Ingress Controller
- 从侧边导航栏选择你的网关组下的 Secret 提供商,然后点击 新增 Secret 提供商。
- 在弹出的对话框中,执行以下操作:
- 在 Secret 提供商 ID 字段中,输入
my-secrets-manager。 - 在 Secret 管理服务 字段中,选择
AWS Secrets Manager。 - 选择你的 AWS Secrets Manager 服务的区域。例如,
us-east-1。 - 将上一步骤获取的访问密钥和秘密访问密钥填入 Access Key ID 和 Secret Access Key 字段。
- 点击 新增。
- 复制 Secret 变量以供将来引用。所有密钥引用均由此生成,例如:
$secret://aws/my-secrets-manager/$secret_name/$key。
不适用。
API7 Ingress Controller 目前不支持密钥提供商。
引用 SSL 证书的密钥
SSL 证书对象中的敏感字段 certificate 和 private key 可以安全地存储在外部密钥管理器(例如 HashiCorp Vault 或 AWS Secret 管理服务)中,并在 API7 网关中引用。