本文为 SPIRE 官方文档 plugin_server_notifier_gcs_bundle 的中文译本,以英文原文为准。 🔗 穿越源码分析:Server 详解 · Notifier
Server 插件:Notifier "gcs_bundle"
gcs_bundle 插件会在证书包加载/更新事件(bundle loaded/updated)发生时作出响应,从信任包(trust bundle)中获取最新的根 CA 证书,并将其推送到 Google Cloud Storage 中的某个对象(object)。
该对象中的证书可用于引导(bootstrap)SPIRE agent。
该插件接受以下配置选项:
| 配置项 | 说明 | 默认值 |
|---|---|---|
bucket | 存放对象的存储桶(bucket) | |
object_path | 对象在存储桶内的路径 | |
service_account_file | 服务账号(service account)凭据文件的路径 |
通过 Google Cloud Storage 进行认证
该插件使用 Google Cloud 认证文档中描述的机制与 Google Cloud Storage 进行认证。具体而言,服务账号凭据既可以通过 service_account_file 配置的文件路径获取,也可以由插件使用 SPIRE server 运行环境中可用的应用默认凭据(Application Default Credentials)。
示例配置
通过应用默认凭据(Application Default Credentials)认证
以下配置将证书包内容上传到 my-bucket 存储桶中的 spire-bundle.pem 对象。上传使用 SPIRE server 运行环境中可用的应用默认凭据。
hcl
Notifier "gcs_bundle" {
plugin_data {
bucket = "my-bucket"
object_path = "spire-bundle.pem"
}
}通过显式指定的服务账号凭据认证
以下配置将证书包内容上传到 my-bucket 存储桶中的 spire-bundle.pem 对象。上传使用 /path/to/service/account/file 文件中的服务账号凭据。
hcl
Notifier "gcs_bundle" {
plugin_data {
bucket = "my-bucket"
object_path = "spire-bundle.pem"
service_account_file = "/path/to/service/account/file"
}
}