本文为 SPIRE 官方文档 plugin_server_bundlepublisher_aws_rolesanywhere_trustanchor 的中文译本,以英文原文为准。 🔗 穿越源码分析:Server 详解 · BundlePublisher
Server 插件:BundlePublisher "aws_rolesanywhere_trustanchor"
WARNING
AWS Roles Anywhere 每个 trust anchor 最多只允许配置两个 CA。如果你使用该插件,需要 确保该信任域(trust domain)的信任包(trust bundle)中最多只有 2 个 CA,否则发布信任包 将会失败。这可以通过为 spire-server 配置 UpstreamAuthority 插件来实现。 此外请注意,已过期的 CA 只有在过期 24 小时之后才会从信任包中移除。
aws_rolesanywhere_trustanchor 插件将 server 当前的信任包(trust bundle)存入一个 trust anchor,并保持其持续更新。
该插件接受以下配置选项:
| 配置项 | 说明 | 是否必填 | 默认值 |
|---|---|---|---|
| access_key_id | AWS 访问密钥 ID(access key id)。 | 仅当环境中未通过其他方式设置 AWS 凭据时必填。 | AWS_ACCESS_KEY_ID 环境变量的值。 |
| secret_access_key | AWS 私密访问密钥(secret access key)。 | 仅当环境中未通过其他方式设置 AWS 凭据时必填。 | AWS_SECRET_ACCESS_KEY 环境变量的值。 |
| region | 用于存储信任包的 AWS 区域。 | 是。 | |
| trust_anchor_id | 信任包要存入的 AWS IAM Roles Anywhere trust anchor 的 id。 | 是。 |
AWS IAM 权限
由所配置凭据标识的用户需要具备 rolesanywhere:UpdateTrustAnchor 权限。
示例配置
以下配置将本地信任包内容放入 spire-trust-anchor trust anchor 并保持其持续更新。AWS 凭据从环境中获取。
hcl
BundlePublisher "aws_rolesanywhere_trustanchor" {
plugin_data {
region = "us-east-1"
trust_anchor_id = "153d3e58-cab5-4a59-a0a1-3febad2937c4"
}
}