awskms

package
v1.15.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2026 License: Apache-2.0 Imports: 41 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuiltIn

func BuiltIn() catalog.BuiltIn

Types

type Config

type Config struct {
	AccessKeyID        string            `hcl:"access_key_id" json:"access_key_id"`
	SecretAccessKey    string            `hcl:"secret_access_key" json:"secret_access_key"`
	Region             string            `hcl:"region" json:"region"`
	KeyIdentifierFile  string            `hcl:"key_identifier_file" json:"key_identifier_file"`
	KeyIdentifierValue string            `hcl:"key_identifier_value" json:"key_identifier_value"`
	KeyPolicyFile      string            `hcl:"key_policy_file" json:"key_policy_file"`
	KeyTags            map[string]string `hcl:"key_tags" json:"key_tags"`

	// EnableTagBasedKeyDiscovery enables the use of AWS Resource Groups Tagging API
	// for efficient key discovery instead of the legacy alias-based approach.
	// When enabled, keys are discovered using SPIRE-specific tags (spire-server-td,
	// spire-server-id, spire-active).
	// This eliminates the need for broad ListKeys + DescribeKey permissions and reduces API costs.
	//
	// Default: false (uses legacy alias-based discovery)
	// In a future SPIRE version, this will default to true. The alias-based
	// approach will be deprecated in a future version and removed in a later one.
	//
	// Note: When enabled, the plugin requires the tag:GetResources IAM
	// permission (from the AWS Resource Groups Tagging API).
	EnableTagBasedKeyDiscovery bool `hcl:"enable_tag_based_key_discovery" json:"enable_tag_based_key_discovery"`
}

Config provides configuration context for the plugin

type Plugin

type Plugin struct {
	keymanagerv1.UnsafeKeyManagerServer
	configv1.UnsafeConfigServer
	// contains filtered or unexported fields
}

Plugin is the main representation of this keymanager plugin

func New

func New() *Plugin

New returns an instantiated plugin

func (*Plugin) Configure

Configure sets up the plugin

func (*Plugin) GenerateKey

GenerateKey creates a key in KMS. If a key already exists in the local storage, it is updated.

func (*Plugin) GetPublicKey

GetPublicKey returns the public key for a given key

func (*Plugin) GetPublicKeys

GetPublicKeys return the publicKey for all the keys

func (*Plugin) SetLogger

func (p *Plugin) SetLogger(log hclog.Logger)

SetLogger sets a logger

func (*Plugin) SignData

SignData creates a digital signature for the data to be signed

func (*Plugin) Validate added in v1.11.0

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL