SPIRE
v1.16.0Security実験的な機能や外部連携の追加に加え、既存の設定や動作に影響する変更、削除、非推奨化を含むリリースです。広範な正確性と性能の改善も含まれています。
影響確認 (6)
securityコンテナロケーターの
mountinfo fallbackを削除dockerまたはk8sワークロードアテスターを使用している場合に適用されます。コンテナロケーターから
mountinfo fallbackが削除されました。偽造できる情報を利用していたためです。breakingエージェント SPIFFE ID の配置要件を変更
外部プラグインを使用しているか、
agent_path_templateを設定している場合に適用されます。エージェントの SPIFFE ID は
/spire/agent配下に置く必要があります。これ以外の ID を生成するアテステーションは、実験的設定allow_nonconforming_agent_idsを設定しない限り失敗します。breakingルートレス Podman のアテステーションにオプションが必要
ルートレス Podman で
dockerワークロードアテスターを使い、use_rootless_podmanを設定していない場合に適用されます。ルートレス Podman のワークロードアテステーションでは、
dockerワークロードアテスターにuse_rootless_podmanオプションを設定する必要があります。breakingBroker API による JWT-SVID の提供を終了
管理用エントリーまたは下流エントリーで Broker API を使用している場合に適用されます。
Broker API は、管理用エントリーや下流エントリーに対して JWT-SVID を提供しなくなりました。
breaking
ca_journalsにjournal_id列を追加disable_migrationを設定している場合に適用されます。sqlデータストアのca_journalsテーブルに、将来の利用に備えたjournal_id列が追加されます。disable_migrationを設定しているデプロイでは、このスキーマ移行への対応が必要です。breaking
use_sync_authorized_entriesを削除use_sync_authorized_entriesを設定している場合に適用されます。エージェントオプション
use_sync_authorized_entriesが削除されました。
事前準備 (2)
deprecated
Notifier pluginsを非推奨化Notifier プラグインを使用している場合に適用されます。
Notifier pluginsは非推奨となり、BundlePublisher pluginsが代替として扱われます。deprecatedOIDC Discovery Provider の証明書設定を整理
acmeまたはserving_cert_fileを設定している場合に適用されます。OIDC Discovery Provider の
acmeセクションとserving_cert_fileセクションは非推奨となり、serving_cert_sourceが代替になります。
その他の記録済み変更 40 件すべてadditions 18 · fixes 13 · value changes 6 · constraints 2 · defaults 1
additions (18)
- Experimental WIT-SVID support, enabled with the
enable_wit_svidsserver and agent options, including Workload API methods, aspire-agent api fetch witCLI command, an agent-side WIT-SVID cache, per-entry and default (default_wit_svid_ttl) WIT-SVID TTLs, and publishing of WIT signing keys through thespireUpstreamAuthority plugin (#7243, #7244, #7273, #7282, #7302, #7306, #7354) kmipKeyManager plugin for storing keys in KMIP-compliant servers (#7235)- Microsoft Entra ID authentication for Azure PostgreSQL and MySQL in the
sqldatastore (#7279) - In-process log file rotation via the
log_file_rotationagent and server option (#7229) - Support for triggering a log file reopen on Windows, and external tools can now move or delete the log file on Windows (#7248, #7269)
- Experimental
use_xdsagent option to resolve the SPIRE server via xDS (#7256) - Experimental
server_load_balancing_configagent option to configure the load balancing policy used for connections to the server (#7241) - Experimental agent options to configure the sync retry backoff (
sync_retry_backoff),rpc_timeoutandmax_bundle_workers(#7093, #7286) bootstrap_bundle_pathoption onfederates_withto bootstraphttps_spiffefederation trust from a file (#7260)serving_cert_sourcesection in the OIDC Discovery Provider, including aworkload_apivariant that serves HTTPS using an X509-SVID from the Workload API (#7285)audit_log_exclude_agent_syncserver option to omit successful bundle and authorized-entry read audit records (#7328)group_templateandallowed_groupsoptions in thex509popnode attestor to produce group selectors (#7002)extension_oidsoption in thex509popnode attestor to expose certificate extensions as selectors (#7327)- Subject attribute selectors by OID in the
tpm_devidnode attestor (#7312) - Optional
verify_client_ipin thesshpopandhttp_challengenode attestors (#7191, #7240) trust_bundle_pathoption in theazure_imdsnode attestor for additional root CAs (#7143)exclude_completed_podsoption in thek8sworkload attestor to drop completed pods from the kubelet cache (#7177)- CA rotation horizon metrics (#7325)
fixes (13)
- The agent retries
NewJWTSVIDwith backoff on transient errors (#7169) - Cached SVIDs are invalidated when their registration entry changes substantially, preventing workloads from receiving SVIDs issued for a different entry (#7310)
- LRU cache subscribers now match on complete selector sets (#7257)
aws_secretsmanagerandgcp_secretmanagerSVIDStore plugins now handle federated bundles with multiple or no roots (#7309)- The server keeps processing bundle updates after a single failure (#7319)
- Bundle subscribers are notified when a bundle is removed (#7331)
- The OIDC Discovery Provider now allows CORS (#7224)
- The rotator failure count is reset after a successful rotation (#7254)
log_fileis no longer opened when validating configuration (#7247)- The agent and server no longer exit as crashed on gRPC context canceled errors during startup (#7274)
- No more spurious warning on profiling server shutdown (#7211)
- The server CA now honors upstream X.509 chain expiry during rotation (#7303)
- The agent no longer panics during workload attestation when sigstore verification meets a signature that has a Rekor entry but no Rekor bundle (#7363)
value changes (6)
- The
cache_manager/expiring_svidsandcache_manager/outdated_svidssamples now carry ansvid_typelabel (X509orWIT), so counts are reported per SVID type (#7244) - DNS names are case-folded before IDNA validation (#7255)
- Reduced database load for entry writes, attested node cache rebuilds and agent authorization (#7182, #7218, #7304)
- Reduced memory usage when fetching kubelet pod lists (#7320)
- Fulcio roots are now loaded through sigstore-go TUF APIs, honoring
TUF_ROOTandSIGSTORE_NO_CACHE(#7263) - Updated Go to 1.27.3 (#7252, #7267, #7346, #7353)
constraints (2)
- The
k8s_psatnode attestor now rejects attestations when the fetched pod UID does not match the token's pod UID (#7117) - Pagination tokens larger than 32 bits are now accepted by the datastore (#7201)
defaults (1)
- The
k8sworkload attestor broker configuration now applies sensible defaults, so brokers no longer need to be specified twice (#7187)
対応が必要なリリースが出たときに、週次メールでお知らせします。 今回のセキュリティパッチと破壊的変更も、その一例です。